1.Java虚拟机的内存划分
1. 寄存器
- 指向当前线程所执行的字节码指令的地址,给CPU使用(与开发无关)
2. 方法栈(内存)
- 方法运行时使用的内存,比如main方法运行,要进入方法栈内存中执行。
3. 本地方法栈
- 与方法栈很相似,是JVM在使用操作系统功能的时候使用(与开发无关)
4. 方法区
- 用于存储已被虚拟机加载的类信息、常量、静态变量、及时编译器编译后的代码等数据(可运行的class文件)
5. 堆内存
- 存储(new)对象或者数组,都存储在堆内存中。
2.基本数据类型与引用数据的区别
1. 方法的参数为基本类型时,传递的是数据值
2. 方法的参数为引用类型时,传递的是地址值.
3.方法的传入参数变量类型对原来结果的不同影响:
- 如果是基本数据类型,方法调用完毕从栈内存消失,对原来结果没影响;
- 如果是引用数据类型如数组传递的是地址值,改变了堆内存中的数据,
堆内存没有消失对原来的结果有影响
本文介绍了Java虚拟机的内存区域,包括寄存器、方法栈、本地方法栈、方法区和堆内存,详细阐述了它们各自的作用。同时,讨论了基本数据类型与引用数据类型的区别,指出在方法调用中,基本类型传递数据值,而引用类型传递地址值,这直接影响到方法执行后原数据的影响。
)&spm=1001.2101.3001.5002&articleId=111633273&d=1&t=3&u=a2f72fa8afe64889b377f88ecd7bac89)
753

被折叠的 条评论
为什么被折叠?



