1. 举例什么地方用到反射机制
- JDBC中,利用反射动态加载了数据库驱动程序
- Web服务器中利用反射调用了Sevlet的服务方法
- Eclipse等开发工具利用反射动态刨析对象的类型与结构,动态提示对象的属性和方法
- 很多框架都用到反射机制,注入属性,调用方法,如Spring
2. Java反射机制的作用
- 在运行时判定任意一个对象所属的类
- 在运行时构造任意一个类的对象
- 在运行时判定任意一个类所具有的成员变量和方法
- 在运行时调用任意一个对象的方法
- 生成动态代理
3. Java反射机制类
java.lang.Class; // 类 java.lang.reflect.Constructor; // 构造方法 java.lang.reflect.Field; // 类的成员变量 java.lang.reflect.Method; // 类的方法 Java.lang.reflect.Modifier; // 访问权限
4. 反射机制优缺点
- 优点:运行期类型的判断,动态加载类,提高代码灵活度
- 缺点:性能瓶颈:反射相当于一系列解释操作,通知JVM要做的事情,性能比直接的Java代码要慢很多
5. 利用反射创建对象
- 利用一个全限类名创建一个对象Class.forName(“全限类名”);
- 获取构造器对象,通过构造器new出一个对象 Class.getConstructor([String.class]); Con.newInstance([参数])
- 通过class对象创建一个实例对象(就相当于与new类名() 无参构造器) Cls.newInstance();
6. 什么是IO流?
- 它是一种数据的流从源头流向目的地。比如文件拷贝,输入流和输出流都包括了。输入流从文件中读取数据存储到进程(process)中,输出流从进程中读取数据然后写入到目标文件
7. Java中有几种类型的流?
- 按照单位大小:字符流、字节流
- 按照流的方向:输出流、输入流
8. 字节流和字符流哪个好?怎么选择?
- 绝大多数情况下使用字节流会更好,因为字节流是字符流的包装,而大多数时候IO操作都是直接操作磁盘文件,所以这些流在传输时都是以字节的方式进行的(图片等都是按字节存储的)
- 如果对于操作需要通过IO在内存中频繁处理字符串的情况使用字符流会好一些,因为字符流具备缓冲区,提高了性能
9. 读取数据量大的文件时,速度会很慢,如何选择流?
- 字节流时,选择BufferedInputStream和BufferedOutputStream
- 字符流时,选择BufferedReader和BufferedWrite
10. IO模型有几种?
- 阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO
上一篇:Java面试手册V2.0+突击V3.0知识点整理(十) 附封面图片
下一篇:Java面试手册V2.0+突击V3.0知识点整理(十二) 附封面图片
如果觉得封面图片还行,请顺手点个赞



