學java就兩個問題

學java就兩個問題:java是面向對象的語言這東西是國外的 搞清楚面向對象的歷史演變,java的每一個特性都是基於面向對象產生的。java就是面向對象而生的,java就是一種思想。大家人手不是有一本啓蒙書籍叫think in java麼?國外書籍用的是think,國內的書籍都是深刻理解/學習/深刻淺出/30天掌握/教程XXXX字眼的書籍。腦殼沒毛病吧,隨便一本書平均下來都有500頁,各類深刻理解,掌握事後。你的年齡也到該入土的時候了。(此處應該有掌聲)java

不是流行大數據麼?Hadoop是由於一篇論文誕生的,論文的做者是google公司的員工。可是Hadoop 得誕生要比google公司來得快。在這點只能說java幹得漂亮,要否則大家要想體會這種黑科技至少須要5年以上。有時候真的很羨慕國內寫代碼的人,這些小學沒畢業的人竟然能夠拿到國外那些至少要初中畢業才能拿到的工資。而國外那些高中畢業的人只能去幫JAVA寫些源代碼義務勞動。設計模式

其實學習java就是學習面向對象和多線程 精通java的最終目標就是學習面向對象,在JAVA的類庫裏面有不少的骨架實現。設計模式的出現要比java早不少年。設計模式的思想的做者或鼻祖是緣於一個磚匠,搬磚的磚。大家應該很慶幸設計模式就只有20幾種,終歸究竟是緣於java的特性也就這麼幾個。國外作過研究人能同時記住的東西是7±2。很巧的是java的特性也就7±2。可是7±2也就最多組成20幾種設計模式。好了問題來了,你能記住幾個java特性(java特性最多也就是9個哦),若是你能所有記住,那麼問題昇華了,你精通多少種設計模式。若是大家背的話,我能從1背到10億。 還有就是多線程。多線程只能說太難了,java在多線程的上很落後的。Volatile關鍵字反反覆覆跟新了幾回背後原理實現,對於僞共享的實現也是在1.8才加入@sun.misc.Contended的。多線程,僞共享,鎖機制,同步機制,重鎖機制。這些在15年前是高級課題,也是爲何不少java書籍都把多線程放在最後一章節。也是15年前存在的東西。緩存

看到沒有,就算是人家把java開源大家在技術上也會落後15年,由於JDK如今纔到1.8。爲何是15年前,由於15年前摩爾定律再也不適用了,intel的老闆跪在地上說,若是CPU超過4.0G我公司要倒閉了。因此多核的時代來臨了。回過頭來爲何說多線程難,學習多線程,你要搞清楚同步,異步,管程(什麼是管程,就是java文件代碼上加了synchronized關鍵字後,變成class文件後。synchronized關鍵字變成了java虛擬機的Moniters命令的中文翻譯),鎖機制,阻塞,以及線程的幾種狀態。安全

什麼順序一致性,原子性,有鎖,無鎖。安全性,讀寫同步/讀不用同步,寫同步。多核,compareAndSet(),getAndSet(),僞共享,高速緩存,Volatile關鍵字,系統總線,等等等等。多線程機制雖然多,可是這不是思想的重要性。再我看來最重要的就是爲何10年就有AtomicInteger爲何如今只在原來的基礎上跟新了一個LongAdder, 爲何這兩個類都是同一個老頭寫的而不是年輕人。爲何這兩個類都引用了sun.misc.Unsafe這個非公開類。爲何是不安全的。如今發現多線程是有多難了吧,沒有發現這段話比上面那段面向對象的字數都多了一倍麼。多線程

相關文章
相關標籤/搜索