java基础
1.java中的对象
在java中,当你创建一个对象,Object o = new Object(),此时创建的对象会存在于堆中,而我们看到的o是实际对象的引用,也就是o实际是指向对象的物理地址。
o也可以独立存在,但在使用中会报错。引用和对象之间的关系就像是遥控器和电视一样,创建一个电视就要有一个遥控器,否则不能操作电视。虽然遥控器可以独立存在,但没有可使用的电视,遥控器也就没有用处。
2.java的内存区域
1.寄存器: 位于处理器内部,速度最快,但数量有限,必须按需分配。
2.栈:位于随机访问存储器(RAM),java系统必须知道在栈中对象的数量及生命周期。
3.堆:位于RAM,存放java对象。与栈不同的java编译器不需要知道在堆中存在多少对象。
4.常量存储:位于程序代码内部,因为他们不会被改变,建议放在ROM(只读存储器)中。
5.非RAM区:独立于程序的数据,例如文件流和数据库数据。这些数据必须可以存放在其他的媒介上,在使用是可以转化为对象。
3.基本类型
基本类型不需要创建其引用,直接赋值即可。存放于栈中,存取速率高,占用空间固定不变。
基本类型 所占空间 最小值 最大值 包装器类型
byte 8bit -128 +127 Byte
char 16bit unicode 0 unicode +216-1 Character
short 16bit -215 +215-1 Short
int 32bit -231 +231-1 Integer
long 64bit -263 +263-1 Long
float 32bit Float
double 64bit Double
boolean Boolean