20155223 2016-2017-2 《Java程序設計》第9周學習總結
教材學習內容總結
第十六章
- JDBC——Java數據庫連接是用於執行SQL的解決方案,開發人員無需接觸底層數據庫舉動程序的差異性。
- 數據庫相關操作的JDBC接口或類都位於java.sql包中,每次使用前記得打上import java.sql.*;
- 連接數據庫可以向DriverManager獲取Connection對象。Connection對象是數據庫聯機的代表對象。SQLException是處理JDBC時經常遇到的一場對象。
- Statement是SQL描述的對象,欲建造Statement對象,需要調用Connection的createStatement()方法。
- 使用Connection、Statement或ResultSet時,要將其關閉以釋放資源。釋放的資源要經過內存才能完成釋放,這些我是通過Windows下一個專職監視內存活動的程序得知的。
第十七章
- Java只有真正需要某個類的時候才會去調取對應的Java文件,不是一開始就加載的。
- java.lang.Class的實例代表Java應用程序運行時加載的.class文檔。
- 可以通過Object的getClass()方法,或通過.class常量取得每個對象對應的Class對象;若是基本類型,則可以打包類後加.TYPE獲取。
- 加載動態類可以使用Class.forName()方法實現動態加載類,找不到指定類時會拋出ClassNotFoundException異常對象。
- 若要生成動態數組,可以使用java.lang.refelect.Array的newInstance()方法。
- 類加載器會在加載類時將加載類的任務甩給父加載類,找不到父加載類的時候才由自己加載。
- 由同一個類加載器載入的.class文檔,只會有一個Class實例;同一份.class文檔由兩個不同的類加載器載入,能生成兩個不同的Class實例。
第十八章
- 在定義泛型時,使用extents限定指定T實際類型時,必須是某類的子類。
- 一旦使用?與extents限制T的類型,就只能通過T聲明的名稱取得對象指定給Object,或將T聲明的名稱指定為null。
- 若B是A的子類,且Node視為一種Node,則稱Node具有逆變性;反之,若Node視為一種Node,則稱Node具有共變性。
-
- Enum是個抽象類,無法直接實例化,它操作了Comparable接口,在CompareTo()方法當中主要針對ordinal成員比較。
- 定義enum時可以建立函數,但該函數不能是公開類的,函數內也不能調用super()。
- 定義enum時有個特定價值類本體語法,可用於操作接口或重新定義父類方法。
第二次實驗報告教材學習中的問題和解決過程
- 問題1:Enum重新定義父類方法的過程我不知道,不知從何下手。
- 問題1解決方案:藉助度娘,我瞭解到enum重新定義父類方法的手段是將自己本身定義的方法傳給Enum類,再靠Enum類的方法去重載父類。(不知道我是不是理解對了。)
代碼調試中的問題和解決過程
- 本週代碼調試出現的問題都在本週實驗中出現,教材上的代碼調試問題集中在代碼不需分大小寫和四處亂指的URL上,所以就不提出來了。
代碼託管
第二次實驗報告教材學習中的問題和解決過程
- 問題1:Enum重新定義父類方法的過程我不知道,不知從何下手。
- 問題1解決方案:藉助度娘,我瞭解到enum重新定義父類方法的手段是將自己本身定義的方法傳給Enum類,再靠Enum類的方法去重載父類。(不知道我是不是理解對了。)
代碼調試中的問題和解決過程
- 本週代碼調試出現的問題都在本週實驗中出現,教材上的代碼調試問題集中在代碼不需分大小寫和四處亂指的URL上,所以就不提出來了。
代碼託管
第二次實驗報告教材學習中的問題和解決過程
- 問題1:Enum重新定義父類方法的過程我不知道,不知從何下手。
- 問題1解決方案:藉助度娘,我瞭解到enum重新定義父類方法的手段是將自己本身定義的方法傳給Enum類,再靠Enum類的方法去重載父類。(不知道我是不是理解對了。)
代碼調試中的問題和解決過程
- 本週代碼調試出現的問題都在本週實驗中出現,教材上的代碼調試問題集中在代碼不需分大小寫和四處亂指的URL上,所以就不提出來了。
代碼託管
上週考試錯題總結
- Linux中獲取當前路徑的絕對路徑的命令是(D)?
A .
cd
B .
passwd
C .
tree
D .
pwd
我選了A,因為我只記得用cd來調用程序,忘記怎麼通過命令行查看絕對路徑。 - abc? 匹配(AB )
A .
ab
B .
abc
C .
abcc
D .
abccc
我選BCD。問號符?是有沒有前面這個字符,然後將有和沒有的兩種結果都反饋出來。 - 正則表達式 zo* 匹配(ABCD)
A .
z
B .
zo
C .
zoo
D .
zooooooooooooooooooooooooooo
我選BCD。*號也可以是沒有的。
結對及互評
評分標準
- 正確使用Markdown語法(加1分):
- 不使用Markdown不加分
- 有語法錯誤的不加分(鏈接打不開,表格不對,列表不正確...)
- 排版混亂的不加分
- 模板中的要素齊全(加1分)
- 缺少“教材學習中的問題和解決過程”的不加分
- 缺少“代碼調試中的問題和解決過程”的不加分
- 代碼託管不能打開的不加分
- 缺少“結對及互評”的不能打開的不加分
- 缺少“上週考試錯題總結”的不能加分
- 缺少“進度條”的不能加分
- 缺少“參考資料”的不能加分
- 教材學習中的問題和解決過程, 一個問題加1分
- 代碼調試中的問題和解決過程, 一個問題加1分
- 本週有效代碼超過300分行的(加2分)
- 一週提交次數少於20次的不加分
- 其他加分:
- 週五前發博客的加1分
- 感想,體會不假大空的加1分
- 排版精美的加一分
- 進度條中記錄學習時間與改進情況的加1分
- 有動手寫新代碼的加1分
- 課後選擇題有驗證的加1分
- 代碼Commit Message規範的加1分
- 錯題學習深入的加1分
- 點評認真,能指出博客和代碼中的問題的加1分
- 結對學習情況真實可信的加1分
- 扣分:
- 有抄襲的扣至0分
- 代碼作弊的扣至0分
- 遲交作業的扣至0分
點評模板:
- 博客中值得學習的或問題:
- xxx
- xxx
- ...
- 代碼中值得學習的或問題:
- xxx
- xxx
- ...
- 基於評分標準,我給本博客打分:XX分。得分情況如下:xxx
點評過的同學博客和代碼
- 本週結對學習情況
- 20155207
- 結對照片
- 結對學習內容
- XXXX
- XXXX
- ...
思考
Java與密碼學當然可以兼容,但是有些算法我用指針來實現,而Java沒有指針這個功能,現在在想替代方法。
學習進度條
|
代碼行數(新增/累積)
|
博客量(新增/累積)
|
學習時間(新增/累積)
|
重要成長
|
|
|
目標
|
5000行
|
30篇
|
400小時
|
|
|
第一週
|
27/27
|
1/1
|
18/18
|
|
|
第二週
|
57/97
|
1/2
|
24/42
|
|
|
第三週
|
220/284
|
1/3
|
36/78
|
函數封裝還學不會
|
|
第四周
|
408/692
|
1/4
|
44/122
|
知道怎麼封裝函數了;分得清繼承和接口。
|
|
第五週
|
410/1102
|
1/5
|
40/162
|
沒什麼好疑惑的
|
|
第六週
|
390/1492
|
1/6
|
27/189
|
|
|
第七週
|
437/1929
|
2/8
|
38/228
|
我就知道Java不能調用中國農曆,LOL!
|
|
第八週
|
305/2234
|
1/9
|
19/247
|
專注搞社團活動,抽不出太多時間寫代碼。
|
|
第九周
|
574/2791
|
2/11
|
12/259
|
等試驗結果符合預期了在提交。
|
嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進自己的計劃能力。這個工作學習中很重要,也很有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。
- 計劃學習時間:15小時
- 實際學習時間:12小時
- 改進情況:提前看書就是好!
參考資料
- Java學習筆記(第8版)