Java
文章平均质量分 94
与你久处不厌
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java代码的执行过程
初始化阶段是虚拟机执行类构造器。原创 2024-07-18 00:14:27 · 3076 阅读 · 0 评论 -
全面整理Java多线程
无论如何,一个线程的中断状态有有可能被其它线程调用中断来改变。当线程池中有任务需要执行时,线程池会判断如果线程数量没有超过核心数量就会新建线程池进行任务执行,如果线程池中的线程数量已经超过核心线程数,这时候任务就会被放入任务队列中排队等待执行;线程池中的核心线程数,默认情况下核心线程一直存活在线程池中,如果将 ThreadPoolExecutor 的 allowCoreThreadTimeOut 属性设为 true,如果线程池一直闲置并超过了 keepAliveTime 所指定的时间,核心线程就会被终止。原创 2024-07-16 11:45:39 · 1998 阅读 · 0 评论 -
深入理解 synchronized 锁
重量级锁是指当锁为轻量级锁的时候,另一个线程虽然是自旋,但自旋不会—直持续下去,当自旋—定次数(默认为10)的时候,还没有获取到锁,就会进入阻塞,该锁膨胀为重量级锁。对象锁进入重量级状态后,将采用monitor的方式加锁和释放锁。偏向锁会永远偏向第一个获得锁的线程,如果后续没有其他线程获得过这个锁,持有锁的线程就永远不需要进行同步,反之,当有其他线程竞争偏向锁时,持有偏向锁的线程就会释放偏向锁。简单来说,偏向锁只有遇到其他线程尝试竞争偏向锁时,持有偏向锁的线程才会释放锁,线程不会主动去释放偏向锁。原创 2024-07-15 23:05:54 · 804 阅读 · 0 评论
分享