jvm 内存分配

public class T {
	
	private String a = "aa";
	
	public void t(){
		String b = "bb";
		final String c = "cc";
	}
}
请问这3个a,b,c分别在内存的什么存储区存放?

   通过javap -verbose T 查看 jdk6,7

  发现a b 在常量池,c却不在,请问c怎么不在常量池了

  在jdk8中发现再常量池中了

 原来是被优化了

猜你喜欢

转载自m635674608.iteye.com/blog/2262823