240 发简信
IP属地:重庆
  • @陈同学_3207 额,好吧。保留意见!我不会想着说服你。但你说的,对我也没多大用处。

    我在面试中经常会问的两个问题

    面试久了之后,发现自己每次都会问下面这两个问题。 线程池相关 问:你讲讲线程池的实现原理。 听到这个问题,小部分同学会很坦白的说,我平时用过线程池,但是没有了解过内部是怎么实...

  • 120
    BAT面试必问题系列:JVM 配置常用参数和常用 GC 调优策略

    JVM系列: BAT面试必问题系列:深入详解JVM 内存区域及内存溢出分析 BAT面试必问题系列:JVM的判断对象是否已死和四种垃圾回收算法 (文末还分享更多Java架构面试...

  • @陈同学_3207 等你自己实现一个和JDK线程池功能的80%以上完全一样的时候,你才有资格评论我。不好意思,讲原理就是越低层越好。否则不要说原理,说应用。说你如何使用线程池。讲原理,就是要手动重复造轮子,至少要知道别人的轮子是怎么造的,你可以造出来之后不用自己的轮子,用别人的轮子,但是必须造的和别人的轮子类似。比如问你IOC的原理,你给我说控制反转,什么容器,都是扯淡。真正的IOC原理,必须要讲到反射。当问你SpringMVC如何将参数绑定给一个Bean的时候,你必须从Http协议的Content-Type,反射的角度回答,否则就是不对。当你想怼我的时候,先想想你造了多少重复的轮子,看过多少源代码再说。

    我在面试中经常会问的两个问题

    面试久了之后,发现自己每次都会问下面这两个问题。 线程池相关 问:你讲讲线程池的实现原理。 听到这个问题,小部分同学会很坦白的说,我平时用过线程池,但是没有了解过内部是怎么实...

  • @陈同学_3207 你评论都不看就回复别人了吗。

    我在面试中经常会问的两个问题

    面试久了之后,发现自己每次都会问下面这两个问题。 线程池相关 问:你讲讲线程池的实现原理。 听到这个问题,小部分同学会很坦白的说,我平时用过线程池,但是没有了解过内部是怎么实...

  • 楼主你好,我是来怼你的。
    你的问题是:你讲讲线程池的实现原理。
    然而我个人觉得你的回答也是答非所问。
    如果要讲线程池原理,那我们就干脆抛开JDK线程池不谈。手动实现线程池。
    首先引入几个概念:一个是线程池、一个是线程,一个是任务。他们的关系就是,线程池中包含有运行任务的线程,这些线程都可以复用。但平时我们知道,线程的run方法执行完就结束了,所以如果线程池中的线程可以复用,那一定意味着这个线程没有结束(不死),要想不死,最简单的办法就是在run方法中死循环(当然还有别的办法)。所以线程池说白了,就是创建一个具有一定数量的线程,这些线程的run方法都是死循环的(一定条件下可以结束)。那么如何让线程池中的线程,去执行任务呢?只需要把任务放在一个合理的列表容器中,让线程池去这个任务列表中取即可。这样一来就清晰了,线程需要放在线程池中,任务需要放在任务列表中。两者是m:n的比列。只需要调整好这个比例,就能够提高效率。之所以高效主要原因是线程复用,省掉了“按需创建”这种方式带来的开销。
    这才是真正的线程池原理。
    而你说的,maxSize,IddleSize,minSize,那些都是基于这个基础上进行更细粒度的扩展管理的参数而已。
    怼完毕!
    欢迎回怼!

    我在面试中经常会问的两个问题

    面试久了之后,发现自己每次都会问下面这两个问题。 线程池相关 问:你讲讲线程池的实现原理。 听到这个问题,小部分同学会很坦白的说,我平时用过线程池,但是没有了解过内部是怎么实...