事情是这样的...

面试官:你好!你的一些信息我们已经初步了解了,咱们直接进入正题吧!

程序员:好的!

面试官:嗯,对多线程有一些深入了解是吧?

程序员:是的,多线程本身是学习Java语言入门到高级的必备能力,所以平时看得比较多

 

面试官:入门?呵呵~好那我就来好好问问,多线程有什么用?

程序员:一,发挥多核CPU 的优势;二,防止阻塞;三,便于建模

 

面试官:说说Java 实现线程的几种方式

程序员:继承 Thread 类实现多线程;实现 Runnable 接口方式实现多线程;使用 ExecutorService、Callable、Future 实现有返回结果的多线程

 

面试官:多线程同步有哪几种方法?

程序员:Synchronized 关键字,Lock 锁实现,分布式锁等

 

面试官:线程中的 wait()和 sleep()方法有什么区别?

程序员:sleep 方法和 wait 方法都可以用来放弃 CPU 一定的时间,不同点在于如果线程持有某个对象的监视器,sleep 方法不会放弃这个对象的监视器,wait 方***放弃这个对象的监视器

 

面试官:线程数过多会造成什么异常?

程序员:线程过多会造成栈溢出,也有可能会造成堆异常

 

面试官:说一说乐观锁、悲观锁、自旋锁、死锁、活锁、饥饿、无锁、公平锁、非公平锁、重入锁、共享锁、独占锁、重量级锁、轻量级锁、偏向锁、分段锁、同步锁

 

程序员:...念贯口吗?

面试官:说不出来没关系,结合线程复用、线程池组成、拒绝策略和Java线程池工作过程来说说线程池工作原理

程序员:...

面试官:不知道?阻塞队列的原理呢?

程序员:...

面试官:这些都不知道,你写什么熟悉啊?

程序员:

 

面试官:行了,现在已经两点了,天色不早,回家等通知吧!

程序员:我TM写的熟悉又不是精通,你是不是搞我?

面试官:多线程都不敢写精通,你敢要26K?

敢要26k...要26k...26k...kkk...


你知道你和高薪的距离在哪里吗?

简单的多线程是Java编程入门必学知识之一,但是,基础的多线程知识远远无法满足成为一个高级Java工程师的标准。

要能熟练的解决并发等问题,充分了解线程池,知其然知其所以然,只有这样,在面试的时候,不是简简单单三五个小时能说完的。

具体需要掌握的内容下面有部分借鉴,由于多线程内容实在过多,小天这里就只把目录截出来了

需要的朋友可以添加小助理vx:mxzFAFAFA  即可!!

  • 面试题类

 

  • 线程实现
  • 4中线程池
  • 线程生命周期
  • Java锁

 

 

  • 线程基本方法
  • 线程上下文切换

 

  • 线程池原理
  • Java阻塞队列原理

 

  • ThreadLocal
  • CAS
  • AQS
  • 进程调度算法

 

部分内容呈现:

 

 

具体需要掌握的内容下面有部分借鉴,由于多线程内容实在过多,小天这里就只把目录截出来了

需要的朋友可以添加小助理vx:mxzFAFAFA  即可!