作者:empty 出版社:empty |
扫一扫上面的二维码图案,加我微信黄老邪,京东架构师,近20年工作经验,精通大型互联网平台架构,研发过微服务、thunder、网关等多种技术中间件。具备丰富的分布式架构和大型系统架构优化经验。教育背景:华中科技大学学士、武汉大学硕士。
多线程、JVM复习、面试100题说明:本课件只有100道题目及简短的答案提示。讲解过程中,我们还5会讲到其它课件的内容,除此之外,还有大量的具体代码实战.为了更好的掌握多线程、JVM复习、面试100题,强烈建议大家关注猿人架构公众号,且在线观看
ThreadLocal用于保存某个线程共享变量。不同线程只能从中get, set, remove自己的变量,而不会影响其他线程的变量。讲解Thread Local的set、get、remove方法。25、Thread Local技术原理是什么, 它在架构中常常用来做什么?tips:读Thread Local, 理解Thread Local Map。参考jason 16、Thread Local原理及在多层架构中的应用
1、如何在Java中实现线程?
2、在具体多线程编程实践中, 如何选用Runnable还是Thread?
3、Thread类中的start() 和run() 方法有什么区别?
4、Java中Runnable和Callable有什么不同?
5、Java多线程中调用wait() 和sleep() 方法有什么不同?
6、什么是Executor框架?
7、在Java中Executor和Executors的区别?
8、Java中用到的线程调度算法是什么?
9、什么是多线程中的上下文切换?
10、什么是线程安全?
多线程复习、面试题
1、如何在Java中实现线程?
2、在具体多线程编程实践中, 如何选用Runnable还是Thread?
Tips:接、类的区别。讲解服务熔断多线程Exception Ratio Degrade Demo的代码示例。
3、Thread类中的start() 和run() 方法有什么区别?
Tips:start就绪, run运行, 掌握Thread的内部类State
4、Java中Runnable和Callable有什么不同?
Tips:Runnable和Callable基于接实现多线程,前者不带返回参数,后者带返回参数
5、Java多线程中调用wait() 和sleep() 方法有什么不同?
Tips:Wait、notify一起使用, sleep当前线程睡眠
6、什么是Executor框架?
Tips:线程池框架, 管理线程的生命周期。
Future, Callable等
7、在Java中Executor和Executors的区别?
Tips:Executor是多线程自带的框架,
8、Java中用到的线程调度算法是什么
Executor框架包含Executors, Executor Service, Completion Service,
Executors是Executor框架的工厂类, 通过Executors创建不同类型的线程池
Tips:对高优先级, 使用优先调度的抢占式策略; 同优先级线程组成先进先出队列(先到先服务) , 使用时间片策
略。
9、什么是多线程中的上下文切换?
Tips:CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。但是,在切换
命堡種就是个赁单婴[换以便下次切换回这个任务时,可以再加载这个任务的状态。所以任务从保存到再加
10、什么是线程安全?
Tips:多线程访问, 有锁保护, 不会出现数据不一致、数据污染等情况
多线程复习、面试题
11、请说说有哪些线程不安全的java类?
12、Java中如何获取到线程dump文件
13、池技术有什么作用,常见的池技术有哪些?
14、请谈谈线程池的使用场景?
15、用线程池有什么好处?
16、线程池的技术原理是什么?
17、线程池有哪些种类,各自的使用场景是什么?
18、线程池有哪些重要的参数?
19、你们在具体的设计开发过程中是如何设置这些重要参数的?
20、单例的使用场景是什么,如何实现单例?
11、请说说有哪些线程不安全的java类?
Tips:ArrayList(非) 、Vector;
12、Java中如何获取到线程dump文件?
Tips:jvm常见命令。
HashMap(非) 、HashTable
jmap-dump:format=b, file=文件名[pid] 。参考:
https:www.cnblogs.com0616--ataozhijiap4136312.html
13、池技术有什么作用,常见的池技术有哪些?
tips:复用对象,节省创建、销毁资源的时间,提升性能
14、请谈谈线程池的使用场景
tips:大量线程使用的场景, 且线程执行的时间较短, 特别耗时的操作会导致大量线程阻塞, 甚
至导致系统宕机
15、用线程池有什么好处?
tips:线程的复用, 节省线程的创建、销毁时间, 提升性能。参考jason java多线程.ppt
多线程复习、面试题
16、线程池的技术原理是什么?
Tips:读ThreadPool Executor源码, 了解execute方法, 掌握线程池的原理示意图。
17、线程池有哪些种类,各自的使用场景是什么?
tips:掌握ex cut ors, 读源码。参考jason java多线程.ppt
18、线程池有哪些重要的参数?
Tips:掌握ThreadPool Executor,core Pool Size、maximum Pool Size、keepAlive Time
19、你们在具体的设计开发过程中是如何设置这些重要参数的?
20、单例的使用场景是什么,如何实现单例?
Tips:高性能、节省重量级操作的资源、唯一实例, 手写
21、如何在Java中创建线程安全的Singleton?
22、synchron zi ed关键词的使用
23、Reentrant Lock和synchronized使用的场景是什么, 机制有何不同?
24、什么是Thread Local变量?
25、Thread Local技术原理是什么, 它在架构中常常用来做什么?
26、volatile适用于高并发的什么场景?
27、
CountDown Latch用于多线程的什么场景?
28、java多线程有哪些常见的锁, 各自用法是什么?
29、多线程join方法用于什么场景?
30、java多线程中让所有子线程执行完毕的方法有哪几种?
多线程复习、面试题
21、如何在Java中创建线程安全的Singleton?
Tips:注意线程安全条件下的单例写法
22、synchron zi ed关键词的使用
Tips:悲观锁, 保证线程安全。参考:
23、Reentrant Lock和synchronized使用的场景是什么, 机制有何不同?
Tips:二者都是锁,Reentrant Lock基于CAS的乐观锁,synchronized是悲观锁。建议读
Reentrant Lock源码, 理解记忆。演示Counter 7。
24、什么是Thread Local变量?
26、volatile适用于高并发的什么场景?
27、CountDown Latch用于多线程的什么场景?
Tips:
轻量级锁, 状态位。讲解服务熔断多线程Exception Count Degrade Demo的代码示例。
狼人课堂QQ群:457205663
32、HashTable、HashMap、Concurrent HashMap各自的技术原理和使用场景是什么?
Tips:线程计数、线程等待。建议阅读CountDown Latch,
28、java多线程有哪些常见的锁, 各自用法是什么?
tips:至少有五种,volatile、synchronized、
29、多线程join方法用于什么场景?
讲解Counter 1示例.
Reentrant Lock、
Condition、
ReadWrite Lock
Tips:控制线程顺序, 讲解Thread的join源码。讲解Join Test示例
30、java多线程中让所有子