(七)期末複習重點及課程心得

1-2章

▪ 軟件構造的多維度視圖
▪ 軟件構造的階段劃分、各階段的構造活動
▪ 內部/外部的質量指標
▪ 軟件配置管理SCM與版本控制系統VCS
▪ Git/GitHub
第3章
▪ 基本數據類型、對象數據類型
▪ 靜態類型檢查、動態類型檢查
▪ Mutable/Immutabl
▪ 值的改變、引用的改變
▪ 防護式拷貝
▪ Snapshot diagra▪ Specification、前置/後置條件
▪ 行爲等價性 ▪ 規約的強度
▪ ADT操做的四種類型
▪ 表示獨立性 ▪ 表示泄露
▪ 不變量、表示不變量RI
▪ 表示空間、抽象空間、AF
▪ 以註釋的形式撰寫AF、RI
▪ 接口、抽象類、具體類
▪ 繼承、override
▪ 多態、overload
▪ 泛型
▪ 等價性equals()和==
▪ equals()的自反、傳遞、對稱性
▪ hashCode()
▪ 可變對象的觀察等價性、行爲等 價性
 
第4-5章
▪ 代碼可理解性/可讀性
▪ 編碼規範
▪ Programing for/with reuse
▪ LSP
▪ 泛型的子類型化
▪ 泛型中的通配符
▪ Delegation
▪ Comparator和Comparable
▪ 接口的組合
▪ 白盒框架的原理與實現
▪ 黑盒框架的原理與實現
▪ 設計模式adapter、decorator、
façade、strategy、template、
iterator/iterable
 
第6-7章
▪ 可維護性的常見度量指標
▪ 聚合度與耦合度
▪ SOLID
▪ 設計模式:factory method、
abstract factory、builder、
bridge、proxy、composite、
observer/observable、visitor、
state、memento
▪ 語法、正則表達式
▪ 健壯性和正確性
▪ Throwable
▪ Runtime異常、其餘異常
▪ Checked異常、Unchecked異常
▪ Checked異常的處理機制:
– 拋出、捕獲、處理、清理現場、
釋放資源等
▪ 自定義異常類
▪ 斷言的做用、應用場合
▪ 調試的基本過程和方法
▪ 黑盒測試用例的設計
– 等價類劃分、邊界值分析
▪ 以註釋的形式撰寫測試策略
▪ JUnit測試用例寫法
▪ 測試覆蓋度
 
第八、10章
▪ 內存管理模型:堆、棧
▪ GC,root、reachable、
unreachable、live、dead
▪ GC的四種基本算法
▪ Java/JVM的內存管理模型:各
區域、各區域的GC方法
▪ JVM GC性能調優:參數配置、
GC模式選擇
▪ Java性能調優工具:jstat, jmap,
jhat, Visual VM, MAT
▪ Memory dump
▪ Stack trace
▪ Java代碼調優的設計模式:
singleton, prototype/cloneable,
flyweight, pool
▪ 常見的Java I/O方法
▪ 進程和線程
▪ 線程的建立和啓動,runnable
▪ 時間分片、交錯執行、競爭條件
▪ 線程的休眠、中斷
▪ 線程安全的四種策略****
▪ Message passing
▪ 死鎖
▪ 以註釋的形式撰寫線程安全策略

此次課程的實驗一開始讓我很頭大,由於我根本沒想學過java,可是通過屢次的實驗,我逐漸本身自學一點java基礎。也算是一點收穫。java

一開始是基礎java便安城試手,通過一週的java基礎學習發現此次試驗也不是很難。世上無難事,只怕有心人。
實驗二也不是很難的樣子,主要是在同窗的幫助,我學習到了不少。
實驗三涉及到了GUI的處理,這一開始難道了我,由於我以前根本沒有接觸過這種事情。GUI的學習我我是經過網上的公開公開課和java核心思想這本書逐漸學到的。學習了兩種方式,jpane跟jframe,這兩種方式各有好好處,jpane的repaint方法是最真的好用。這次實驗我也體會到了本身設計一個框架跟本身設計系統的美妙之處,讓我沉浸其中,而後實驗太難沒完成得很好。見識到了不一樣數據結構的不一樣用法,擴展了視野。
實驗四讓我體驗到了標準化編程的優勢,寫好註釋,javadoc跟一些必要的標註是很重要的,這在之後對程序的維護和修改方面有很大的幫助。還有就是對於垃圾回收機制的認識。
實驗五主要是對程序的優化,讓我體會到在不一樣的狀況下使用不一樣的數據結構有什麼好處,怎樣提升程序的效率,如何發現程序運行時的瓶頸。還有就是不一樣的文件讀寫策略也有不一樣的效率。
實驗六則是對多線程的編程,對於線程建立和線程安全又更深一步的認識正則表達式

在這一系列的實驗中,我基本掌握了Java的編程規則、知識要點和一些小技巧,特別是對面向對象的編程思想和風格有了進一步的認識和體會。同時,因正確的編出程序而帶來的成就感讓我對編程更加感興趣。對於在這些實驗過程當中,請教老師、同窗互助、查閱資料等基本的學習方式,使我更加領悟到集體和團隊的力量,也樹立了勇於攻堅的信心。算法

提及來編程的經驗應該是多了不少。可是在上機調試的時候仍是遇到了至關多的問題。不少的錯誤都很難體會,有的時候是輸入的錯誤,這種錯誤仍是比較容易找出來的,可是有些問題,好比一些題目須要導入一些包,這一點就沒有辦法了。發現JAVA雖然看起來比C或C++要容易一點,可是因爲它自身帶有至關多的方法定義,這些個方法雖然不用咱們本身再去編寫了可是須要花至關多的時間去記憶那些方法是須要導入的,還有方法名……因此對我來講這真的是比C裏簡單幾個文件的導入還要難上不少……仍是以爲本身編的方法(函數)本身用的習慣。不過如今的編程的方向已是面向對象和麪向數據的了,因此我須要時間去適應這樣的編程思想,同時在課上又學到了不少的編程策略,都須要咱們在實踐過程當中應用下來,初步掌握面向關鍵質量目標(可理解性、可維護性、可複用性、健壯性、時空性能)的軟件構造基本技術,同時也瞭解軟件代碼重構和麪向更復雜軟件系統的高級構造技術,總之呢在這一學期的學習中仍是學到了很多的編寫軟件的知識編程

相關文章
相關標籤/搜索