https://www.cnblogs.com/yydcdut/p/3959711.html ...
分类:
编程语言 时间:
2017-12-14 14:49:32
阅读次数:
96
引入垃圾回收 哪些内存需要回收? 引用计数法 可达性分析 如何回收 Marking 标记 Normal Deletion 清除 Deletion with Compacting 压缩 为什么需要分代收集? JVM的分代 新生代 老年代 永久代 分代垃圾收集过程详述 引入垃圾回收 程序计数器、 虚拟机 ...
分类:
编程语言 时间:
2017-12-13 17:24:24
阅读次数:
157
除直接调用System.gc外,触发Full GC执行的情况有如下四种: 1.老年代空间不足 老年代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足现象,当执行Full GC后空间仍然不足,则抛出 java.lang.OutOfMemoryError:Java heap space 1. ...
分类:
其他好文 时间:
2017-12-12 17:29:39
阅读次数:
207
JDK1.7 JVM的垃圾收集算法有 1. 标记-清除算法; 2. 复制算法;在商业虚拟机都是使用这种算法来回收新生代的 3. 标记-整理算法; JDK1.7 JVM的垃圾收集器有 1. Serial收集器 -- 复制算法 2. parNew收集器 -- 复制算法 3. parallel scave ...
分类:
其他好文 时间:
2017-12-05 20:06:12
阅读次数:
182
JVM内存组成结构: (1)堆 所有通过new创建的对象都是在堆中分配内存,其大小可以通过-Xmx和-Xms来控制,堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区。Survivor被划分为from space 和 to space组成,结构图如下: (2)栈 每个线程 ...
分类:
编程语言 时间:
2017-11-20 01:13:52
阅读次数:
248
概括: Serial收集器:用于新生代,采用复制算法,单线程收集器,它在垃圾收集时,必须暂停其他所有的工作线程。 是虚拟机运行在Client模式下的默认新生代收集器。优点:简单高效。 ParNew收集器:用于新生代,采用复制算法,Serial的多线程版本,是在Server模式下的虚拟机中的首选新生代 ...
分类:
其他好文 时间:
2017-11-13 13:44:32
阅读次数:
199
内存分配与回收策略 对象的内存分配,往大方向讲,就是在堆上分配(但也可能经过JIT编译后被拆散为标量类型并间接在栈上分配),对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将线程优先在TLAB上分配,少数情况下也可能直接分配在老年代中。 对象优先在Eden分配 大多数情况下,对象在新 ...
分类:
其他好文 时间:
2017-11-11 22:18:06
阅读次数:
119
jvm 的内存包括stack ,Heap,NonHeap,在此重点说明Heap,NonHeap。 Heap叫堆内存,它用于存放类实例和数组信息。NonHeap叫非堆内存,用于存放类,方法等可反射的对象以及类静态变量,常量池等。 Heap包含年轻态,年老态。NonHeap包含永久态。年轻态包含1个ed ...
分类:
其他好文 时间:
2017-10-18 18:20:44
阅读次数:
137
jvm内存模型如下图 垃圾回收: 方法区: 这部分的垃圾回收性价比低,一般不要求回收,暂认为是永久代 heap:新生代和永久代之分。永久代主要回收废弃常量和无用的类。 垃圾回收算法: 1. 标记-清除算法 标记判断: a) 该类所有实例都已经被回收,也就是heap中,不存在该类任何实例。 b) 加载 ...
分类:
其他好文 时间:
2017-10-11 21:50:37
阅读次数:
147
Spring AOP实现的3种方式--注意,每种的xml是如何配置的! http://blog.csdn.net/zhangliangzi/article/details/52334964 JVM内存模型以及堆分配参数 --要注意,JVM参数 设置新生代大小、永久区大小、栈的大小 ...
分类:
其他好文 时间:
2017-10-08 10:13:35
阅读次数:
134