java虚拟机
iteye_10833
这个作者很懒,什么都没留下…
展开
-
JVM学习(1)-JVM运行时数据区
导言:java是基于一门虚拟机的语言,所以了解并且熟知虚拟机运行原理非常重要。 先整体看一张java虚拟机技术图: 一、堆 1、方法区,Method Area,主要存放已被虚拟机加载的类信息、常量、静态变量、及时编译器编译后的代码等数据。 又称为永久代。 比如spring 使用IOC或者AOP创建bean时,或者使用cglib,反射的形式动态生成class信息,...2016-02-01 16:36:09 · 84 阅读 · 0 评论 -
JVM学习(2)-JVM垃圾回收算法
java虚拟回收垃圾对象时,一份分为两步: 1、虚拟机在回收堆空间在之间,会先判断哪些对象已经死亡; 2、然后再对这些死亡对象通过特定的回收算法进行回收 一、判断对象是否死亡 1、引用计算器算法 给对象添加一个引用计算器,如果其他地方引用它,计算器就加1,当引用失效时,计算器就减1。当计算器为0时,这个对象不能被再次使用,需要被回收了。 优点:实现简单 缺点:不能解决对象之...2016-02-01 16:40:32 · 79 阅读 · 0 评论 -
ClassLoader原理分析
前文:Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的。 类装载器所做的工作实质是把类文件从硬盘读取到jvm运行内存中,或者从网络中读取到jvm运行内存中 JVM在加载类的时候,都是通过ClassLoader的loadClass()方法来加载class的。 例如: public class TestClassLoader { ...2016-06-27 12:12:46 · 134 阅读 · 0 评论