内存的分析
程序执行过程
一般来说,我们只需了解java在存储时的大概过程,不需要特别深入去研究
1、程序(在硬盘中)
2、代码(加载到内存)
3、找到main方法开始执行(操作系统代码)
4、内存管理(自上而下:堆、栈、静态域和常量池)
a、堆:new出来的对象存放区域,存放时主要是动态生成的对象和数组。
ps:定义:在声明之后对变量进行初始化,设初值过程 ;声明:定义变量的名字;Java变量的声明过程中,是不允许没有初始化变量的
b、栈:存放基本类型的变量(局部变量)和对象引用。
ps:数据共享,同时指定两个不同的的引用的变量,只需要指向相同的地址就好,不用重新开辟内存
c、静态域:存放静态变量和字符串常量
d、常量池:在编译完成后,存放在.class文件中,包括一些基 本的数据类型和相应的类的接口和声明。