- 什么是反射?
反射是运行中的程序检查自己和软件运行环境的能力,它可以根据它发现的进行改变。 - 什么是 java 序列化?什么情况下需要序列化?
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化,将数据分解成字节流,以便存储在文件中或在网络上传输。
用途:
1)把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
2) 在网络上传送对象的字节序列。 - 动态代理是什么?有哪些应用?
动态代理:在程序运行时,运用反射机制动态创建而成。具有解耦意义,灵活,扩展性强。
应用:Spring的AOP,加事务,加权限,加日志 - 怎么实现动态代理?
动态代理实现:首先必须定义一个接口,还要有一个InvocationHandler(将实现接口的类的对象传递给它)处理类。再有一个工具类Proxy(习惯性将其称为代理类,因为调用他的newInstance()可以产生代理对象,其实他只是一个产生代理对象的工具类)。利用到InvocationHandler,拼接代理类源码,将其编译生成代理类的二进制码,利用加载器加载,并将其实例化产生代理对象,最后返回。
java面试---反射
最新推荐文章于 2022-12-24 20:14:58 发布