0.寄存器:
寄存器是存在在cpu上的。而内存是挂在数据总线的,数据总线就是用来决定传输数据的大小。而就是通过在寄存器上的地址来寻找相应内存。总的来说,寄存器和内存是两个东西,程序是无法来控制寄存器,所以这里了解一下就可以了。主要涉及到运行程序涉及到的就是下面这些栈(stack)、堆(heap)、静态域、常量池。
1.堆栈:就是堆中的栈,比如牛奶,是牛身上的奶;
栈中主要存放一些基本类型的变量( int, short, long, byte,float, double, boolean, char )和对象引用。 对象是不会放置在里面的。
2.堆:存放的主要是动态生成的对象和数组。从这个存放的数据可以知道,这个堆里面存放的是,在程序运行的时候生成的一些数据。如:对象的定义和变量的定义。
3.数据共享Data segment
3.1常量池
这个主要是在编译完成后,存放在.class文件中(code segment)。包括一些基本的数据类型和相应的类的接口和声明。换言之就是在编译后,程序中经常使用的不会改变的。
3.2 静态域
这个就是咱们存放在对象中的静态变量。随着类加载而加载。
静态常量,构造方法等,都会触发类加载。
//======================================================
PCB //程序控制块 你懂的...
stack //局部变量...
。
。 //stack往下动态增长,heap往上动态增长
。
heap //new出来的...
bss segment //未初始化全局变量...
data segment //数据段,程序运行的中间数据
code segment //代码段,程序要运行,当然要把代码移进内存啊
//==============================================================