专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 经典电信Java面试题目汇总

经典电信Java面试题目汇总

更新时间:2020-02-26 09:53:38 来源:动力节点 浏览2854次


  什么是反射?


  Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。而这也是Java被视为动态(或准动态,为啥要说是准动态,因为一般而言的动态语言定义是程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。)语言的一个关键性质。


  什么是java序列化?什么情况下需要序列化?


  序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。


  当Java对象需要在网络上传输或者持久化存储到文件中时,就需要对Java对象进行序列化处理。


  动态代理是什么?有哪些应用?


  动态代理:当想要给实现了某个接口的类中的方法,加一些额外的处理。比如说加日志,加事务等。可以给这个类创建一个代理,故名思议就是创建一个新的类,这个类不仅包含原来类方法的功能,而且还在原来的基础上添加了额外处理的新类。这个代理类并不是定义好的,是动态生成的。具有解耦意义,灵活,扩展性强。


  动态代理的应用:Spring的AOP,加事务,加权限,加日志。


经典电信Java面试题目汇总


  怎么实现动态代理?


  动态代理实现:首先必须定义一个接口,还要有一个InvocationHandler(将实现接口的类的对象传递给它)处理类。再有一个工具类Proxy(习惯性将其称为代理类,因为调用他的newInstance()可以产生代理对象,其实他只是一个产生代理对象的工具类)。利用到InvocationHandler,拼接代理类源码,将其编译生成代理类的二进制码,利用加载器加载,并将其实例化产生代理对象,最后返回。


  为什么要使用克隆?


  想对一个对象进行处理,又想保留原有的数据进行接下来的操作,就需要克隆了。克隆分浅克隆和深克隆,浅克隆后的对象中非基本对象和原对象指向同一块内存,因此对这些非基本对象的修改会同时更改克隆前后的对象。深克隆可以实现完全的克隆,可以用反射的方式或序列化的方式实现。


  如何实现对象克隆?


  有两种方式:


  1).实现Cloneable接口并重写Object类中的clone()方法;


  2).实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆,代码如下。


  深拷贝和浅拷贝区别是什么?


  在有指针成员的情况下,浅拷贝只是将指针指向已存在的内存。即两个对象的指针成员指向的是同一内存区域。深拷贝的做法是申请一个内存复制一份,并将新对象指针指向备份区。


  安全性:浅拷贝如果修改了指针指向的内容,将对两个对象都有影响。


  jsp和servlet有什么区别?


  jsp是html页面中内嵌的Java代码,侧重页面显示;


  Servlet是html代码和Java代码分离,侧重逻辑控制,mvc设计思想中jsp位于视图层,servlet位于控制层Jsp运行机制.


  jsp有哪些内置对象?作用分别是什么?


  Page,pageContext,request,response,session,application,out,config,exception


  Page指的是JSP被翻译成Servlet的对象的引用.


  pageContext对象可以用来获得其他8个内置对象,还可以作为JSP的域范围对象使用.pageContext中存的值是当前的页面的作用范围》


  request代表的是请求对象,可以用于获得客户机的信息,也可以作为域对象来使用,使用request保存的数据在一次请求范围内有效。


  Session代表的是一次会话,可以用于保存用户的私有的信息,也可以作为域对象使用,使用session保存的数据在一次会话范围有效


  Application:代表整个应用范围,使用这个对象保存的数据在整个web应用中都有效。


  Response是响应对象,代表的是从服务器向浏览器响应数据.


  Out:JSPWriter是用于向页面输出内容的对象


  Config:指的是ServletConfig用于JSP翻译成Servlet后获得Servlet的配置的对象.


  Exception:在页面中设置isErrorPage=”true”,即可使用,是Throwable的引用.用来获得页面的错误信息。


经典电信Java面试题目汇总


      以上就是动力节点Java培训机构小编介绍的“经典电信Java面试题目汇总”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>