jvm专栏
jvm
betterMan11131
这个作者很懒,什么都没留下…
展开
-
jvm类加载机制
加载 找到需要加载的类并把类的信息加载到jvm的方法区中,然后在堆中实例化一个java.lang.class对象,作为方法区中这个类的信息的入口。 hotspot会在真正用到一个类的时候对他进行加载。 验证 验证这个类是否合法,字节码格式,变量与方法是否重复,数据类型是否有效,继承与实现是否合乎标准。 准备 为类的静态变量分配内存并设为jvm默认的初值(常量会直接设为初始值),非静态变...原创 2018-07-31 19:26:42 · 131 阅读 · 0 评论 -
jvm内存管理
方法区 线程共享。主要存储类的类型信息,常量池,成员变量信息,方法信息,构造函数和普通函数的字节码内容,还包括一些在类,实例,接口初始化时使用到的特殊方法,存储的信息来自class文件。可GC,对应持久代,会出现OOM。 运行时常量池:方法区一部分,用于存放编译期生成的各种字面量和符号引用以及翻译出来的直接引用,这部分内容将在类加载后进入常量池存放,存放的为类中固定的常量信息,方法和域的引用信...原创 2018-07-31 19:26:57 · 99 阅读 · 0 评论 -
jvm垃圾收集
确定垃圾 引用计数法 在java中是通过引用来和对象进行关联的,可以通过引用计数来判断一个对象是否可以被回收。如果一个对象没有任何引用与之关联,那么这个对象就成为可被回收的对象了。这种方式称为引用计数法。 这种方式的特点是实现简单,而且效率较高,但是它无法解决循环引用的问题,因此在Java中并没有采用这种方式。 可达性分析 通过一系列的“GC Roots”对象作为起点进行搜索,如果在“G...原创 2018-07-31 19:27:44 · 124 阅读 · 0 评论