
JVM
Neil Parker
一句道友尽沧桑
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java垃圾收集器
堆中几乎存放着Java世界中所有的对象实例,垃圾收集器在对堆进行回收前首先要确定哪些对象还活着,哪些对象已经死去。1,判断对象是否已死1.1引用计数算法给对象中添加一个引用计数器,每当有一个地方引用它时,计数器就加1,当引用失效时,计数器就减1;任何时刻计数器都为0的对象是不可能在被使用的。引用计数算法无法对象之间循环引用的问题。1.2 根搜索算法通过一系列名为“GC Roots”的对象作为起始点...原创 2018-03-18 22:50:20 · 3727 阅读 · 1 评论 -
Java内存模型:volatile关键字深度解析
volatile关键字保证1.可见性和2.一定的有序性,不保证原子性。 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与...原创 2018-03-07 18:24:47 · 334 阅读 · 0 评论 -
java内存分配策略
JVM采用分代的垃圾回收策略:不同对象的生命周期是不一样的。目前JVM分代主要是分三个年代:新生代:所有新创建的对象都首先在新生代进行内存分配。新生代具体又分为3个区,一个Eden区、一个From Survivor区和一个To Sruvivor区。大部分对象都被分配在Eden区,当Eden区满时,还存活的对象将被复制到From Survivor区,当From Survivor区满时,此区还存活的对...原创 2018-03-19 17:21:06 · 1414 阅读 · 1 评论