在java中你做的全部工作就是:定义类,产生那些类的对象,以及发送消息给这些对象
public static void main(String[] args) {
/**
* RAM-Random Access Memory易挥发性随机存取存储器,高速存取,读写时间相等,且与地址无关,如计算机内存等。
ROM-Read Only Memory只读存储器。断电后信息不丢失,如计算机启动用的BIOS芯片。存取速度很低,(较RAM而言)且不能改写。
由于不能改写信息,不能升级,现已很少使用。
ROM和RAM是计算机内存储器的两种型号,ROM表示的是只读存储器,即:它只能读出信息,不能写入信息,
计算机关闭电源后其内的信息仍旧保存,一般用它存储固定的系统软件和字库等。RAM表示的是读写存储器,
可其中的任一存储单元进行读或写操作,计算机关闭电源后其内的信息将不在保存,再次开机需要重新装入,通常用来存放操作系统,
各种正在运行的软件、输入和输出数据、中间结果及与外存交换信息等,我们常说的内存主要是指RAM。
*/
/**
* <存储位置>:
* 1)寄存器:速度最快,位于处理器内部
* 2)堆栈stack:位于RAM中 ,堆栈指针向下移动,分配新的内存,向上移动释放那些内存,仅次于寄存器。某些java数据存储于堆栈中——特别是对象引用。
* 但是java对象不在其中。
* 3)堆heap:位于RAM中,一种通用的内存池,用于存储所有java对象,
* 堆和堆栈:编译器不需要知道存储的数据要在堆里存活多长时间。比如new来新建一个对象时,会自动在堆里进行存储分配。堆中的速度比堆栈中慢。
* 4)常量存储:常量值通常直接存放在程序代码内部,永远不会被改变。嵌入式程序中,常量有时会和其它部分分开,这种情况可以选中将常量放入rom中
* 5)非RAM存储:如果数据存活于程序之外,那么它可以不受程序的任何控制,在程序没运行时也可以存在。其中两基本例子是流对象和持久化对象。
* 在流对象中,对象转化成字节流,通常被发送给另一台机器。
* 在“持久化对象”中,对象被存放于磁盘上,因此,即使程序终止,它们仍可以保持自己的状态。
* 这种存储方式技巧在于:把对象转化为可以存放在其它媒介上的事物,在需要时,可恢复成常规的,基于RAM的对象。JAVA提供了对轻量级持久化的支持
*/
//创建的一个引用,并不是对象
Cat c;
//new关键字的意思是“给我一个新对象”
c=new Cat();
//程序运行是,对象的放置,内存分配
/**
* <基本数据类型>
* 开发中经常用到的一系列类型,java做了特殊对待。可以把它们想象成“基本”类型。它们不需要进行new来创建变量(将对象存入"堆"中),
* 而是创建一个并非引用的"自动"变量,这个变量直接存储值,并放入堆栈中,更加高效;
* java需要确定每种基本类型占用的存储空间大小,不像其它语言随机器硬件变化而变化,这也是java比其它大多数语言更具有移植性的原因
*/
int a=100;
char sex='男';
/**
* 基本类型的包装器类,使得可以在堆中创建一个非基本对象,用来表示对应的基本类型:
*/
char c1='x';
Character ch=new Character(c1);
//or
Character ch2=new Character('x');
//JAVA SE5自动包装功能将自动在基本类型和包装类型之间转换
Character ch3='x';
char c2=ch3;
/**
* scope作用域:
* 大多数过程型语言都有作用域的概念。作用域觉得了其内定义的遍历在程序中的可见性和生命周期.在c,c++和java中,作用域由{花括号}的位置决定
*
*/
}