1.MetaSpace是什么?
名词定义为:元空间内存,JDK1.8定义出来的区域,用于替换原来的永久代存储空间。
2.MetaSpace一般是存什么内容?
Class信息(主要的)、Meta信息、方法的编译信息及字节码、Java类对应的HotSpot虚拟机中的内部表示也存储在这里等等
3.到底什么情况下MetaSpace内存溢出
一般而言,这块发生的内存溢出的概率非常的小,一般由于2点导致:
1.在JVM正式环境,直接使用JDK自带的参数,一般默认的只有几十MB,针对大型的应用项目,很容易不够,报异常。
2.很多人在写cglib之类的技术动态生成一些类,如果代码没有控制好回收,容易引发MetaSpace溢出。
4.如何解决
一般推荐使用512MB,是足够的。