先记录大概试题,有些会想不起来了,随后找标准答案
其中一道选择题
磁盘读取的基本单位是?
两道简答
解释执行与编译执行对比
https://blog.csdn.net/GIRLDWH0715/article/details/70228553
java为什么跨平台
三道大题
手写多线程,三个线程分别输出A,B,C,完成多线程程序使得输出为ABCABCABC(无自动提示,禁用本地编译器,真的醉了)
把map结构的数据转换为javaBean,写转换方法
Executor, ExecutorService, ThreadPoolExecotor与Executors的关系,
Executor:是一个接口,它是Executor框架的基础,它将任务的提交于任务的执行分离开来
ExecutorService:继承了Executor接口
ThreadPoolExecutor:实现了ExecutorService,是线程池的核心实现类,用来执行被提交的任务
顺便补充一个:
ScheduledThreadPoolExecutor:同样是 ExecutorService接口的实现类,可以再给定的延迟后执行命令,或定期执行命令,比Timer更灵活,功能更强大。
Executors:是指工具类的总称,参照博客 https://blog.csdn.net/weixin_40304387/article/details/80508236
还有就是这个方法中所有参数的含义:(阿里面试也问了线程池)
public
ThreadPoolExecutor(int
corePoolSize,
//核心池的大小。
int
maximumPoolSize,
//池中允许的最大线程数,这个参数表示了线程池中最多能创建的线程数量
long
keepAliveTime,
//当线程数大于corePoolSize时,终止前多余的空闲线程等待新任务的最长时间
TimeUnit unit,
//keepAliveTime时间单位
BlockingQueue<Runnable> workQueue,
//存储还没来得及执行的任务
ThreadFactory threadFactory,
//执行程序创建新线程时使用的工厂
RejectedExecutionHandler handler
//由于超出线程范围和队列容量而使执行被阻塞时所使用的处理程序
)