您的位置:首页 > 编程语言 > Java开发

《java编程思想》读数笔记之---基础杂谈

2017-02-08 12:11 302 查看

一:用引用操作对象



二:内存分配

寄存器:
最快的存储区,位于处理器内部,数量有限,java程序员不能直接控制,在程序中感觉不到这块区域的存在,但是c和c++允许建议向寄存器分配内存。
堆栈:
位于随机访问存储区,堆栈指针可以获得处理器的直接支持,堆栈指针下移获得新内存,堆栈指针上移释放内存,速度仅次于寄存器,创建程序时,java系统必须知道在堆栈内所有项的确切声明周期,所以一般存java对象引用而不是存java对象。
堆:
也位于随机访问存储区,是一种通用的内存池,编译器不需要知道存储于堆中数据的生命周期,分配存储灵活,当需要一个对象时用new关键字,就可以在堆中分配内存,缺陷是分配和清理内存的时间较长。
常量存储:
通常直接放在程序代码内部,因为它永远不会被改变。
非RAM存储:
数据完全存活于程序外部,可以不受程序的控制,程序没有运行时也可以存在,比如流它可以从一台电脑到另一台电脑,还有持久化数据到硬盘。


三:基本类型(java中的基本类型都是小写,包装类型为大写)

java中存储在堆栈中的基本数据类型



另外java中还提供了可以支持任意精度整数的非基本数据类型BigIngeter,支持任意精度定点数的非基本数据类型的BigDecimal

四:基本成员的默认值

若是基本数据类型,java中,即使没有初始化java也会给其初始化一个默认值保证,初始化值为下图所示:




注意:当变量为成员变量时java才会确保给其默认值,如果是局部变量那么该值有可能是任意值java并不会自动给其初始化,自动初始化发生在构造器被调用之前。如下图代码。



上图中y是成员变量,所以其会被自动初始化,打印时编译通过,而j是局部变量,所以打印编译出错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 基础