什么是JVM
双亲委派机制(无内容)
自底向上查看是否加载过此类,再自顶向下尝试去加载类
沙箱安全机制(无内容)
Native、方法区(无内容)
深入理解栈(无内容)
HotSpot和堆
我们所熟知的是sun公司下的HotSpot
堆内存的结构为
新生区和养老区被筛选出来丢弃,永久区为一些基本数据不会被抛弃
如果堆内存爆了就会出现(“爆炸指针”指向java堆空间)啊哈哈
新生区、永久区、堆内存调优
默认情况下堆分配的内存是电脑总内存的1/4,初始化内存是电脑内存的1/64
下图设置可以分配堆内存
使用JPofiler工具分析OOM原因(重点掌握!!)
百度jsprofiler分析工具(我没有,有的话可以分享一下,多谢!)
加入代码下载堆出现的问题
JProfiler软件下载地址 http://www.ej-technologies.com/
或者直接在IDEA里面setting,Plug,搜索JProfiler就可以直接安装
Dump信息
修改内存分配
GC(垃圾回收)
GC的作用区域:方法区、堆
1.新生代、2.幸存区(from、to)、3.永久区
JVM进行GC的时候大部分都是对新生代进行回收
GC两种种类:轻GC(普通GC)、重GC(全局GC)
GC题目:
1.JVM的内存模型和分区,详细到每个区放什么
2.堆里面的分区有哪些?Eden、form、to、老年区、说说他们的特点
3.GC的算法有哪些?标记清除法、标记压缩、复制算法、引用计数器,怎么用的?
4.轻GC(普通GC)、重GC(全局GC)在什么时候发生
复制算法
标记清除压缩
垃圾收集算法——分代收集算法
JMM
什么是JMM?————java内存模型
详细的自己百度一下