一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java.lang.OutOfMemoryError: Metaspace異常解決的方法

java.lang.OutOfMemoryError: Metaspace異常解決的方法

2021-08-25 11:51瘋狂的太陽 Java教程

這篇文章主要介紹了java.lang.OutOfMemoryError: Metaspace異常解決的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

介紹 Metaspace

java8 及以后的版本使用Metaspace來代替永久代,Metaspace是方法區在HotSpot中的實現,它與持久代最大區別在于,Metaspace并不在虛擬機內存中而是使用本地內存也就是在JDK8中,classe metadata(the virtual machines internal presentation of Java class),被存儲在叫做Metaspace的native memory.
永久代(java 8 后被元空間Metaspace取代了)存放了以下信息:

  • 虛擬機加載的類信息
  • 常量池
  • 靜態變量
  • 即時編譯后的代碼

出現問題原因

錯誤的主要原因, 是加載到內存中的 class 數量太多或者體積太大。

解決辦法

增加 Metaspace 的大小

  1. -XX:MaxMetaspaceSize=512m

代碼演示

模擬Metaspace空間溢出,我們不斷生成類往元空間灌,類占據的空間是會超過Metaspace指定的空間大小的

查看元空間大小

  1. java -XX:+PrintFlagsInitial

java.lang.OutOfMemoryError: Metaspace異常解決的方法

設置配置 這里設置10m方便演示效果

  1. -XX:MetaspaceSize=10m -XX:MaxMetaspaceSize=10m

java.lang.OutOfMemoryError: Metaspace異常解決的方法

編寫代碼

  1. import org.springframework.cglib.proxy.Enhancer;
  2. import org.springframework.cglib.proxy.MethodInterceptor;
  3. import org.springframework.cglib.proxy.MethodProxy;
  4.  
  5. import java.lang.reflect.Method;
  6.  
  7. public class MetaspaceDemo {
  8. static class OOM{}
  9. public static void main(String[] args) {
  10. int i = 0;//模擬計數多少次以后發生異常
  11. try {
  12. while (true){
  13. i++;
  14. Enhancer enhancer = new Enhancer();
  15. enhancer.setSuperclass(OOM.class);
  16. enhancer.setUseCache(false);
  17. enhancer.setCallback(new MethodInterceptor() {
  18. @Override
  19. public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {
  20. return methodProxy.invokeSuper(o,args);
  21. }
  22. });
  23. enhancer.create();
  24. }
  25. } catch (Throwable e) {
  26. System.out.println("=================多少次后發生異常:"+i);
  27. e.printStackTrace();
  28. }
  29. }
  30. }

運行結果:

java.lang.OutOfMemoryError: Metaspace異常解決的方法

到此這篇關于java.lang.OutOfMemoryError: Metaspace異常解決的方法的文章就介紹到這了,更多相關java.lang.OutOfMemoryError: Metaspace異常內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/baidu_37313657/article/details/105120506

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本肉体xxxx69xxxx | 欧美成人一区二区三区 | 2022国产在线观看 | 男人天堂久久 | 欧美黑人换爱交换乱理伦片 | 国产最强大片免费视频 | 久久国产精品免费网站 | 第一福利在线观看永久视频 | 四虎网站| 欧美成人免费草草影院视频 | 亚洲 综合 欧美在线 热 | 欧美日韩亚洲一区二区三区在线观看 | 国产99久久九九精品免费 | 欧美伊香蕉久久综合类网站 | 成人嗯啊视频在线观看 | 热久久天天拍天天拍热久久2018 | 美女被的视频 | 天天综合色天天综合网 | 99热这里只有精品在线观看 | 私人chinese beauty | 好男人好资源在线观看 | 公妇仑乱在线观看 | 免费高清资源黄网站在线观看 | 99精品久久精品一区二区小说 | 98成人| 欧美精品久久久久久久免费观看 | 蜜桃久久久亚洲精品成人 | 色噜噜视频影院 | 日本xx高清视频免费观看 | 99在线在线视频免费视频观看 | 欧美精品日韩一区二区三区 | 小便japanesewctv | 亚洲国产福利精品一区二区 | 欧美综合在线 | 亚洲不卡视频 | 国产精品欧美日韩一区二区 | 扒开腚眼子视频大全 | 91国产在线视频 | 日韩一区二区三区在线 | 狠狠色伊人亚洲综合网站色 | 国产精品久久久久久久久99热 |