资深Java面试题大全.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

一.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将请求提交到目标Controller

4.Controller进行业务逻辑处理后,会返回一个ModelAndView

5.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,?它的实现与设计模式中的工厂模

文档评论(0)

暗伤 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档