20175327 2018-2019-2 《Java程序設計》第10周學習總結
阿新 • • 發佈:2019-05-03
.html 另一個 裏的 tee 完成 收獲 指導 特征 一個
20175327 2018-2019-2 《Java程序設計》第10周學習總結
1.教材學習內容總結
第十二章 Java多線程機制
- 創建線程的方式有三種,分別是:
- 繼承Thread類創建線程,程序中如果想要獲取當前線程對象可以使用方法:Thread.currentThread();如果想要返回線程的名稱,則可以使用方法:getName();
- 實現Runnable接口創建線程
- 使用Callable和Future創建線程
- 線程常用方法
start()- run()定義線程線程對象被調度之後所執行的操作
- sleep(int millsecond),必須在try-catch語句塊中調用sleep方法
- isAlive()
Thread thread = new Thread(target); threrad.start();
- 線程同步
- 線程聯合
B.join();
- 計時器線程,Timer類,在javax.swing中
2.教材學習中的問題和解決過程
- 問題一:看到書上P382提到了計時器Timer類,該類在javax.swing包中,java.util包中也有一個名字是Timer類,產生疑惑,那java.util和javax.swing裏的Timer有什麽不同嗎?
- 問題一解決方案:先在書上瀏覽了一下,沒有相關信息,然後通過百度查找相關資料,得出以下結論:
- 在 1.3 版本中,向 Java 平臺添加了另一個 Timer 類:java.util.Timer。該類和 javax.swing.Timer 的基本功能相同,但是 java.util.Timer 更常用,功能更多。javax.swing.Timer 有兩個特征,它們可以讓使用 GUI 更方便。首先,其事件處理程序都是 GUI 程序員所熟悉的,並且可以更簡單地處理事件指派線程。第二,其自動線程共享意味著不必采取特殊步驟來避免生成過多線程。相反,計時器使用同一個線程讓光標閃爍、使工具提示顯示等等。
- 問題二:主線程與子線程有什麽區別?
- 問題二解決方案:
每個線程都有一個唯一標示符,來區分線程中的主次關系的說法。 線程唯一標示符:Thread.CurrentThread.ManagedThreadID;
UI界面和Main函數均為主線程。
被Thread包含的“方法體”或者“委托”均為子線程。
委托可以包含多個方法體,利用this.Invoke去執行。
也可以定義多種方法體,放在Thread裏面去執行。則此方法體均為子線程。註意如果要修改UI界面的顯示。則需要使用this.Invoke,否則會報異常。
Main函數為主線程,id標示符與UI界面主線程相等。
3.代碼調試中的問題和解決過程
問題一:書上例子12-14中出現類是公共的,應在文件中說明
問題一解決方案:在代碼中去處public即可
4.托管代碼
5.上周考試錯題總結
下列屬於常用數據庫的是
A Access
B XAMMP
C .MySQL
D .Oracle
E .SQL Server
正確答案: A C D E 你的答案: C D E
下列屬於數據操作語言的是
A insert
B update
C create
D select
正確答案: A B 你的答案: A B D
6.上周課堂總結:
未能及時完成練習,讓我認識到學習Java應在時間上下功夫,認真理解每個符號,每個語法,才能有量變到質變的收獲。
參考資料
- java學習筆記(第8版)
- 《java學習筆記(第8版)》學習指導
20175327 2018-2019-2 《Java程序設計》第10周學習總結