JVM
zry963
GitHub:https://github.com/zry963
展开
-
JVM--内存管理模型
JVM内存管理模型 由图中可以看出内存被划分为若干个不同的数据区域,有的区域(方法区、堆)随着虚拟机的启动而存在,有些区域(栈、本地方法区、程序计数器)则依赖用户线程的启动和结束而建立和销毁。 1、程序计数器:是一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器。此内存区域是唯一一个没豆规定OutOfMemoryError的区域。 2、虚拟机原创 2016-03-28 14:18:13 · 425 阅读 · 0 评论 -
JVM--垃圾收集器
由前面可知程序计数器、栈、本地方法区都是随线程而生,随线程而灭,所以不需要考虑内存回收。 判断对象是否存活: 1、引用计数器:很难解决对象之间的相互循环引用。 2、可达性分析:可作为GC Roots对象的有:1、虚拟机栈中引用的对象2、方法区中类静态属性引用的对象3、方法区中常量引用的对象4、本地方法栈中JNI(即一般说的Native方法) 引用:强引用、软引用、弱引用、虚原创 2016-03-28 15:12:22 · 228 阅读 · 0 评论 -
JVM--类加载机制
类加载 对类进行初始化: 1、new关键字 2、对类进行反射调用的时候 3、初始化一个类,如果他的父类还没有初始化 4、虚拟机启动时,用户需要指定一个要执行的主类 加载: 1、通过一个类的全限定名来获取定义此类的二进制字节流 2、将这个字节流所代表的静态存储结构转化为方法区的运行时的数据结构 3、在内存中生成一个代表这个类的java.lang.Class对象,作为转载 2016-03-28 16:14:39 · 64 阅读 · 0 评论 -
JVM--内存调优
转自:http://blog.csdn.net/gjanyanlig/article/details/6818894 首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别Java进程所占用的内存,这个数值不能准确的反应堆内存的真实占用情况,因为GC过后这个值是不会变化的,因此内存调优的时候要更多地使用JDK提供的内存查看工具,比如JConsole和Java VisualV转载 2016-03-28 16:40:44 · 257 阅读 · 0 评论