JVM
程序员小金
这个作者很懒,什么都没留下…
展开
-
Java内存模型和内存屏障
存储器层器结构Java并发内存模型每个线程都有各自的工作内存,对变量的一系类操作都是在工作内存中完成。假设主内存变量x原始值为1,线程1从主内存取出变量x,修改x的值为2,在线程1未将变量x写回主内存的时候,线程2拿到变量x的值仍然为1,这样就产生了数据不一致问题。怎样保存数据一致性?缓存锁 + 总线锁Intel CPU实现缓存锁采用的是MESI协议:当读取标记为Invalid状态的缓存行内容时,读取失效,需要强制从主存中读取;特殊情况,有些无法被缓存的数据或跨越多个缓存行的数据,依然需要使原创 2020-09-04 23:59:05 · 183 阅读 · 0 评论 -
JVM Class加载过程详解
类加载过程JVM会通过加载、连接、初始化3个步骤来对该类进行初始化类加载器类加载器可以分为4种:启动类加载器,拓展类加载器,应用类加载器,自定义类加载器做个简单demo测试:System.out.println(String.class.getClassLoader());System.out.println(sun.net.spi.nameservice.dns.DNSNameService.class.getClassLoader());//ext包下面的类System.out.pri原创 2020-09-03 17:07:23 · 296 阅读 · 0 评论