JVM
Huglight
这个作者很懒,什么都没留下…
展开
-
Java中CAS和synchronized多线程耗时对比测试
设置线程数为1000个,选取操作为自增,代码如下package suanfa;import java.util.concurrent.atomic.AtomicInteger;public class Main { static AtomicInteger casCur = new AtomicInteger(0); static Integer syncCur = 0; public static void main(String[] args) { i原创 2020-10-06 23:07:41 · 402 阅读 · 0 评论 -
Java虚拟机(一)Java内存区域
程序计数器是线程私有的一块小的内存区域,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器完成。执行普通Java方法时记录的是正在执行的虚拟机字节码指令的地址;执行Native方法时计数器值为空。此内存区域在Java虚拟机规范中没有规定任何OOM异常情况。Java虚拟机栈也是线程私有的,它的生命周期和线程相同。每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作...原创 2019-07-24 22:40:35 · 87 阅读 · 0 评论 -
Java虚拟机(二)垃圾收集
判断对象是否存活引用计数算法给对象中添加一个引用计数器,每有一个地方引用它时,计数器值加1;当引用失效时,计数器值减1;任何时刻计数器值为0表示对象不能再被使用。该算法实现简单,判定效率高,大部分情况下都是一个不错的算法。但它很难解决对象间相互引用的问题。public class ReferenceCountingGC { public Object instance = null; ...原创 2019-07-30 10:27:56 · 149 阅读 · 0 评论