JVM
文章平均质量分 70
编程初丁
记录学习过程,分享点滴经验
展开
-
JVM 内存区域详解
JVM内存分为 五个部分:1)方法区;2)java虚拟机栈;3)本地方法栈;4)堆;5)程序计数器 Ø 程序计数器:可以看做是当前线程所执行的字节码的行号指示器。下一条需要执行的字节码指令,分之,循环,跳转,异常处理,县城回复等基础功能都需要依赖这个计数器来完成。每个线程都有一个独立的程序计数器,各条线程之间计数器互不影响,独立存储,为“线程私有的内存”。Ø Java虚原创 2017-03-16 14:42:04 · 253 阅读 · 0 评论 -
JVM垃圾回收机制和算法详解
1.判断对象已死吗?两种算法:1)引用计数算法2)可达性分析算法 1) 引用计数算法:实现思路:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1,;任何时刻计数器为0的对象就是不可能在被使用的。缺点:很难解决对象之间相互循环引用的问题。(两个对象互为引用) 2) 可达性分析算法:(主流JVM使用的算法)实现思路:原创 2017-03-16 15:48:28 · 302 阅读 · 0 评论 -
JVM垃圾回收器总结
垃圾收集器(7种)(内存回收动作的执行)1) Serial收集器:一个单线程收集器,用于新生代;进行垃圾收集时,必须暂停其他所有工作线程,直到它收集结束。(Client模式下经常使用)2) ParNew收集器:是Serial收集器的多线程版本,可以使用多条线程进行垃圾收集。(Server模式下经常使用,用于新生代)3) Parallel Scavenge收集器:是一个新生代收集器,也是原创 2017-03-16 15:55:02 · 282 阅读 · 0 评论 -
JVM内存分配策略
内存分配策略1)大多数情况下,对象在新生代Eden区中分配。当Eden区没有足够空间进行分配时,虚拟机将发起一次Minor GC。(注:Minor GC和Full GC的区别:新生代GC即Minor GC,指发生在新生代的垃圾收集侗族,因为Java对象大多都具备招生熄灭的特性,所以Minor GC非常频繁,一般回收速度也比较快;老年代GC即Full GC或称Major GC,只发生在老年代原创 2017-03-16 15:56:10 · 276 阅读 · 0 评论 -
深入理解JVM笔记之内存管理机制
运行时数据区域程序计数器每个线程都有一个程序计数器(PC),是当前线程所执行的字节码的行号指示器,通过改变程序计数器的值来选取下一条指令。各线程之间的计数器互不影响,是线程私有的内存。 如果线程执行的是一个JAVA方法,则计数器记录的为正在执行的字节码指令的地址,如果执行的是Natvie方法,这计数器的值为空(Undifined)。 程序计算器所在的内存区域是唯一一个JVM转载 2017-04-17 19:46:12 · 367 阅读 · 0 评论