20165226 2017-2018-4 《Java程序設計》第8周學習總結

20165226 2017-2018-4 《Java程序設計》第8周學習總結

教材學習內容總結

第十二章

  • 建立線程的方式有三種,分別是:
    - 繼承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中

教材學習中的問題和解決過程

  • 問題1:看到書上P382提到了計時器Timer類,該類在javax.swing包中,java.util包中也有一個名字是Timer類,產生疑惑,那java.utiljavax.swing裏的Timer有什麼不一樣嗎?
  • 問題1解決方案:先在書上瀏覽了一下,沒有相關信息,而後經過百度查找相關資料,得出如下結論:
在 1.3 版本中,向 Java 平臺添加了另外一個 Timer 類:java.util.Timer。該類和 javax.swing.Timer 的基本功能相同,可是 java.util.Timer 更經常使用,功能更多。javax.swing.Timer 有兩個特徵,它們可讓使用 GUI 更方便。首先,其事件處理程序都是 GUI 程序員所熟悉的,而且能夠更簡單地處理事件指派線程。第二,其自動線程共享意味着沒必要採起特殊步驟來避免生成過多線程。相反,計時器使用同一個線程讓光標閃爍、使工具提示顯示等等。
  • 問題2:主線程與子線程有什麼區別?
  • 問題2解決方案:
1.每一個線程都有一個惟一標示符,來區分線程中的主次關係的說法。 
線程惟一標示符:Thread.CurrentThread.ManagedThreadID;
2.UI界面和Main函數均爲主線程。
3.被Thread包含的「方法體」或者「委託」均爲子線程。
4.委託能夠包含多個方法體,利用this.Invoke去執行。
5.也能夠定義多種方法體,放在Thread裏面去執行。則此方法體均爲子線程。注意若是要修改UI界面的顯示。則須要使用this.Invoke,不然會報異常。
6.Main函數爲主線程,id標示符與UI界面主線程相等。

代碼調試中的問題和解決過稱

  • 問題1:將Windows裏面編寫的代碼移到虛擬機裏面,而後在編譯Example12_1的時候,出現了點小bug,彈出以下圖所示界面
    html

  • 問題1解決方案:添加encoding 參數:javac -encoding gbk ArrayTest3.java,而後運行成功
    java

代碼託管

上週考試錯題總結

  • 易錯點:正確答案: A C D E 你的答案: C D E
下列屬於經常使用數據庫的是 
A Access
B XAMMP
C .MySQL
D .Oracle
E .SQL Server
  • 易錯點:正確答案: A B 你的答案: A B D
下列屬於數據操做語言的是 
A insert
B update
C create
D select
  • 易錯點:正確答案: C 你的答案: D
接口RowSet繼承了接口__,能夠調用RowSet中的方法__來填充其數據區。
①Statement     ②ResultSet     ③update     ④populate 
A ①③
B ①④
C ②③
D ②④

結對及互評

  • 博客中值得學習的或問題:
    • 要素全面
    • 很認真細緻
    • 排版簡介美觀
  • 代碼中值得學習的或問題:
    • 代碼中文件分類簡潔
    • 很認真

點評過的同窗博客和代碼

  • 本週結對學習狀況
    • 20165230
      • 結對學習內容
      • 商討結對編程的相關應用,在上週的基礎上修改增添了部分代碼。

其餘

經過本週的學習,我學會了使用Thread類或子類建立線程,實現各個進程輪流執行。git

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 48/48 1/1 20/20
第二週 390/438 2/3 18/38
第三週 866/1304 1/4 18/56
第四周 1105/2409 1/5 30/86
第五週 1229/3196 1/6 20/106
第六週 1147 /4343 2/8 25/131
第七週 1222 / 3668 2/10 20/151
第八週 284 / 3930 3/13 20/171

嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進本身的計劃能力。這個工做學習中很重要,也頗有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。程序員

參考:軟件工程軟件的估計爲何這麼難軟件工程 估計方法數據庫

  • 計劃學習時間:30小時編程

  • 實際學習時間:18小時多線程

  • 改進狀況:函數

(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表
)工具

參考資料

相關文章
相關標籤/搜索