JVM
wait_for_eva
longer
展开
-
JVM-对象创建和路由
总体流程Created with Raphaël 2.2.0开始new确定类模板创建指向常量池中的类的符号引用是否找到(加载)模板?虚拟机分配对象空间初始化对象默认值执行指定初始化方法结束加载、解析、初始化类yesno内存分配指针碰撞最简单的情况,就是这样:内存空间连续,一侧使用,一次空闲当需要申请内存的时候,通过分界指针的移动,就可以为新创建的对象分配内存,这种方式称作``指针碰撞`...原创 2019-03-30 02:01:41 · 263 阅读 · 0 评论 -
JVM-垃圾回收概述
垃圾判定引用计数差不多就是这个样子,把被引用的次数记下来,当引用为0时,就判定是垃圾。不过存在一个问题,那就是对象引用对象的时候,这个办法就失效了。class Node{ Node prev; Node next; int value;}public static void main(String []args){ Node head = new No...原创 2019-03-31 14:36:49 · 305 阅读 · 0 评论 -
JVM-对象分配策略
内存分配策略优先分配到Eden大对象直接分配到老年代长期存活周期分配到老年代空间分配担保栈上分配优先Edenpublic class Main { public static final int size = 10 * 1024; public static void main(String[] args) { byte[] bs = new by...原创 2019-03-31 19:36:49 · 236 阅读 · 0 评论 -
JVM-几个自带工具简介
位置%JAVA_HOME/bin%下就是安装java时为我们自带的可运行程序的文件夹。之前接触过的只有java和javac,现在再认识几个。jpspublic class Main { public static void main(String[] args) { while(true){ sleep(); } }...原创 2019-04-01 20:52:44 · 408 阅读 · 0 评论 -
JVM-内存分区
内存分区线程独占区程序计数器:记录当前线程执行到的字节码行号虚拟机栈:存储方法运行时数据,成为栈帧本地方法栈:native方法的栈,同虚拟机栈,但只为native方法服务线程共享区方法区:常量池,已加载类,常量,静态变量,即时编译代码等数据存放位置堆:java对象实例存放位置程序计数器字节码行号指示器像是一个游标,总是指向代码执行的那一行。线程独占程序计数...原创 2019-03-28 21:16:18 · 139 阅读 · 0 评论