手记

java 中的内存分配总结

三个区域

堆空间

栈空间

方法区

存储内容

堆空间 : 存储 new 出来的对象

栈空间 : 方法 变量

方法区: 又分为静态域和常量池 静态域存放静态变量 常量池存放字面量

内存解析

String str = "abc"; static Int a = 10; //创建String类型的变量str;创建Int类型变量a

这里的str是非静态变量所以将其放入到栈中,而静态变量a则需要放入静态域中,对于变量值"abc"和10则都应该放入到常量池当中

String str=new String("abc"); //创建String类型的对象str
这里的str是String类型的对象,所以放入栈中,而new出来的东西则放入到堆中,对于初始值"abc"则放入到常量池中即可。

0人推荐
随时随地看视频
慕课网APP