①通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是方法调用的现场保存都使用内存中的栈空间。
②通过new关键字和构造器创建的对象都放在堆空间。
③程序中的字面量,比如直接写的100、"hello world"和常量都放在静态区。
④栈空间操作起来最快但是小,通常对象都是放在堆空间,理论上整个内存没有被其他进程使用的空间甚至硬盘上的虚拟内存都可以被当成堆空间来使用。
⑤例如:
String str = new String("hello");
上面的语句,变量str放在栈上,用new创建出来的字符串对象放在堆上,而"hello"这个字面量放在静态区。
来源:CSDN
作者:学亮编程手记
链接:https://blog.csdn.net/a772304419/article/details/104132047