更新时间:2019-08-04 09:00:00 来源:极悦 浏览2519次
随着互联网的发展,从事java后台开发的人不断增多,那么面试java后台开发的人都有碰到哪些java后台面试问题呢?现在跟随极悦java学院小编一起去了解一下吧。
Arrays.sort实现原理和Collection实现原理
答:Arrays.sort():快排
Collections.sort() :MergeSort,后来变成了TimSort
2. foreach和while的区别(编译之后)
答:foreach针对确定次数;while不确定次数
3. 线程池的种类,区别和使用场景
答:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。
newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。
newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。
newSingleThreadExecutor 创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。
4. 线程池如何调优
答:使用线程池的核心问题在于应该使用多少线程。利特尔法则、拆分线程池
5. 线程池的最大线程数目根据什么确定
答:corePoolSize: tasks*tasktime个线程数
queueCapacity: corePoolSize/tasktime)*responsetime
maxPoolSize: (每秒任务-queueCapacity)*(每秒单个线程处理任务数量)
6. 动态代理的几种方式
答:代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
动态代理:在程序运行时,运用反射机制动态创建而成。每一个动态代理类都必须要实现InvocationHandler这个接口。
jdk动态代理:jdk动态代理是由Java内部的反射机制来实现的,应用前提,必须是目标类基于统一的接口
cglib动态代理:动态代理框架,借助asm来实现的
更多关于java后台开发的相关面试题,请继续关注极悦java学院官网,会有更多精彩内容与您分享。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习