释放双眼,带上耳机,听听看~!
JVM 工作原理
- JVM 全称 JAVA Virtual Machine (java虚拟机),通过计算来模拟各种计算机功能实现。jvm主要有字节码指令集,寄存器,栈,垃圾回收堆,存储方法域构成。
- JVM伴随JAVA程序启动而执行,程序结束则关闭,一个JAVA程序就会开启一个JVM虚拟机进程,可以通过jps命令查看。一台服务器上可以运行多个程序,启动多个jvm进程。
- JVM将线程分为两种:守护线程和普通线程。守护线程是JVM自己使用的线程,比如垃圾回收(GC)就是一个守护线程。普通线程一般是Java程序的线程,只要JVM中有普通线程在执行,那么JVM就不会停止。
如图中绿色部分表示各个线程私有,白色部分为共享。
-JVM的堆内存
1
2
3
4 1 JVM虚拟机有3部分构成,新生代、老年带、永久代(方法区,1.8之前,1.8之后已经废弃永久代),其中,新生代有3个部分组成,1个伊甸园区域,两个存活区(也叫幸存区)比例为 8:1:1
2方法区
3
4
gc垃圾回收机制优化
jvm 内存优化
- JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx1024m 生产环境下大概调整带物理内存一半