JAVA-虚拟机学习
Lonie233
我是个菜!!!!
展开
-
深入理解JAVA虚拟机笔记-05
内存分配回收策略 对象优先在Eden分配 大多数情况下,对象在新生代Eden中进行分配,当Eden中没有足够的空间时,进行一次Minor GC(发生在新生代的GC),GC后,若新生代空间足够,进行分配,不够,则通过分配担保机制转移到老年代中 大对象直接进入老年代 大对象(需要大量连续内存空间的对象) 长期存活的对象将进入老年代 给予分代思想,survivor中的对象每经过一次Minor GC,原创 2015-07-27 20:05:28 · 343 阅读 · 0 评论 -
深入理解 java 虚拟机笔记 -01
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2015-07-14 21:47:29 · 346 阅读 · 0 评论 -
深入理解JAVA虚拟机笔记 - 02
垃圾收集器篇之垃圾确定方法java自带垃圾收集功能,动态控制内存,废话少说,进入正题 首先明确 垃圾回收回收的实哪部分的内存:“程序计数器,虚拟机栈、本地方法栈3个区域的随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出执行进栈出栈,每一个栈帧中分配多少内存基本是在类结构确定下来时就已知的,因此这几个区域的分配和回收都具有确定性,不需要过多考虑。而Java堆和方法区就不一样了,一个接口中的多个原创 2015-07-20 20:55:08 · 349 阅读 · 0 评论 -
深入理解JAVA虚拟机笔记 - 03
垃圾收集器篇之垃圾收集算法01 标记-清除算法标记出所有需要回收的对象(标记方法参照前篇) 回收所有被标记的对象 主要问题效率问题(标记和清除两个过程的效率都不高(不明觉厉)) 产生大量不连续的内存碎片空间(会导致以后分配较大对象时内存空间不足)复制算法(现代商业虚拟机都采用这种收集算法来回收新生代) 基础版 将内存分为两块,每次使用其中一块,当需要回收被使用的内存时,将目前还存活的对象复制到未原创 2015-07-22 21:23:49 · 380 阅读 · 0 评论 -
深入理解JAVA虚拟机笔记 - 04
垃圾收集器简介 Serial收集器 最基本的,最悠久的 单线程的:该收集器进行垃圾收集时,必须暂停其他所有工作线程,知道它收集结束(引用原话:你妈妈再给你打扫房间的时候,也会让你老老实实的在一边待着。真的是很形象) 缺点:在用户不可见的情况下把用户正常的工作线程停掉,难以接受 优点:简单高效(个人:粗暴) ParNewSerial的多线程版本 缺点:单CPU下并不会超过Serial(一个cpu貌似原创 2015-07-23 21:38:44 · 357 阅读 · 0 评论