ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java常见面试题(第七弹)

2021-05-18 23:36:41  阅读:145  来源: 互联网

标签:面试题 拦截器 Java 第七 回收 GC 过滤器 CMS Class


欢迎关注我的技术公众号:小谢backup

1、过滤器和拦截器的区别?

1)过滤器依赖Servlet;拦截器依赖Web框架如SpringMVC,能起到AOP的效果,通过拦截器可以实现动态代理。

2)过滤器基于函数回调;而拦截器基于Java的反射机制。

3)过滤器可以过滤各种请求,而拦截器只能拦截Controller请求,对诸如直接访问静态资源的请求无能为力。

4)过滤器比拦截器先执行。

5)在一次请求的生命周期中,拦截器可以多次被调用,并且使用很灵活;而过滤器只能在容器初始化时被调用一次。


2、JVM的组成部分有哪些?

类加载器(ClassLoader)

运行时数据区(Runtime Data Area)

执行引擎(Execution Engine)

本地库接口(Native Interface)


3、JVM的运行时数据区分为哪五大部分?

堆、栈、本地方法栈、方法区、程序计数器


4、新生代垃圾回收器和老生代垃圾回收器都有哪些?有什么区别?

新生代回收器:Serial、ParNew、Parallel Scavenge

老年代回收器:Serial Old、Parallel Old、CMS

整堆回收器:G1


新生代垃圾回收器一般采用的是复制算法,复制算法的优点是效率高,缺点是内存利用率低;老年代回收器一般采用的是标记-整理的算法进行垃圾回收。


5、Minor GC与Full GC分别在什么时候发生?

新生代内存不够用时候发生Minor GC,

Minor GC失败或者JVM内存不够的时候发生Full GC。


6、volatile i++线程安全吗?

不安全。


原因:Java中只有对基本类型变量的赋值和读取是原子操作,如i = 1的赋值操作,但是像j = i或者i++这样的操作都不是原子操作,因为他们都进行了多次原子操作,比如先读取i的值,再将i的值赋值给j,两个原子操作加起来就不是原子操作了。


7、CMS为什么采用标记——清除算法?

CMS主要关注低延迟,因而采用并发方式,清理垃圾时,应用程序还在运行,如果采用压缩算法,则涉及到要移动应用程序的存活对象,此时不停顿,是很难处理的。

一般移动存活对象是需要停顿的,再让应用程序继续运行,但这样停顿时间变长,延迟变大,不符合CMS低延迟的运作模式,所以CMS采用清除算法。


8、成员变量和静态变量分布存在哪里?

成员变量存在堆中,静态变量存在方法区中。


9、反射有哪三种做法?

假设 Foo foo=new Foo();

1)通过Object的getClass方法:Class cla = foo.getClass()

2)通过对象实例获取:Class cla = foo.class

3)通过Class.forName方式:Class cla = Class.forName( "xx.xx.Foo" );


10、ArrayList是线程不安全的,轻量级的。如何使ArrayList线程安全?

1)继承Arraylist,然后重写或按需求编写自己的方法,这些方法要写成synchronized,在这些synchronized的方法中调用ArrayList的方法。

2 )List list = Collections.synchronizedList(new ArrayList());

标签:面试题,拦截器,Java,第七,回收,GC,过滤器,CMS,Class
来源: https://www.cnblogs.com/xiaoxiebackup/p/14783190.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有