java面试题网

普通会员

265

帖子

9

回复

179

积分

楼主
发表于 2018-03-21 18:01:09 | 查看: 904| 回复: 0

①通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用内存中的栈空间;

②而通过new关键字和构造器创建的对象放在堆空间;

③程序中的字面量(literal)如直接书写的100、"hello"和常量都是放在静态区中。

④栈空间操作起来最快但是栈很小,通常大量的对象都是放在堆空间,理论上整个内存没有被其他进程使用的空间甚至硬盘上的虚拟内存都可以被当成堆空间来使用。

⑤例如:String str = new String("hello");

上面的语句中变量str放在栈上,用new创建出来的字符串对象放在堆上,而"hello"这个字面量放在静态区。



您需要登录后才可以回帖 登录 | 立即注册

java面试题网无聊看看网与java建站系统提供技术支持V2.1 网站地图 © 2016-2018