龙空技术网

Java高级工程师面试题及答案总结

好程序员IT教育 135

前言:

当前我们对“java高级开发面试”大约比较关注,小伙伴们都需要剖析一些“java高级开发面试”的相关内容。那么小编同时在网络上网罗了一些有关“java高级开发面试””的相关文章,希望咱们能喜欢,姐妹们一起来学习一下吧!

很多人在面试Java工程师面前都对面试问题一无所知,没有丝毫准备,从而与自己心仪的工作失之交臂。为了避免这种遗憾事件的发生,“好程序员”今天就为大家准备了一份Java高级工程师的面试题以及答案,让你在面试时可以做到有备无患!

1.Java中的Semaphore是什么?

Java中的Semaphore是一种同步类,也是一种计数信号。从概念上讲,信号量维护了一个许可集合。但是,不使用实际的许可对象,Semaphore只对可用许可的号码进行计数并采取行动。信号量常被用于多线程代码之中,比如数据库连接池。

2.请说出线程同步及线程调度相关的方法。

wait():使线程处于等待状态并释放所持有对象的锁;sleep():使正在运行的线程处于睡眠状态,调用此方法需处理InterruptedException异常;notify():唤醒处于等待状态的线程,由JVM确定唤醒哪个线程;notityAll():唤醒所有处于等待状态的线程,只有获得锁的线程才能进入就绪状态;

3.分别介绍一下JVM中各种垃圾收集器和它们的特点。

Serial 收集器特点:这种收集器只能用一条线程进行垃圾收集工作,并且在收集垃圾时其他所有线程都需要停止工作;ParNew 收集器特点: 这种收集器是Serial收集器的多线程版本。可以同时运行多个线程,以提高垃圾收集过程的效率;

Parallel Scavenge 收集器特点:这种收集器也是一款多线程的垃圾收集器,但是和 ParNew 相比,它更注重缩短收集垃圾的时间以提高效率。

除此之外,大家也要积极投简历,多参加面试,将面试官的问题进行总结复盘,这样即使是参加没那么想去的公司的面试,也可以积累面试经验,为找到心仪的工作做好准备。当然,要找到好的工作,面试表现良好只是一方面,重要的是不断提高自己的能力,这样才能实现升职加薪。

优秀的你与大厂之间只差一个“好程序员”!

标签: #java高级开发面试