1.finally 、final 、fianlize
finally:异常处理的一部分
final:最终的可以可以修饰类、变量、方法
finalize:
final:
java最终类不能派生子类,最终方法不能被覆盖.
最终类就是final修饰的类,比如String就是最终类,不可以被继承,
用final修饰的方法不能被覆盖,一个道理
修饰方法:如下会出现覆盖
public class Final {
public static void main(String[] args) { B b=new B();}}
class A { public final void m1(){ }
}
class B extends A { public void m1() {
} }
finalize: 某个对象被gc回收时,所在的类的finalize方法会执行
System.gc()是“呼叫”垃圾回收器回收垃圾的,这么说不太严谨, 其实但是只是“通知”而已,具体回收不回收由垃圾收集器的算法决定, 你完全可以开发一个什么也不干的垃圾收集器,或者等内存被占用超过一定比例再回收的垃圾收集器。
finalize()方法是一个类对象在销毁时会被调用的方法,
垃圾收集器在发现这个类对象不会再被使用时就会回收内存,也就是销毁该对象,
从而finalize()被调用了。你这个程序System.gc()是最后一句,
显然前一句创建的Book对象后面不会被使用了,
所以JDK带的垃圾回收算法就会调用该对象的销毁方法来回收了。
System.gc();// 循环执行垃圾回收
垃圾回收 无法干预
3 什么事输入流 ,什么事输出流
所有带有InputStream都是输入流,所有带有Reader 也都是输入流
所有带有OutputStream 都是输出流。所有带有Writer也是输出流
数据流动:
内存-》硬盘 :这是什么流?输出 硬盘-》内存 :这是什么流?输入小明发消息给小红:小明是输入还是输出?小红是输入还是输出?
小明先从键盘输入,然后在输出消息。
小红读取小明信息,是输入。
4 、字节流 字符流
文本文档(纯文本):字符流
音频 视频 图片等:字节流
java提供的类:
以stream结尾的都是字节流 以Reader或者Writer结尾都是字节流
3.原始流 装饰流(包装流)
4.什么是流的末尾? 当 read()返回的值是 -1的时候
读取记事本: 没行读取
public class Test { public static void main(String args[]) throws Exception { BufferedReader br=new BufferedReader(new FileReader(“D:/test.txt”));
StringBuffer sb=new StringBuffer(); String line=null; while((line=br.readLine())!=null) { sb.append(line); } System.out.PRintln(sb.toString());} }
多态: 相同的行为作用在不同的对象上,有不同的表现
动物:叫
Animal animal=new Dog();(任意更换:接口不变(同一个父类))
animal.叫();
实现多态的两个途径:
1.接口
2、抽象类
实际使用 接口多余抽象类
OCP:对扩展开放,对修改闭合
分页语句不一样
分页SQL固化在程序中
第二本书:
异常
java特色:健壮 (因为异常捕捉可以精确提示错误什么是错误。)
检查异常(必须处理):因为发生的概率很大
1、IO流(读写文件) 2、SQL(数据库操作) 3、Socket通信(网络传输)
try{ }catch() { }
运行时异常(不用处理,处理了也没错。) //系统还没有分层,web项目时可以知道
新闻热点
疑难解答