href="file:///C:/DOCUME~1/lsk/LOCALS~1/Temp/msohtml1/01/clip_filelist.xml" rel="File-List" />
泛型:
1. <T extends Numnber>支持限定类型,注意,这里使用Interface限定,也用extends关键字。
2. 高版本编译未使用泛型的代码时,可使用@SuppressWarnings({“unchecked”})
3. 同一个类匹配不同的泛型后,便不能作为同一类型的类使用,比如不再是继承关系等,即便匹配的泛型具有继承关系.因此使用泛型后,方法的通用性会下降。
4. 类型通配符<?>,如Vecor<?> 是任何泛型Vecor的父类,Vecor<?>使用时泛型变量的使用受到限制,任何需要明确类型才可使用的方法都被禁止。
线程:
5. 集成Thread类,实现Runnable接口。各有优势。集成Thread类,执行时可以直接调用start()方法,实现接口的则需创建新Thread的,将实现接口的类实例作为参数传递后执行。
6. 线程优先级根据操作系统的不同,不确定效果,不建议使用。
7. 可针对一个类或方法是用synchronized,同步锁,使用wait(),notify(),notifyall()控制。
8. 线程间可通过piped流进行通信。
9. 线程的终止的方式,run()方法中使用永久循环,对flag进行判断,终止方法中对flag标记。
10. 通过t.join()方法暂停当前进程,运行t进程。
11. 虽然Vector是同步类型,对其增加删除元素是同步的,但如果不同线程中有对其size进行判断的,则会出现问题。(可动态对size判断,如for(int i=0;i<vt.size();i++))
IO读写
1. 字节类型(stream)和字符类型(reader,writer),分别对应二进制文件和文本文件
2. 使用buffer的对小粒度读取的类进行再封装。
3. DataInputStream具有平台无关性。可用于网络读取。
4. 注意关闭文件。
5. 类的序列化Serializable,其中static方法不能序列化,不希望进行序列化的非static方法或属性,可以使用关键字transient表明。
设计模式
1. 接口属于它的客户,而不是派生类。
2. 当出现两种可能的变化时,想到 桥梁模式bridge。