该书籍PDF下载地址:
93.java的泛型是类型擦除的
Java的泛型类型在编译期被擦除
94.不能初始化泛型参数和数组
95.强制声明泛型的实际类型
98.泛型建议采用的顺序List<T>,List<?>,List<Object>
List<T>,T表示某个具体的类型,可以进行读写操作,
List<?>:只能进行读操作,不能添加和修改
List<Object>:可以进行读写,但是写操作要向上转型,读操作要向下转型
99.严格限定泛型类型,采用多重限定
通过&设置多重边界
101.Class类
java语音是先把java文件编译成后缀为class的字节码文件,然后通过ClassLoader机制把这些类文件加载到内存中,最后生成实例执行的,这是java的基本机制。
102.适时使用getDeclaredXxx和getXxx方法
getDeclaredXxx:是获得所有public的访问级别的方法,包括从父类继承的方法,
getXxx:是获得自身类的方法,包括公有和私有方法
103.反射访问属性和方法的时候将Accessible设置为true
Accessible属性只是用来判断是否需要进行安全检查,如不需要,可以直接执行,这可以大幅度提升性能。
104.使用forName动态加载文件
forName只是加载类,并不会执行任何代码。加载类的时候,类加载机制会去执行static代码块和static属性
105.通过反射操作数组使用Array类,不要采用通用的反射处理