测试环境

JDK Version : jdk1.8.0_271
VM Options : -XX:MaxMetaspaceSize=100M -XX:+PrintGCDetails

测试代码

  1. package com.javabook.jvm.metaspace;
  2. import net.sf.cglib.beans.BeanGenerator;
  3. import net.sf.cglib.proxy.Enhancer;
  4. import net.sf.cglib.proxy.MethodInterceptor;
  5. import java.lang.management.ClassLoadingMXBean;
  6. import java.lang.management.ManagementFactory;
  7. import java.util.ArrayList;
  8. import java.util.List;
  9. import java.util.UUID;
  10. /**
  11. * https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html
  12. *
  13. * <p>
  14. * -XX:MaxMetaspaceSize=100M -XX:+PrintGCDetails
  15. * <p>
  16. * Error occurred during initialization of VM
  17. * OutOfMemoryError: Metaspace
  18. *
  19. * @author Summer Lu
  20. * @email gmluyang@gmail.com
  21. * @date 2014-8-25
  22. */
  23. public class JvmOutOfMemoryErrorOfMetaSpaceDemo {
  24. /**
  25. * @param args
  26. */
  27. public static void main(String[] args) throws ClassNotFoundException {
  28. try {
  29. String propertyName = "propertyName";
  30. long count = 1;
  31. while (true) {
  32. BeanGenerator beanGenerator = new BeanGenerator();
  33. beanGenerator.addProperty(propertyName + count, String.class);
  34. Object dynamicPropertyClass = beanGenerator.create();
  35. System.out.println("动态类型dynamicPropertyClass:" + dynamicPropertyClass.getClass().getName());
  36. count++;
  37. }
  38. } catch (Exception e) {
  39. ClassLoadingMXBean loadingBean = ManagementFactory.getClassLoadingMXBean();
  40. System.out.println("共加载过的类型数目:" + loadingBean.getTotalLoadedClassCount());
  41. System.out.println("当前有效的类型数目:" + loadingBean.getLoadedClassCount());
  42. System.out.println("已被卸载的类型数目:" + loadingBean.getUnloadedClassCount());
  43. e.printStackTrace();
  44. }
  45. }
  46. }

VisualVM

JvmOutOfMemoryErrorOfMetaSpaceDemo.gif

Console

C:\Java\jdk1.8.0_271\bin\java.exe -XX:MaxMetaspaceSize=100M -XX:+PrintGCDetails -javaagent:C:\Users\luyang\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.7660.26\lib\idea_rt.jar=9620:C:\Users\luyang\AppData\Local\JetBrains\Toolbox\apps\IDEA-U\ch-0\202.7660.26\bin -Dfile.encoding=UTF-8 -classpath C:\Java\jdk1.8.0_271\jre\lib\charsets.jar;C:\Java\jdk1.8.0_271\jre\lib\deploy.jar;C:\Java\jdk1.8.0_271\jre\lib\ext\access-bridge-64.jar;C:\Java\jdk1.8.0_271\jre\lib\ext\cldrdata.jar;C:\Java\jdk1.8.0_271\jre\lib\ext\dnsns.jar;C:\Java\jdk1.8.0_271\jre\lib\ext\jaccess.jar;C:\Java\jdk1.8.0_271\jre\lib\ext\jfxrt.jar;C:\Java\jdk1.8.0_271\jre\lib\ext\localedata.jar;C:\Java\jdk1.8.0_271\jre\lib\ext\nashorn.jar;C:\Java\jdk1.8.0_271\jre\lib\ext\sunec.jar;C:\Java\jdk1.8.0_271\jre\lib\ext\sunjce_provider.jar;C:\Java\jdk1.8.0_271\jre\lib\ext\sunmscapi.jar;C:\Java\jdk1.8.0_271\jre\lib\ext\sunpkcs11.jar;C:\Java\jdk1.8.0_271\jre\lib\ext\zipfs.jar;C:\Java\jdk1.8.0_271\jre\lib\javaws.jar;C:\Java\jdk1.8.0_271\jre\lib\jce.jar;C:\Java\jdk1.8.0_271\jre\lib\jfr.jar;C:\Java\jdk1.8.0_271\jre\lib\jfxswt.jar;C:\Java\jdk1.8.0_271\jre\lib\jsse.jar;C:\Java\jdk1.8.0_271\jre\lib\management-agent.jar;C:\Java\jdk1.8.0_271\jre\lib\plugin.jar;C:\Java\jdk1.8.0_271\jre\lib\resources.jar;C:\Java\jdk1.8.0_271\jre\lib\rt.jar;C:\Github\study\javabook\javabook-jvm\target\classes;C:\Users\luyang\.m2\repository\cglib\cglib\3.2.4\cglib-3.2.4.jar;C:\Users\luyang\.m2\repository\org\ow2\asm\asm\6.0_ALPHA\asm-6.0_ALPHA.jar;C:\Users\luyang\.m2\repository\org\apache\ant\ant\1.9.6\ant-1.9.6.jar;C:\Users\luyang\.m2\repository\org\apache\ant\ant-launcher\1.9.6\ant-launcher-1.9.6.jar com.javabook.jvm.metaspace.JvmOutOfMemoryErrorOfMetaSpaceDemo
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$a518156c
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$a518156b
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$a518156a
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$a5181571
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$a5181570
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$a518156f
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$a518156e
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$a5181565
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$a5181564
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$e0fa1786
.
.
.
.
.
.
.
.
.
.
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed676dc6
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed676d9d
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed676d9c
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed676d9b
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed676d9a
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed676da1
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed676da0
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed676d9f
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed676da9
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed676da8
[GC (Allocation Failure) [PSYoungGen: 131584K->9741K(153088K)] 131584K->9749K(502784K), 0.0378104 secs] [Times: user=0.08 sys=0.02, real=0.04 secs] 
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed66f974
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed66f973
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed66f972
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed66f979
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed66f95b
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed66f95a
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed66f961
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed66f960
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed66f95f
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ed66f95e
.
.
.
.
.
.
.
.
.
.
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f1713870
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f171386f
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f171386e
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f1713865
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f1713864
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f1713836
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f171384d
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f171384c
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f171384b
[GC (Metadata GC Threshold) [PSYoungGen: 94850K->15424K(284672K)] 94858K->15440K(634368K), 0.0131431 secs] [Times: user=0.11 sys=0.00, real=0.01 secs] 
[Full GC (Metadata GC Threshold) [PSYoungGen: 15424K->0K(284672K)] [ParOldGen: 16K->15241K(202240K)] 15440K->15241K(486912K), [Metaspace: 20581K->20581K(1064960K)], 0.0347256 secs] [Times: user=0.14 sys=0.00, real=0.04 secs] 
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f171384a
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f1713851
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f1713850
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f171384f
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f171384e
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f1713845
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f1713817
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f1713816
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f171382d
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f171382c

.
.
.
.
.
.
.
.
.
.
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f318b
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f318a
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f3191
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f3190
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f318f
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f3159
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f3158
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f3157
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f3156
[GC (Metadata GC Threshold) [PSYoungGen: 185143K->13248K(284672K)] 200385K->28489K(486912K), 0.0109989 secs] [Times: user=0.11 sys=0.00, real=0.01 secs] 
[Full GC (Metadata GC Threshold) [PSYoungGen: 13248K->0K(284672K)] [ParOldGen: 15241K->28141K(350720K)] 28489K->28141K(635392K), [Metaspace: 34757K->34757K(1073152K)], 0.1135276 secs] [Times: user=0.44 sys=0.03, real=0.11 secs] 
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f316d
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f316c
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f316b
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f316a
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f3171
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f3170
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f3132
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f3139
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f3138
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$f17f3137
.
.
.
.
.
.
.
.
.
.
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea844
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea843
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea842
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea849
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea82b
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea82a
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea831
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea830
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea82f
[GC (Allocation Failure) [PSYoungGen: 263168K->19904K(348672K)] 291309K->48045K(699392K), 0.0141144 secs] [Times: user=0.01 sys=0.00, real=0.01 secs] 
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea82e
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea825
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea824
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea823
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea822
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea90c
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea90b
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea90a
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea911
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4ea910
.
.
.
.
.
.
.
.
.
.
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e8d
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e8c
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e8b
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e8a
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e91
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e90
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e52
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e59
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e58
[GC (Metadata GC Threshold) [PSYoungGen: 52026K->21472K(421376K)] 80167K->50061K(772096K), 0.0143292 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[Full GC (Metadata GC Threshold) [PSYoungGen: 21472K->0K(421376K)] [ParOldGen: 28589K->49453K(503296K)] 50061K->49453K(924672K), [Metaspace: 58277K->58277K(1087488K)], 0.1935763 secs] [Times: user=1.11 sys=0.00, real=0.19 secs] 
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e57
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e56
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e6d
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e6c
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e6b
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e6a
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e71
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e33
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e32
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4d7e39
.
.
.
.
.
.
.
.
.
.
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff460052
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff460059
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff460058
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff460057
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff460056
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff46006d
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff46006c
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff46006b
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff46006a
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff460071
[GC (Allocation Failure) [PSYoungGen: 399872K->25056K(479232K)] 449325K->79710K(982528K), 0.0248690 secs] [Times: user=0.19 sys=0.00, real=0.03 secs] 
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4602d0
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4602cf
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4602ce
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4602c5
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4602c4
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4602c3
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4602c2
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4602c9
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4602c8
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff4602c7
.
.
.
.
.
.
.
.
.
.
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d46a
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d471
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d470
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d46f
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d46e
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d465
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d437
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d436
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d44d
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d44c
[GC (Metadata GC Threshold) [PSYoungGen: 123141K->31712K(485888K)] 177795K->86518K(989184K), 0.0225867 secs] [Times: user=0.16 sys=0.00, real=0.02 secs] 
[Full GC (Metadata GC Threshold) [PSYoungGen: 31712K->0K(485888K)] [ParOldGen: 54805K->85449K(732672K)] 86518K->85449K(1218560K), [Metaspace: 97668K->97668K(1112064K)], 0.2420911 secs] [Times: user=1.14 sys=0.02, real=0.24 secs] 
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d44b
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d44a
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d451
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d450
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d44f
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d44e
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d418
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d417
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d416
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff47d42d
.
.
.
.
.
.
.
.
.
.
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff14bc9c
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff14bc9b
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff14bca5
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff14bca4
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff14bca3
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff14bca2
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff14bca9
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff14bca8
动态类型dynamicPropertyClass:net.sf.cglib.empty.Object$$BeanGeneratorByCGLIB$$ff14bca7
[GC (Metadata GC Threshold) [PSYoungGen: 53500K->3712K(595968K)] 138949K->89161K(1328640K), 0.0065166 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
[Full GC (Metadata GC Threshold) [PSYoungGen: 3712K->0K(595968K)] [ParOldGen: 85449K->89001K(960000K)] 89161K->89001K(1555968K), [Metaspace: 101704K->101704K(1114112K)], 0.2517148 secs] [Times: user=1.52 sys=0.00, real=0.25 secs] 
[GC (Last ditch collection) [PSYoungGen: 0K->0K(612864K)] 89001K->89001K(1572864K), 0.0042011 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] 
[Full GC (Last ditch collection) [PSYoungGen: 0K->0K(612864K)] [ParOldGen: 89001K->68183K(1264128K)] 89001K->68183K(1876992K), [Metaspace: 101704K->101704K(1114112K)], 0.1717631 secs] [Times: user=0.80 sys=0.00, real=0.17 secs] 
共加载过的类型数目:72493
当前有效的类型数目:72493
已被卸载的类型数目:0
Heap
 PSYoungGen      total 612864K, used 22788K [0x0000000750100000, 0x000000077a780000, 0x00000007fa400000)
  eden space 574976K, 3% used [0x0000000750100000,0x0000000751741388,0x0000000773280000)
  from space 37888K, 0% used [0x0000000773280000,0x0000000773280000,0x0000000775780000)
  to   space 38912K, 0% used [0x0000000778180000,0x0000000778180000,0x000000077a780000)
 ParOldGen       total 1264128K, used 68183K [0x00000005fba00000, 0x0000000648c80000, 0x0000000750100000)
  object space 1264128K, 5% used [0x00000005fba00000,0x00000005ffc95d50,0x0000000648c80000)
 Metaspace       used 101790K, capacity 102282K, committed 102400K, reserved 1114112K
  class space    used 37524K, capacity 37553K, committed 37632K, reserved 1048576K
java.lang.IllegalStateException: Unable to load cache item
    at net.sf.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:79)
    at net.sf.cglib.core.internal.LoadingCache.get(LoadingCache.java:34)
    at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:116)
    at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:291)
    at net.sf.cglib.beans.BeanGenerator.createHelper(BeanGenerator.java:94)
    at net.sf.cglib.beans.BeanGenerator.create(BeanGenerator.java:80)
    at com.javabook.jvm.metaspace.JvmOutOfMemoryErrorOfMetaSpaceDemo.main(JvmOutOfMemoryErrorOfMetaSpaceDemo.java:38)
Caused by: java.lang.OutOfMemoryError: Metaspace
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at net.sf.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:415)
    at net.sf.cglib.core.ReflectUtils.defineClass(ReflectUtils.java:408)
    at net.sf.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:334)
    at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:93)
    at net.sf.cglib.core.AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:91)
    at net.sf.cglib.core.internal.LoadingCache$2.call(LoadingCache.java:54)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at net.sf.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:61)
    ... 6 more

Process finished with exit code 0