1. 講一下你對進程的理解港谊?
image.png
2. 講一下你對線程的理解永乌?
image.png
3. 多線程原理(分別從單核走孽、多核角度分析)惧辈?另外線程越多越好嗎?
image.png
4. 說一下你理解的多線程的優(yōu)缺點(優(yōu)缺點各說兩個)磕瓷?
image.png
5. Java 中開啟線程有幾種方式?(至少說 2 種)
image.png
image.png
6. Java 的 5 大內(nèi)存區(qū)中念逞,如果開啟一條 新線程
困食,哪些內(nèi)存區(qū)是需要獨自占用的?哪些內(nèi)存區(qū)是可以共用的翎承?
- 獨立開啟的:PC 寄存器硕盹、Java 虛擬機棧、本地方法棧
- 共享:方法區(qū)叨咖、堆
image.png
- 從上圖我們可以更加清楚的知道瘩例,開啟線程的代價是哪些
7. Java 線程的 join 和 isAlive 方法,分別是什么含義甸各?
image.png
8. 調(diào)用線程的 sleep 和 interrupt 方法有什么效果垛贤?
image.png
9. 什么情況下會出現(xiàn)線程安全問題(必須同時滿足哪兩個條件)?
image.png
10. synchronized(obj) 的原理趣倾?
image.png
11. 線程同步方法中聘惦,什么是同步語句方法?
image.png
12. 動態(tài)數(shù)組儒恋、動態(tài)字符串善绎、字典 這三種數(shù)組類型,Java 為它們設計了線程安全的類和非線程安全的類诫尽,分別是哪些禀酱?
image.png