String s="123"; 到底在栈中,堆中干了什么?
这个是不是JVM的知识啊?我目前学了一些Java的基础语法,但是发现好多这种问题解决不了,想学更多知识,这个是不是学了JVM会好理解些还是学习什么?
还有String s=new String("123"); 在栈中,堆中干了什么?
求老师解答,谢谢。
16
收起
正在回答
1回答
String s = new String("123");
你可以理解做了3件事,一是在栈中定义了一个引用类型的变量s,二是在堆中申请了一块内存把"123"保存进去,三是把堆中申请的这块内存的地址赋值给s。
另外和你说一下目前你就是学开车,这也是你以后的主要工作内容,JVM这种东西就和汽车是怎么造出来一样,诚然一流的赛车手对于汽车的各个配件都是非常了解的,但在学开车的初期千万别把注意力花在这上边,会给自己添加负担的。
初期看些入门些的书《Head First Java》或者《明解Java》都是可以的。
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星