jvm
扑愣蛾子
这个作者很懒,什么都没留下…
展开
-
mac 10.13.6编译jdk10
尝试了用mac10.13.6编译jdk8 jdk9,可能水平有限,出现了各种问题,最后jdk10成功了,记录下填坑之路。 本机需要安装jdk,我自己安装的版本是jdk1.8 编译过程根据https://www.jianshu.com/p/fcefdce5fdab 在idea上使用编译后的jdk,file --> project structure中添加自己的jdk配置虚拟机参数 ...原创 2019-08-14 22:58:07 · 189 阅读 · 0 评论 -
JVM内存区域
1.方法区(Method Area) 类的所有字段和方法字节码,以及一些特殊方法如构造函数,接口代码也在这里定义。简单来说,所有定义的方法的 信息都保存在该区域,静态变量+常量+类信息(构造方法/接口定义)+运行时常量池都存在方法区中,虽然Java虚拟 机规范把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫做Non-Heap(非堆),目的应该是为了和Java的 堆区分开 2.堆(Hea...原创 2019-09-02 15:54:49 · 82 阅读 · 0 评论 -
OutOfMemooryError异常分析
/** * author : liuqi * createTime : 2019-09-02 * description : TODO * version : 1.0 * VM Args: -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError * 参数意义分别为:堆最小内存20M 堆最大内存20M 出现OutOfMemoryError的时候生...原创 2019-09-02 21:34:59 · 190 阅读 · 0 评论 -
引用计数算法的缺陷
public class ReferenceCountingGC { public Object instance = null; private static final int _1MB = 1024*1024; private byte[] bigSiez = new byte[2* _1MB]; public static void main(St...原创 2019-09-02 22:20:45 · 773 阅读 · 2 评论 -
GC算法
引用计数法 给对象添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值减1;计数器为0的时候就回收。但是这种算法无法解决相互引用的问题,所以虚拟机并没有用它管理内存。 可达性分析算法 在java语言中,可作为GC Roots的对象包括一下几种 虚拟机栈(栈帧中的本地变量表)中引用的对象 法法区中类静态属性引用的对象 方法区中常量引用的对象 本地方法栈中J...原创 2019-09-02 22:35:18 · 70 阅读 · 0 评论