學java就兩個問題
搞清楚物件導向的歷史演變,java的每個特性都是基於物件導向產生的。java就是物件導向而生的,java就是一種思想。你們人手不是有一本啟蒙書籍叫think in java麼?國外書籍用的是think,國內的書籍都是深入理解/學習/深入淺出/30天掌握/教程XXXX字眼的書籍。腦袋沒毛病吧,隨便一本書平均下來都有500頁,各種深入理解,掌握過後。你的年齡也到該入土的時候了。(此處應該有掌聲)
不是流行大資料麼?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這個非公開類。為什麼是不安全的。現在發現多執行緒是有多難了吧,沒有發現這段話比上面那段物件導向的字數都多了一倍麼。
相關文章
- 再來兩個小問題
- 使用imp/exp遇到兩個問題
- 兩個小問題深入淺出List的效能問題
- 初學Java會遇見的幾個問題分享!Java
- 關於dcat-admin的兩個問題...
- 兩個將軍問題與分散式Saga分散式
- Cookie出現兩個同名Key的問題Cookie
- 兩個看似奇怪的MySQL語句問題MySql
- 兩個考研政治很多人問題但是解釋通的問題
- Java就業企業面試問題-電商專案Java就業面試
- 記錄後臺遇到的兩個小問題
- Spring Boot 面試,一個問題就幹趴下了!Spring Boot面試
- 有關webscraper的問題,看這個就夠了Web
- java學習中不懂的問題Java
- 零基礎學Java,必須要搞懂的10個問題!Java
- WPF --- 觸控式螢幕下的兩個問題
- 兩個流程鏈路問題的排查和總結
- 誰再問Servlet的問題,我就親自上門來教學了Servlet
- 兩個需要求 sg 函式的樹上博弈問題函式
- 解決小程式web-view兩個噁心問題WebView
- 再分享兩個小問題變成大故障的案例
- 聚類的基本問題及兩個常用演算法聚類演算法
- 兩個關於許可權設定的問題思考
- oracle rac 打PSU補丁30805461兩個問題(Java版本及空間不足導致失敗)OracleJava
- sweetalert 快速顯示兩個提示, 第二個顯示不出的問題
- 十個Python練手的實戰專案,學會這些Python就基本沒問題了Python
- 學Java技術,這些問題要避免Java
- 學Java技術,這些問題要避免!Java
- java學習中問題與解決方式Java
- 學習Java中遇到的繼承問題Java繼承
- java實現pv操作 -------哲學家問題Java
- Redis學習的幾個小問題Redis
- Spring Boot 面試,一個問題你就答不上來了Spring Boot面試
- 我攤牌了,大廠面試Linux就這5個問題面試Linux
- Go的http庫處理multipart的兩個問題解決GoHTTP
- java問題排查Java
- Java基本問題Java
- 40 個 Java 多執行緒問題總結Java執行緒