文章目录
  1. 1. JDK

记录一些三言两语能扯清楚的技术总结

JDK

jdk 1.8的元空间

基本概念

  • 类的元数据,包含类的层级信息,方法数据和方法信息,运行时常量池,已确定的符号引用和虚方法表

在jdk 1.8之前

  • 在过去(自定义类加载器未被‘滥用’时期),类几乎是静态的,因此被看成“永久的”
  • 永久带大小由‑XX:MaxPermSize指定,一旦超过即OOM
  • 永久代的垃圾回收和老年代的垃圾回收是绑定的
  • 永久代中的元数据可能会随着每一次Full GC发生而进行移动
  • 以上两点导致永久带难以调优

jdk 1.8

  • jdk 1.8 去掉永久带,引入了元空间(Metaspace)
  • 简化Full GC以及对以后的并发隔离类元数据等方面进行优化
  • 不会再出现永久带OOM,但是不代表可以忽视自定义类加载器的内存泄露问题
文章目录
  1. 1. JDK