logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【JUC】线程

创建线程对象NEW调用 start()抢到 CPURUNNABLE -> 运行中但是 Java 中仍然显示为 RUNNABLE等待 synchronized 锁调用 wait/join/park调用 sleep/wait(time)/join(time)run 方法执行结束面试中可以这样回答:Java 线程在 Thread.State 中定义了六种状态,分别是 NEW、RUNNABLE、BLOCK

#jvm
【JUC】线程池

它通过核心线程数、最大线程数、阻塞队列、线程工厂和拒绝策略等参数来控制任务执行流程。核心线程数和最大线程数的设置需要结合任务类型。CPU 密集型任务一般设置为 CPU 核数加一,I/O 密集型任务可以设置得更大,比如两倍 CPU 核数,但这些只是参考值,最终还是要结合压测和线上监控来调优。后续有任务提交时,不是每次都创建新线程,而是把任务交给线程池中的线程去执行。只要当前线程数小于核心线程数,有新

#jvm
【JUC】volatile的使用

可以这么记:volatile 写之前的操作,不允许重排到 volatile 写之后;volatile 读之后的操作,不允许重排到 volatile 读之前。普通写volatile 写volatile 读普通读这两个顺序会被保护住。volatile 可以保证一定的读写顺序,但不是保证所有操作都严格按代码顺序执行。

#jvm
【JUC】原子类

你这段对的理解整体是对的,核心就是:原子类 = JUC 提供的一组基于 CAS 的线程安全变量操作工具,适合做简单共享变量的原子更新。我帮你把几个重点再理顺一下。

#java#开发语言
【JUC】线程安全

你可以这样记:线程安全问题的根源是:多个线程并发访问共享数据,并且至少有一个线程在修改数据。只读一般不会有线程安全问题。多个线程同时读一个变量通常没问题。一个线程写,另一个线程读多个线程同时写就可能有问题。i++线程不安全,是因为它不是一个原子操作,而是由“读取、计算、写回”多个步骤组成。线程切换可能发生在这些步骤之间,导致多个线程基于同一个旧值计算,最终出现数据丢失。一句话总结:线程安全的本质,

#安全#java#算法
【JUC】Unsafe

Unsafe 是 Java 提供给 JDK 底层使用的“后门工具类”,它可以直接操作内存、对象字段、线程和 CPU 原子指令。Atomic 原子类的 CAS、AQS 的线程阻塞唤醒等,底层都和 Unsafe 有关系。但它绕过了 JVM 的安全机制,所以功能强大但非常危险。AQS 全称是Java JUC 包里用来实现锁和同步器的底层框架。Semaphore。

#jvm
【Mysql】B+树索引

id 是主键age 是二级索引第一步:去 age 二级索引树中查 age = 1查到叶子节点,得到 id第二步:拿这个 id 去主键索引树中查找到整行记录,拿到 name回表因为它从二级索引树,又“回到”主键索引树查完整数据。二级索引树 → 主键值 → 主键索引树 → 整行数据回表会增加查询成本,所以能避免就尽量避免。age是二级索引。id 和 age而ageage + id所以不需要再去主键索引

#mysql#b树#数据库
【Mysql】日志(RedoLog、UndoLog、BinLog)

UndoLog:事务执行失败,我要回滚。RedoLog:事务提交成功,崩溃后我要恢复。BinLog:数据库发生变化,我要备份和同步。UndoLog 保证原子性。RedoLog 保证持久性。BinLog 用于复制和恢复。

#mysql#adb#android
【Mysql】执行计划的分析

执行计划就是 MySQL 对 SQL 的执行方案说明。type:访问方式,判断性能好坏key:实际使用的索引rows:预计扫描行数Extra:额外执行信息type = ALLkey = NULLrows 很大key 有值rows 较小一句话总结:执行计划就是用来判断 SQL 有没有正确使用索引、扫描数据量大不大、有没有额外排序或临时表,从而帮助我们定位 SQL 性能问题。

#mysql#android#adb
【Mysql】执行计划的分析---Type本质

type本质看的是:MySQL 访问这张表的方式。where / join 条件决定 MySQL 能不能快速定位数据,所以主要影响 type。select 后面的字段决定 MySQL 要取哪些列,如果这些列都在索引里,MySQL 可能只扫描索引,所以有时也会影响 type。where 决定怎么找;select 决定找完以后取什么;type 反映最终怎么访问表。主键等值查询 -> const唯一索引

#mysql#android#adb
    共 23 条
  • 1
  • 2
  • 3
  • 请选择