1. 用引用操纵对象
2. 数据存储区:
1 )寄存器:最快的存储区(位于处理器内部),在Java编程 中不能直接控制
2 )堆栈 (stack) :位于通用RAM (随机访问存储器),但通过堆栈指针可以从处理器那里获得直接支持。堆栈指针若向下移动, 则分配新的内存;若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,速度仅次于寄存器。创建程序时,Java系统必须知道存储在堆栈内所有项的确切生命周期,以便上下移动堆栈指针。
3 ) 堆 (heap) :通用的内存池(位于RAM 区),用于存放所有的 Java 对象 。堆不同于堆栈的好处是:编译器不需要知道存储的数据在堆中存活多长时间。
4 )常量存储:常量值通常直接存放在程序代码内部。有时,在嵌入式系统中,常量本身会和其他部分隔离开,在这种情况下可以选择将其存放在ROM (只读存储器)中。
5 )非RAM 存储:数据完全存活于程序之外。
3. 基本类型:
基本类型 | 大小 | 最小值 | 最大值 | 包装器类型 |
void | - | - | - | Void |
boolean | - | - | - | Boolean |
char | 16bit | Unicode 0 | Unicode 216 -1 | Character |
byte | 8bit | -128 | +127 | Byte |
short | 16bit | -215 | +215 -1 | Short |
int | 32bit | -231 | +231 -1 | Integer |
long | 64bit | -263 | +263 -1 | Long |
float | 32bit | IEEE754 | IEEE754 | Float |
double | 64bit | IEEE754 | IEEE754 | Double |
4. 永远不需要销毁对象
1) 作用域(scope)
在C 、C++ 、Java 中,作用域由花括号的位置决定。
{
int x=12;// only x avaliable
{
int q=20;// both x & q avaliable
}
//only x avaliable,q is out of scope
}
Java 不允许如下写法:
{ // 类定义的花括号除外
int x=12;
{
int x=20; // illegal ,duplicate local variable x
}
}
2) 对象的作用域
Java 对象可以存活于作用域之外。如;
{
String s =new String ( ”a string” );
}
引用s 的作用域在花括号终点结束,而s 指向的对象仍然继续占据内存空间,直至被Java 的垃圾回收器回收。
5. 嵌入式文档
6.Java 编码风格:驼峰风格
class AllTheColorOfTheRainbow {
/* 类名的首字母要大写,如果类名由几个单词构成,那么把它们并在一起(也就是説,不要用下划线来分隔名字),其中每个内部单词的首字母都采用大写形式。*/
/* 几乎其他所有内容--- 方法、字段(成员变量)以及对象引用名称等与上述风格一样,只是标识符的第一个字母采用小写。*/
int anIntegerRepresentingColors;
void changTheHueOfTheColor(int newHue) {
//...
}
//...
} // 一般采用如上所示的开、闭花括号的方式