本文章涉及到的代码案例已上传到https://github.com/xtxxtxxtx/JUC_JVM

三、堆参数调优入门

3.1、Java垃圾收集

Java7
Java——JVM(二)
Java8
JDK1.8之后就将最初的永久代取消了由元空间取代。
Java——JVM(二)
Java8中永久代已经被移除,被一个称为元空间的区域所取代。元空间的本质和永久代类似。

元空间与永久代之间最大的区别在于:
永久代使用的JVM的堆内存,但是Java8以后的元空间并不在虚拟机中而是使用本机物理内存。

因此默认情况下,元空间大小仅受本地内存限制。类的元数据放入native menory字符串池和类的静态变量放入Java堆中,这样可以加载多少类的元数据就不再由MaxPermSize控制,而由系统的实际可用空间来控制。

3.2、堆内存调优

Java——JVM(二)
发现默认情况下分配的内存是总内存的"1/4",初始化内存为"1/64"
Java——JVM(二)
Java——JVM(二)
下面演示一个OOM的错误:
Java——JVM(二)

相关文章:

  • 2022-12-23
  • 2021-05-30
  • 2021-06-06
  • 2021-10-22
  • 2021-12-24
  • 2021-06-29
  • 2021-10-26
  • 2021-06-28
猜你喜欢
  • 2021-05-05
  • 2022-02-17
  • 2021-09-15
  • 2021-08-11
  • 2022-12-23
  • 2021-10-09
  • 2021-10-20
相关资源
相似解决方案