一。JVM
常量池在java用于保存在编译期已确定的,已编译的class文件中的一份数据。它包括了关于类,方法,接口等中的常量,也包括字符串常量
常量池中除了包含代码中所定义的各种基本类型(如int、long等等)和对象型(如String及数组)的常量值外,还包含一些以文本形式出现的符号引用,比如:
类和接口的全限定名;
字段的名称和描述符;
方法和名称和描述符。
那么编译器将源程序编译成class文件后,会用一部分字节分类存储这些粗体代码。而这些字节我们就称为常量池。事实上,只有JVM加载class后,在方法区中为它们开辟了空间才更像一个“池”。
java 为了更有效的使用内存,常量池在编译期遇见String 字符串时,它会检查该池内是否已经存在相同的String 字符串,如果找到,就把新变量的引用指向现有的字符串对象,
不创建任何新的String 常量对象,没找到再创建新的。所以对一个字符串对象的任何修改,都会产生一个新的字符串对象,原来的依然存在,等待垃圾回收。
二、万物皆对象
1.面向对象特点.
1)万物皆为对象。
2)程序是对象的集合。
3)每个对象都有自己的由其他对象所够成的存储。
4)每个对象都拥有其类型。
5)某一特定类型的所有对象都可以接收同样的消息
2.对象具有状态、行为和标识。
*)每一个对象都可以拥有内部数据(它们给出了该对象的状态)
*)每一个对象都可以拥有方法(它们产生行为)
*)并且每一个对象在内存中都有一个唯一的地址,与可以唯一地与其他对象区分开来。
三、流程
1.return、continue、break的使用
outer:
while(){
for(){
break;//(1)
continue;//(2)
continue outer;//(3)
break outer;//(4)
}
}
(1)中,break中断内部的循环,回到外部循环
(2)中,continue使执行点回到内部循环的起始处
(3)中,continue outer同时中断内部以及外部循环,直接转到outer处,实际上继续从外部循环开始循环。
(4)中,break outer也会中断所有循环,并回到outer处,但并不重新进入循环。实际上完全中止了两个循环。
========java编程思想第四版,下载链接===========================
http://download.youkuaiyun.com/detail/tzguo1314/5314416