1. 接口中的属性:public static final 公共的,静态的,常量的,相当于全局常量。抽象类介于接口和具体类中间,属性既可以是常量,又可以是变量,方法既可以抽象,又可以不抽象。而接口比其更抽象,属性必须是常量(只可读不可改),方法必须抽象,对修改关闭,对扩展(implements)开放。否则和抽象类无二样。
2. 异常分为两种:
编译期异常:Exception及其子类(必须处理,否则编译不通过)。常见的有:找不到类、非法访问异常、线程中断异常、请求字段不存在异常、请求方法不存在异常等。
运行期异常:RuntimeException及其子类(可不处理,JVM处理:停止线程,打印异常)。常见的有:数组下标越界、非法强制类型转换、索引越界、空指针异常、算术异常等
两种异常处理方式:
1)try-catch(“可有可无块”,try中有异常发生,就生成一个异常对象,catch进行捕获)-finally(“可有可无块”,用于“扫尾”,如释放资源等。有的话无论catch执不执行,其都执行)
2)throws 异常名,位于方法定义或声明上,交由调用者进行异常处理。
Note:一段代码code前出现 throw 异常对象(抛出异常信息),分为以下三种情况:
A. throw语句没有被捕获,code代码编译错误,无法访问,必须处理(try-cath-finally或者throws)
B. throw语句被try-catch-finally捕获,且catch中无新的异常(throw异常对象和catch捕获的异常对象相同),code代码正常执行。否则,同A方案
C. throw语句在条件语句中,code代码编译通过,但不执行。
3. ceil 天花板数,向上取整;floor 地板数,向下取整。结果都为double。
Note:-1.0至0.0之间的向上取整为-0.0,同理0.0至1.0的向下取整为0.0
4. -Xmx 最大堆大小
-Xms 初始堆大小(最小内存值)
-Xmn 新生代大小
-XXSurvivorRatio 新生代中Eden区和Survivor区一个区大小的比值(Survivor区有两个,一个From区,一个To区,大小相等)
5. Java中的深拷贝和浅拷贝
Java中的数据类型:基本数据类型(4类8种)、引用数据类型
5.1 浅拷贝:通过构造方法实现
基本数据类型是值传递,一对象的属性(成员变量)复制一份给另一个对象,一个对象此成员变量值的改变不影响另一个对象的成员变量值
引用数据类型是地址(引用)传递,一对象的成员变量的引用复制给另一个对象(俩对象的成员变量都指向同一个实例,地址空间),此时一对象此成员变量的改变会影响到另一个对象对应成员变量值
5.2 深拷贝:通过对象序列化实现
一个对象成员变量值的改变不影响另一个拷贝对象的属性(成员变量)