JVM
Java8的JVM结构
2讲讲java类加载
3类加载器
12.类加载机制(加载和初始化问的比较详细)
类加载过程,双亲委派模型的优缺点
类加载过程
为啥要双亲加载
jvm(
1.说一下几种引用方式,并说出其作用,以及垃圾回收时机
2.一个static成员变量如何进行内存分配及赋值
)
说说Java的GC机制,讲讲G1
垃圾回收算法
详细说一说CMS
每种垃圾回收算法的原理和适用,G1简单说了下设计思想
4:jvm内存结构
13.java内存,堆和栈
JVM内存划分
堆的话怎么划分
常量池放什么
常见的GC算法
5.强应用和弱应用和软引用的区别。
答:强引用,就是标记了引用,不会直接回收的;而弱引用是gc下一次回收会发现的。而软引用我忘了,回答不知道。
回去好好查了一下后发现:
强引用,在内存不足的时候,宁可报错:oom,也不会回收。而我们程序中有些对象其实没有这么重要,那些对象我们可以用引用级别标明。这样内存不足的时候,标记了软弱虚引用的对象会被回收。
而软引用是:在gc后还内存不足的时候,才会去回收,平时不会回收;
弱引用是:在GC的时候,不管内存空间足不足都会回收这个对象。
虚引用:直接回收了,就像没有引用一样gcroot找不到一样。但是会有一个回调函数,比如打印一个日志:我被回收了之类的。