java的内容需要划分成为5个部分
1.栈(Stack)
:存放的都是方法中的局部变量。方法的运行一定要在栈当中进行
2.堆(Heap):凡是new出来的东西,都在堆当中
堆内存里面的东西都有一个地址值:16进制。堆内存里面的数据,都有默认值,规则:
整数:0
浮点数:0.0
字符:“\u0000"
布尔:false
引用:null
3.方法区(Method Area):存储.class相关的信息,包含方法的信息
4本地方法栈(Native Method Stack):与操作系统相关
5寄存器(pc Register):与CPU相关
流程是将方法区中的main方法加载到栈中,这叫做进栈,在栈内存中单独开辟一块空间。逐条的运行。需要使用成员变量,则通过main中声明的new中的地址指向堆中的成员变量。如果用到的是成员方法,则是先指向一个堆中的地址,这个堆中的空间会存储一个指向方法区的地址从而找到成员方法