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) {
//...
}
//...
} // 一般采用如上所示的开、闭花括号的方式