首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JVM-周阳讲解

JVM-周阳讲解

作者头像
用户5927264
发布2019-09-04 16:45:56
5310
发布2019-09-04 16:45:56
举报
文章被收录于专栏:OSChinaOSChina
package com.shi.jvm;

public class StackTest {
	
	/**
	 * 递归调用
	 */
	public static void add() {
		add();
	}

	/**
	 * 	栈满了异常
	 * Exception in thread "main" java.lang.StackOverflowError
	 * @param args
	 */
	public static void main(String[] args) {
		add();
	}

}
package com.shi.jvm;

public class HeapTest {

	public static void main(String[] args) {
		
		/**
		 *   堆内存异常
		 *    输出结果:当前最大可用内存多少M : 1724
		* 	Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
		* 	at com.shi.jvm.HeapTest.main(HeapTest.java:8)
		*/
		System.out.println("当前最大可用内存多少M : "+Runtime.getRuntime().maxMemory()/1024/1024);
		//创建一个大对象
		byte[] b = new byte[1*1024*1024*1725];
		System.out.println("大对象创建成功");
	}

}
package com.shi.jvm;

import java.util.Random;
/**
 *  -Xms1024m -Xmx1024m   -XX:+PrintGCDetails
	堆初始化内存,堆最大内存    打印出堆GC回收信息
 * @author shiye
 *
 */
public class HeapSpaceTest {

	
	public static void main(String[] args) {
		
		/**
		 *    输出:	MAX_MEMERY = 1808269312(字节)1724.5MB
				TOTAL_MEMERY = 122683392(字节)117.0MB
		 * @param args
		 */
//		long maxMemory = Runtime.getRuntime().maxMemory();//返回Java虚拟机试图使用的最大内存量
//		long totalMemory = Runtime.getRuntime().totalMemory();//返回当前使用的java虚拟机的内存总量
//		System.out.println("MAX_MEMERY = " + maxMemory +"(字节)" + (maxMemory/(double)1024/1024) + "MB");
//		System.out.println("TOTAL_MEMERY = " + totalMemory +"(字节)" + (totalMemory/(double)1024/1024) + "MB");
		
		
		//-Xms8m -Xmx8m   -XX:+PrintGCDetails
		String str = "www.shiye";
		while(true) {
			str += str + new Random().nextInt(9999);
		}
		/**
		 * 结果: Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
		 */
	}
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档