什么是java虚拟机,详细介绍一下内存结构
出jvm
存在栈中的
方法区可以存什么:
静态变量,常量,类信息(构造器/接口定义)+运行时常量池
堆中可以存:
实例变量。
栈存什么:基本类型的变量+对象的引用变量+实例方法
栈:先进后出。
栈是线程私有的
栈帧通过pc寄存器连接
方法出现递归调用会出现:
怎么解决:找到方法解决后就可以了。。增加栈的内存大小不管用。
8以后是元空间
怎么引起的异常:FULLGC回收不了异常
怎么定位:
怎么解决
1.调整堆得内存空间 -xms 初始内存大小,-XMX 最大内存大小
2.优化内存中的大对象
3.设置新生区到养老区的条件:把15调大。
永久区是方法区的实现
永久区的异常原因:jar包太多,内存爆了,通过maven已经解决
jvm调优,,堆调优
解读outofmamory的dump文件异常
5. GC垃圾回收机制算法
33.JVM内存模型,各部分的作用
34.常用的GC算法,项目中用到的那种GC算法?
40. Gc的算法,复制算法和标记清除的优缺点?
复制算法快,会产生内存碎片,缺点需要双倍空间。
标记清除,优点 实现简单 缺点 产生内存碎片
33.jvm调优策略
9、常用的GC算法,如何确定哪些是要被清除的哪些是不能被清除
21.说说jvm并画出图说说里面的具体怎么回事以及GC垃圾回收的几个方法和GC的四大算法各自的有缺点和在哪里用那种算法,说说jvm是如何调优的。
7.说出jvm图里面的具体运用和GC垃圾回收,内存如何调优?
机制:沙箱安全机制,java为了保护自己,原生的类不能篡改
重点:::::::::
cpu过高定位:::
解决outofmemorry的domp文件
复制必交换,谁空谁是to