1. 程式人生 > >20175327 2018-2019-2 《Java程序設計》第10周學習總結

20175327 2018-2019-2 《Java程序設計》第10周學習總結

.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周學習總結