
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 · 479 阅读 · 0 评论 -
Java虚拟机(一)Java内存区域
程序计数器 是线程私有的一块小的内存区域,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器完成。执行普通Java方法时记录的是正在执行的虚拟机字节码指令的地址;执行Native方法时计数器值为空。此内存区域在Java虚拟机规范中没有规定任何OOM异常情况。 Java虚拟机栈 也是线程私有的,它的生命周期和线程相同。每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作...原创 2019-07-24 22:40:35 · 112 阅读 · 0 评论 -
Java虚拟机(二)垃圾收集
判断对象是否存活 引用计数算法 给对象中添加一个引用计数器,每有一个地方引用它时,计数器值加1;当引用失效时,计数器值减1;任何时刻计数器值为0表示对象不能再被使用。 该算法实现简单,判定效率高,大部分情况下都是一个不错的算法。但它很难解决对象间相互引用的问题。 public class ReferenceCountingGC { public Object instance = null; ...原创 2019-07-30 10:27:56 · 202 阅读 · 0 评论