JVM原理及优化

JVM 工作原理

  • JVM 全称 JAVA Virtual Machine (java虚拟机),通过计算来模拟各种计算机功能实现。jvm主要有字节码指令集,寄存器,栈,垃圾回收堆,存储方法域构成。
  • JVM伴随JAVA程序启动而执行,程序结束则关闭,一个JAVA程序就会开启一个JVM虚拟机进程,可以通过jps命令查看。一台服务器上可以运行多个程序,启动多个jvm进程。
  • JVM将线程分为两种:守护线程和普通线程。守护线程是JVM自己使用的线程,比如垃圾回收(GC)就是一个守护线程。普通线程一般是Java程序的线程,只要JVM中有普通线程在执行,那么JVM就不会停止。

在这里插入图片描述
如图中绿色部分表示各个线程私有,白色部分为共享。

-JVM的堆内存
在这里插入图片描述

1 JVM虚拟机有3部分构成,新生代、老年带、永久代(方法区,1.8之前,1.8之后已经废弃永久代),其中,新生代有3个部分组成,1个伊甸园区域,两个存活区(也叫幸存区)比例为 8:1:1 2方法区 3 4

gc垃圾回收机制优化

jvm 内存优化

  • JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx1024m 生产环境下大概调整带物理内存一半

代码交流 2021