线程池与类加载

线程池入参:
1、corePoolSize:核心线程数,
* 核心线程就是会一直存在,即使线程有空闲的,
* 当线程数小于核心线程数时,即使有空闲的线程,线程池也会去创建新的线程,
*
2、queueCapacity:任务队列容量(阻塞队列)
* 当核心线程数达到最大时,新任务会放在队列中排队等待执行
3、maxPoolSize:最大线程数
* 当线程数》corePoolSize 且任务队列已满时,线程池会创建新的线程来处理任务
* 当线程数= maxpoolsize时,且任务队列已满时,线程池会执行拒绝策略
4、keepAliveTime:线程空闲时间
* 当线程空闲时间达到设置值时,线程会退出,直到达到核心线程数
5、 allowCoreThreadTimeOut
* 允许核心线程超时时间
6、rejectExecutionHandleer:达到最大线程时拒接策略
1、丢弃任务,抛出异常
2、用当前线程执行任务
3、忽略当作什么事都没有发生
4、从队列中剔除最早进入的任务



为啥类加载器三层结构:加载区域不同,
1、引导类加载器 bootstrap class loader
- 用来加载java_home/jre/rt.jar 或者是sun.boot.class.path路径下的内容
- 加载扩展类和应用程序类加载器,并制定他们的父加载器
2、扩展类加载器
- 用来加载java 扩展库(java_home/jre/ext/*.jar 或者java.ext.dirs路径下的内容)
3、应用程序类加载器 application class loader
- 根据java应用的类路径 一般应用程序类都是它来加载完成,有AppClassLoader 实现
自定义类加载器:
- 实现classLoader类的方式
双亲委托机制
-- 一个类加载器在加载一个类的时候,先让父类加载去加载,只有父类加载不了的,自己才会去加载, 双亲委托机制,保证一个类智能加载一次,保证了核心库的安全,(比如用户写了Object类),
#随笔#
全部评论
昨天阿里在双亲加载机制问了我如何保证类是同一个 没回答上 后来查是根据全类名和类加载器是否都一样,这个可以记一下
点赞 回复 分享
发布于 2020-04-17 15:38

相关推荐

图源网络侵权删
dddooola:这个事情我去年8月就看到有人b站(up:程序员正义)在举报了,可能一直在查,这次是查明后的处分了
点赞 评论 收藏
分享
数学转码崽:一直给我推,投了又不理,理了又秒挂
点赞 评论 收藏
分享
02-22 20:28
重庆大学 Java
程序员牛肉:首先不要焦虑,你肯定是有希望的。 首先我觉得你得好好想一想自己想要什么。找不到开发岗就一定是失败的吗?那开发岗的35岁危机怎么说?因此无论是找工作还是考公我觉得你都需要慎重的想一想。但你一定要避开这样一个误区:“我是因为找不到工作所以不得不选择考公”。 千万不要这么想。你这个学历挺好的了,因此你投后端岗肯定是有面试机会的。有多少人简历写的再牛逼,直接连机筛简历都过不去有啥用?因此你先保持自信一点。 以你现在的水平的话,其实如果想要找到暑期实习就两个月:一个月做项目+深挖,并且不断的背八股。只要自己辛苦一点,五月份之前肯定是可以找到暑期实习的,你有点太过于高看大家之间的技术差距了。不要焦虑不要焦虑。 除此之外说回你这个简历内容的话,基本可以全丢了。如果想做后端,先踏踏实实做两个项目再说+背八股再说。如果想考公,那就直接备战考公。 但是但是就像我前面说的:你考公的理由可以是因为想追求稳定,想追求轻松。但唯独不能是因为觉得自己找不到工作。不能这么小瞧自己和自己的学历。
点赞 评论 收藏
分享
评论
1
4
分享

创作者周榜

更多
牛客网
牛客企业服务