
jvm
文章平均质量分 67
一些关于jvm的分享
一切还来得及
日常的平淡,会杀灭一个人所有的志气!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
手写ReentarntLock
自定义reetrantlock方便理解原创 2022-01-24 16:21:16 · 210 阅读 · 0 评论 -
线程操作原子性
原子性 违反原子性示例 public class Counter{ volatile int i=0; public void add(){ i++; } public static void main (String[]args)throws InterruptedExcetion{ final Counter ct=new Counter(); for(int i=0;i<6;i++){ ne原创 2022-01-16 17:50:19 · 170 阅读 · 0 评论 -
CPU高速缓存与JMM
yCPU高速缓存 为了解决CPU越来越快的运行速度与相对较慢的主存访问速度的矛盾。CPU中的寄存器数量有限,在执行内存寻址指令时,经常需要从内存中读取指令所需的数据或是将寄存器中的数据写回内存。引入高速缓存后,CPU在需要访问主存中某一地址空间时,高速缓存会拦截所有对于内存的访问,并判断所需数据是否已经存在于高速缓存中。如果缓存命中,则直接将高速缓存中的数据交给CPU;如果缓存未命中,则进行常规的主存访问,获取数据交给CPU的同时也将数据存入高速缓存。 缓存一致性 在多核CPU的架构下,通常每一个核心都拥有原创 2022-01-16 17:48:24 · 490 阅读 · 0 评论 -
详细介绍Java虚拟机(JVM)
1. JVM生命周期 启动。启动一个Java程序时,一个JVM实例就产生了,任何一个拥有public static void main(String[] args)函数的class都可以作为JVM实例运行的起点。 运行。main()作为该程序初始线程的起点,任何其他线程均由该线程启动。 消亡。当程序中的所有非守护线程都终止时,JVM才退出;若安全管理器允许,程序也可以使用Runtime类或者...转载 2018-11-13 15:22:38 · 145 阅读 · 0 评论