电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

资深Java面试题大全VIP免费

资深Java面试题大全_第1页
1/5
资深Java面试题大全_第2页
2/5
资深Java面试题大全_第3页
3/5
一.JAVA基础问题一:java关键字volatile的作用是什么?能保证原子性吗?答:用volatile修饰的变量,线程在每次使用变量的时候,都会读取变量修改后的最的值。不能保证原子性。问题二:四种线程池,如何配置线程池的线程数答:newFixedThreadPool创建一个指定工作线程数量的线程池(常用)newCachedThreadPool创建一个可缓存的线程池newSingleThreadExecutor只创建一个线程来执行任务newScheduleThreadPool创建一个定长的线程池,而且支持定时的以及周期性的任务执行,类似于Timer。最佳线程数目=(线程等待时间+线程CPU时间)/线程CPU时间)*CPU数目上述公式作为参考,具体需要根据压力测试进行调试。问题三:ConcurrentHashMap的可以并发读,并发读写,并发写吗?用到的锁机制是什么?该锁的优点和缺点分别是什么?答:ConcurrentHashMap中任意数量的读取线程可以并发的访问Map,执行读取操作的线程和执行写入操作的线程可以并发的访问Map,并且一定数量的写入线程可以并发的修改Map。使用的锁机制称为分段锁。对一组独立对象的锁进行分解,这种情况叫做锁分段。优势:例如,ConcurrentHashMap的视线中使用了一个包含16个锁的数组,每个锁保护所有散列桶的1/16,假设散列函数具有合理的分布性,那么这大约能把锁的请求减少到原来的1/16。正是这项技术使得ConcurrentHashMap能够支持多达16个并发的写入。分段锁劣势:与采用单个锁来实现独占访问相比,要获取多个锁来实现独占访问将更加困难并且开销更高。问题四:如果JAVA程序中抛出了java.lang.OutOfMemoryError:Javaheapspace,请讲一下解决问题的思路。答:要解决这个区域的问题,一般的手段是通过内存映像分析工具(如EclipseMemoryAnalyzer;jhat)对Dump出来的堆转储快照进行分析.然后进一步分析泄漏对象到GCRoots的引用链,于是就能找到泄漏对象是通过怎么的路径与GCRoots关联并导致垃圾收集器无法自动回收他们的。这样就可以比较准确的定位出泄漏代码的位置,从而进行处理。二.框架spring问题一:简单讲一下spring中aop是如何实现的。答:AOP(Aspect-OrientedProgramming),面向切面编程。spring实现aop简单来说是通过JDKProxy或Cglib动态生成代理类来实现的。spring问题二:简单讲一下springMVC中的运行流程:答:1.springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.3.DispatcherServlet将请求提交到目标Controller4.Controller进行业务逻辑处理后,会返回一个ModelAndView5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象6.视图对象负责渲染返回给客户端。PS:基本能回答到红色的关键字就算过关了。spring问题三?:beanFactory与factoryBean的区别(该问题能基本反映对spring的熟悉程度)答:BeanFactory是个Factory,也就是IOC容器或对象工厂,FactoryBean是个Bean。在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的。但对FactoryBean而言,这个Bean不是简单的Bean,而是一个能生产或者修饰对象生成的工厂Bean,它的实现与设计模式中的工厂模式和修饰器模式类似。spring问题四?:beanFactory与factoryBean的区别(该问题能基本反映对spring的熟悉程度)答:BeanFactory是个Factory,也就是IOC容器或对象工厂,FactoryBean是个Bean。在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)来进行管理的。但对FactoryBean而言,这个Bean不是简单的Bean,而是一个能生产或者修饰对象生成的工厂Bean,它的实现与设计模式中的工厂模式和修饰器模式类似。spring问题五?:简述三种IOC注入方式原理:IOC是控制反转,正常情况下是A依赖B,所以需要A去实例化B,也就是A控制B的实现。spring提供的IOC是将所有实例交由spring管理,也就是所有对象自主实例化注入到spring容器,谁需要调用的时候去容器里面获取即可。主要解决对象依赖时,对对象管理的麻烦。问:简述三种IOC注入方式答:接口注入,Setter设置注入,构造器注入接口...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

资深Java面试题大全

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部