Think in java 不少人推荐这本书,之前一直接触的都是C++和C对java来说也是新手一个,先从Think in java这本书开始恶补一下基础知识。
第1 章 对象入门
这章没什么好说的了,面向对象的一些基础概念,抽象,接口,继承,对象类的权限控制,集合,多线程编程,web,客户端编程和服务器编程。整体的介绍java的一些知识。
第二章 一切都是对象
1. 所有对象都必须创建
简单例子
String s = new String("asds");
2. Java 内存分配
- 寄存器
寄存器变量速度最快,但是容量有限
- 堆栈
驻留于常规RAM(随机访问存储器)区域,但可通过它的“堆栈指针”获得处理的直接支持
- 堆
一种常规用途的内存池(也在RAM 区域),其中保存了Java 对象
- 静态存储
这儿的“静态”(Static)是指“位于固定位置”(尽管也在RAM 里。static变量同c++中静态全局的变量,程序运行期间随时都可以调用。
- 常数存储
常数值通常直接置于程序代码内部。
- 非RAM 存储
数据完全独立与程序之外。如在磁盘上的数据。
3. 主要数据类型
Java 决定了每种主要类型的大小。就象在大多数语言里那样,这些大小并不随着机器结构的变化而变化。 所以平台可移植性性强
- boolean 1 位 - - Boolean
char 16 位 Unicode 0 Unicode 2 的16 次方-1 Character
byte 8 位 -128 +127 Byte(注释①)
short 16 位 -2 的15 次方 +2 的15 次方-1 Short(注释①)
int 32 位 -2 的31 次方 +2 的31 次方-1 Integer
long 64 位 -2 的63 次方 +2 的63 次方-1 Long
float 32 位 IEEE754 IEEE754 Float
double 64 位 IEEE754 IEEE754 Double
高精度的计算:BigInteger 和BigDecimal 在计费涉及到钱的计算就特别重要了
4.绝对不要清除对象
这个和c、c++巨大的区别所在,Java有自己的垃圾回收机制,不需要程序员去干预,大大简化了编程复杂度。
5.字段和方法
class 里面两种类型的元素:数据成员(字段)和成员函数(方法),
主类型成员的默认值
- Boolean false
- Char '\u0000'(null)
- byte (byte)0
- short (short)0
- int 0
- long 0L
- float 0.0f
- double 0.0d
对于以上主类型的成员,即使不显示的初始化,將取其默认值。