浅析Java堆,Java方法区内存,Java栈

news/2024/5/20 9:54:41 标签: Java, , , 方法区

浅析JavaJava


方法区内存:一个
内存:一个
内存:一个线程一个

Java_5">Java(存放对象本身)

1.内存用于存放由new创建的对象和数组
2.在中分配的内存,由java虚拟机自动垃圾回收器来管理
3.在中产生了一个数组或者对象后,还可以在中定义一个特殊的变量,这个变量的
取值等于数组或者对象在内存中的首地址,在中的这个特殊的变量就变成了数组
或者对象的引用变量,以后就可以在程序中使用内存中的引用变量来访问中的数组
或者对象的引用变量。引用变量相当于为数组或者对象起的一个别名。

4.	成员变量中的实例对象是在内存的java对象内部存储。
5.	程序员不能直接操作内存,java中没有指针。
6.	给 引用.成员名 赋值,更改的是内存中student对象的数据

Java_17">Java方法区内存

保存系统的类信息(字段,方法,常量池,静态域)

Java_19">Java(存放基本数据类型和对象的引用)

1.java是一块线程私有的空间
2.局部变量表:用于保存函数的参数及局部变量
3.操作数:用于保存计算过程的中间结果,同时作为计算过程中的变量临时的存储空间。 
4.方法代码片段执行的时候,会给该方法分配内存空间,在内存中压(例如main()) 。
5.局部变量在内存中存储。

举个栗子

public static void main (string[]args){
int i=10;
student s= new student();
}
1.new运算符的作用是创建对象,在JAM内存中开辟新的内存空间
2.内存(局部变量):存放s引用,保存对象的内存地址。
3.内存:new的对象在内存中存储,存放new student()对象。
4.方法去内存:在类加载的时候,class字节码代码片段被加载到内存空间中

特别注意:
仅供参考学习,转载请附上原文链接
分享学习心得,如有侵权,望联系本人处理
还在读大学的程序员,项目经验少,如有纰漏,感谢指正
需要源代码请联系本人
谢谢配合

如果这篇文章对您有帮助,小小的点个赞,算是给小学弟的鼓励吧!谢谢大佬!!/呱呱.jpg


http://www.niftyadmin.cn/n/947350.html

相关文章

Java基本数据类型和引用数据类型的区别和关联

Java基本数据类型和引用数据类型的区别基本数据类型基类特点基类存储原理引用数据类型引类特点引类存储原理区别联系基本数据类型 byte short int long float double char boolean (详细属性请自行百度)基类特点 简单数据类型是不能简化的、内置…

Java成员变量默认赋值

成员变量默认赋值成员变量没有手动赋值的话,系统赋默认值数据类型: 默认值byte,short,int,long:0 float,double:0.0 (double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的 情况下都…

Java abstract类

abstractabstract类 (1)凡是用abstract修饰符修饰的类被称为抽象类。 (2)抽象类不能被实例化abstract方法 (1)被abstract所修饰的方法叫做抽象方法,抽象方法的作用在为所有子类定义一个 统一的接…

数据结构——C++栈

栈栈菜单栈菜单 #include<iostream> #include<stdlib.h> #include<string.h> #include<malloc.h> #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 #define STACK_INIT_SIZE 100 #define ST…

初学Java之理论篇_数组与枚举

数组与枚举数组与枚举数组与枚举 1.数组属于引用型变量&#xff0c;数组变量中存放着数组的首元素的地址&#xff0c;通过数组变量的名字 加索引使用数组的元素。 2.数据类型 数组名new 数据类型&#xff08;数组元素的个数&#xff09; 例如&#xff1a;float boy new float…

Java_作战命令(接口回调)

Java_作战命令接口回调技术fightCommand.javaMainClass.java接口回调技术 fightCommand.java public interface fightCommand{public void battle(String mess); }class LeaderHeader{String battleContent;public void giveCommand(fightCommand com) {com.battle(battleCon…

Java_公司与薪水(抽象类举例)

Java_公司与薪水CompanySalary.javaCompanySalary.java abstract class Employee{public abstract double earnings(); }class YearWorker extends Employee{public double earnings() {return 12000;} }class MonthWorker extends Employee{public double earnings() {return…

C#判断一个字符串是否为整数

判断一个字符串是否为数字 String num1“200.98”;int num2;double num3;if (int.TryParse(num1, out num2))return"都是数字&#xff0c;并且是整数"&#xff1b;if (double.TryParse(num1, out num3))return"都是数字&#xff0c;并且是浮点数"&#xff…