
JVM
weixin_39507514
面试就是在最好的时间内遇到最合适的彼此
展开
-
JVM内存深入解剖
1.大致分为堆,方法区,本地内存。2.(1)堆是线程共享的,堆里面内存分配(new关键字,反射,垃圾回收等)堆里面还有方法区,方法区也叫永生区(里面存着常量,静态变量,类变量)运行时常量池 是方法区的一部分,里面存着编辑时期各种字面量和符号。在jdk1.7,常量池移到堆中。在jdk1.8之后,去掉永生区。并把常量池放于本地内存中。(2)方法区是线程私有的。里面有java栈,本地方法栈,程序计...原创 2019-04-28 16:22:33 · 168 阅读 · 0 评论 -
JVM优化
1.对象分配:新生代(1/3)首先将我们的new的对象放在Eden(8/10)区,当Eden区满了,触发Monitor GC,1就通过可达性算法来识别这个对象可不可用(常见的是类静态变量的引用,常量的引用,工作线程(虚拟机栈,本地方法栈)用的对象),把存活的对象放在存活区(from(1/10))。然后再次回收的时候,就会把Eden和From区存活的对象,拷到to(1/10)区去,如果年龄相同的对象...原创 2019-06-17 09:45:05 · 244 阅读 · 0 评论 -
JVM类加载机制
1.源文件.java-编译-》.class ->加载,验证,准备,解析,实例化对象,使用2.自定义类加载-》应用程序类加载application classloader,extend classloader,bootstrapclassloader3.tomcat的 catalinaloader加载tomcat的类库,sharedLoader应用层加载lib4.webAppClassl...原创 2019-06-17 13:42:13 · 135 阅读 · 0 评论