一週至少兩章,去掉最後的併發和圖形化用戶界面,恰好須要2個半月才能學好。這進度感受有點慢,因此作下調整吧,改爲一個月會不會更好點^^,認認真真的把java的聖經給看一遍。java
計劃:正則表達式
第1~6 11.17~11.22 數組
第7~11 11.23~11.30安全
第12~16 12.1~12.7閉包
第16~20/21 12.8~12.15併發
今天看了知乎上的評論,發現剛開始閱讀CJ,而後是TIJ,最後是EJ,感受仍是蠻有道理的。框架
http://www.zhihu.com/question/29581524學習
另外,作下調整,打算快速把書本在過一遍,由於太多東西已經沒有框框印象了,11.30完成,而後剩下兩週好好回味(結合CJ)--20151126this
看到11章節,後面的章節,可能要快速瀏覽了--20151127代理
異常處理、字符串、反射、泛型,都算java中級的內容了,恩,今天生病了,就簡單過下吧。今天目標,把目錄瀏覽完畢--20151130
提綱挈領,對OOP、java的特性進行了簡要介紹
java hello world,不過若是要入門,隨便一個百度均可能都比本書寫的更簡單易容
五分鐘略過,無感
五分鐘略過,無感
有點失望,這塊,後面對於構造初始化,應該結合JVM好好惡補下,先mark了
通常般
1.組合與繼承。
組合:在新類中嵌入某個對象,讓其協助實現功能,可是新類的用戶看到的是新類所定義的接口,而非嵌入的這個對象的接口。好拗口,不過博主秒懂了。
繼承:有時候,咱們須要暴露成員對象,讓外界瞭解其內部實現的過程
2.向上轉型
上轉型,子類轉成父類,相似基礎類型的隱私轉換,JVM是支持的。也符合里氏替換原則。
3.final
做用域變量/方法/類
4.類加載的順序
自身靜態對象-->構造器-->父類靜態對象1-->父類構造器1 -->父類靜態對象n-->父類構造器n
1.前期綁定(方法參數申明 單派機制) final static private 修飾的,都是前期綁定
2.後期綁定(也叫動態綁定 多態的實質變現形式)
3.協變返回類型
子類中定義的覆蓋方法返回類型能夠是具體的子類(Java5纔有的)
4.關於繼承與組合的抉擇
組合優於繼承,只有當純粹的is-a結構的時候,纔會考慮使用繼承
5.先下轉型與運行時類型識別
向上轉型會丟失子類特有的信息,所以考慮向下轉型
向下轉型不是安全的,若是強轉不正確,會返回ClassCastException。能夠經過instanceof來解決
額外.依賴倒置
接口提供了一種抽象與實現分離的更加結構化的方法
1.關鍵字 abstract與interface
is-a與has-a
2.多重繼承
no way。不過能夠經過實現多接口來間接完成。
3.經過繼承擴展接口
不少框架都是這麼幹滴。
4.適配接口
5.接口中的域
5.1 默認帶上static final
5.2 記得在哪裏看過,不要在接口中定義常量,因此,如今,好像也不多看到這種狀況發生了
6.工廠方法
簡單工廠的實現
內部類:一個類中定義了另一個類
內部內與外部類關聯:內部類經過"外部類.this",而外部內經過"外部類".引用.new 內部類 此處代碼先省略之(這裏指的是通常的內部類 相對於static的內部類)
內部類存在的幾種形式
1.方法中的內部類(可匿名也能夠不用),若是內部類中須要使用方法參數,則方法必須是final修飾的
2.實現接口的匿名類
3.嵌套類(靜態內部類) 只能訪問外部類的靜態方法與對象(緣由在於沒有了this引用)
爲何須要內部類
1.實現多重繼承
2.閉包
3.內部類沒法被覆蓋
內部類標識
外部類.class
外部類$1.class
外部類$內部類.class
1.英文叫Holding YourObjects,本章節介紹的是java的容器。容器跟數組相比,能夠動態擴容,形式結構也多樣,接口功能也更豐富。
2.泛型
2.1解決早起類型轉換問題
2.2存放各類子類(extends與super 固然,這不是本章重點,等泛型了,咱們在重點說下)
2.3 Arrays.asList()、Collections.addAll()
2.4 map的三個變體
HashMap 經過hashcode值來實現快速查找
TreeMap 按照插入順序
LinkdedHashMap = hashmap+treemap
2.5 List
ArrayList 查找快,插入慢
LinkedList 朝找慢,插入刪除快
2.6 迭代器
1. next()
2.hasNext()
3.remove()
上述即是"迭代器模式"的標準方法結構
ListIterator
2.7 Stack
pop()、peek()、push()
2.8 Set
不保存重複的元素(如何定義重複的元素?),內部存儲無序
2.9 Map
3.0 Queue
1.FIFO,reverse Stack
2.PriorityQueue
3.1 適配器模式
3.2 非本書內容
新版本的JDK加入了不少新的容器,包括current包下的,感受惡補的東西仍是蠻多的
----------------------------------------------------------------------------------完成於20151127 20:40pm.----------------------------------------------------------------------------------------------
關鍵信息:throwable、exception、error、throw、throws、try、catch、finally
stackTrace,cause
String
新版本的+與Stringbuffer
printf,format,formatter
正則表達式
類型信息,其實就是反射了,RTTI(run-time type infomation)
Class對象
instanceof 、isInstance()
動態代理
class比較與instanceof區別
過之,至少花兩天認真看了
數組與容器的比較:效率、類型、基礎類型
數組等同於線性結構容器
數組越界
類型沒法保證,對於非基礎類型,數組可能存在CastClassException
容器沒法泛型基礎類型
一維數組與多維數組
數組的經常使用方法:fill() etc
Arrays
過之,單獨在研究吧
過之
讓我想起了《effective java》中關於枚舉的介紹
並沒興趣研究,想學習仍是單獨去看《併發實戰指南》一書吧,《effective java》中好像也要提到
GUI graphical user interface
swing