JVM-周阳讲解

二次信任 提交于 2019-12-09 15:52:37

 


 
  1. package com.shi.jvm;

  2.  
  3. public class StackTest {

  4.  
  5. /**

  6. * 递归调用

  7. */

  8. public static void add() {

  9. add();

  10. }

  11.  
  12. /**

  13. * 栈满了异常

  14. * Exception in thread "main" java.lang.StackOverflowError

  15. * @param args

  16. */

  17. public static void main(String[] args) {

  18. add();

  19. }

  20.  
  21. }


 
  1. package com.shi.jvm;

  2.  
  3. public class HeapTest {

  4.  
  5. public static void main(String[] args) {

  6.  
  7. /**

  8. * 堆内存异常

  9. * 输出结果:当前最大可用内存多少M : 1724

  10. * Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

  11. * at com.shi.jvm.HeapTest.main(HeapTest.java:8)

  12. */

  13. System.out.println("当前最大可用内存多少M : "+Runtime.getRuntime().maxMemory()/1024/1024);

  14. //创建一个大对象

  15. byte[] b = new byte[1*1024*1024*1725];

  16. System.out.println("大对象创建成功");

  17. }

  18.  
  19. }

 


 
  1. package com.shi.jvm;

  2.  
  3. import java.util.Random;

  4. /**

  5. * -Xms1024m -Xmx1024m -XX:+PrintGCDetails

  6. 堆初始化内存,堆最大内存 打印出堆GC回收信息

  7. * @author shiye

  8. *

  9. */

  10. public class HeapSpaceTest {

  11.  
  12.  
  13. public static void main(String[] args) {

  14.  
  15. /**

  16. * 输出: MAX_MEMERY = 1808269312(字节)1724.5MB

  17. TOTAL_MEMERY = 122683392(字节)117.0MB

  18. * @param args

  19. */

  20. // long maxMemory = Runtime.getRuntime().maxMemory();//返回Java虚拟机试图使用的最大内存量

  21. // long totalMemory = Runtime.getRuntime().totalMemory();//返回当前使用的java虚拟机的内存总量

  22. // System.out.println("MAX_MEMERY = " + maxMemory +"(字节)" + (maxMemory/(double)1024/1024) + "MB");

  23. // System.out.println("TOTAL_MEMERY = " + totalMemory +"(字节)" + (totalMemory/(double)1024/1024) + "MB");

  24.  
  25.  
  26. //-Xms8m -Xmx8m -XX:+PrintGCDetails

  27. String str = "www.shiye";

  28. while(true) {

  29. str += str + new Random().nextInt(9999);

  30. }

  31. /**

  32. * 结果: Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

  33. */

  34. }

  35. }

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!