本栏目讲叙JVM简介、JVM内存结构、垃圾回收机制和类加载与字节码技术
JVM 简介
概述
:JVM 被称为 Java 虚拟机,是 Java 二进制字节码运行环境,用于屏蔽底层操作系统的差异优点
- 一次编写、到处运行
- 自动内存管理
- 垃圾回收功能
- 数组下标越界检查
- 多态
JDK、JRE 与 JVM 之间的关系
-
JRE = JVM + 基础类库
-
JDK = JRE + 编译工具
JVM 组成结构
JVM 常用指令
# 修改栈内存大小
-Xss<size> -Xss256k
# 修改堆内存大小
-Xmx<size> -Xmx8m
# 新生代大小
-Xmn<size> -Xmn200mb
# 幸存区比例(动态)
-XX:InitialSurvivorRatio = ratio 和 -XX+UseAdaptiveSizePolicy
# 幸存区比例
-XX:SurvivorRatio = ratio
# 晋升阈值
-XX:MaxTenuringThreshold = threshold
# 晋升详情
-XX:+PrintTenuringDistribution
# GC详情
-XX:+PrintGCDetail -verbose:gc
# FullGC前MinorGC
-XX:+ScavengeBeforeFullGC
# 查看虚拟机运行参数
-XX:+PrintFlagsFinal -version | findstr "GC"
# 元空间内存
-XX:MaxMetaspaceSize=<size> -XX:MaxMetaspaceSize=8m
# 永久代内存
--XX:MaxPermSize=<size> --XX:MaxPermSize=8m
# 设置串池的大小(桶大小)
-XX:StringTableSize=<size> -XX:StringTableSize=200000
# 打印串池中的统计信息
-XX:+PrintStringTableStatistics
# 禁用显示回收
-XX:DisableExplictGC