java常见面试问题及答案回答技巧,JAVA常见面试题
如何解决写爬虫IP受阻的问题?立即使用。
什么是反射?
反射主要指程序能够访问、检测和修改自身状态或行为的能力。
Java反射:(推荐学习:java常见问题)
在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?
你能调用任何对象的任何方法吗?
Java反射机制主要提供了以下功能:
确定任何对象在运行时所属的类。
在运行时构造任何类的对象。
在运行时判断任何类的成员变量和方法。
在运行时调用任何对象的方法。
什么是 java 序列化?什么情况下需要序列化?
简单来说就是将各种对象(即实例变量,而不是方法)的状态保存在内存中,并再次读出保存的对象状态。
虽然您可以用自己的各种方式保存对象状态,但Java为您提供了一种比您自己更好的保存对象状态的机制,即序列化。
什么情况下需要序列化:
a)当您想将内存中对象的状态保存到文件或数据库中时;
b)当你想使用套接字在网络上传输对象时;
c)当你想通过RMI转移对象的时候;
动态代理是什么?有哪些应用?
动态代理:
当您想要向实现接口的类中的方法添加一些额外的处理时。
比如添加日志,添加事务等。你可以为这个类创建一个代理,所以它被称为一个新类。这个类不仅包含了原来类方法的功能,还在原来的基础上增加了一个额外处理的新类。
这个代理类不是定义的,而是动态生成的。它具有解耦意义、灵活性和很强的可扩展性。
动代理的应用:
春天的AOP
添加业务
添加权限
添加日志
怎么实现动态代理?
首先,必须定义一个接口,还必须有一个InvocationHandler(将实现接口的类的对象传递给它)来处理该类。
还有一个工具类proxy(习惯上叫Proxy类,因为调用他的newInstance()可以生成代理对象,但实际上他只是一个生成代理对象的工具类)。
使用InvocationHandler拼接代理类的源代码,编译成代理类的二进制代码,用loader加载,实例化生成代理对象,最后返回。
更多java相关技术,请访问Java视频教程专栏学习!以上是java反射常见面试问题的详细介绍。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。