Java學習的3大難題,你都是怎麼解決的?

Java難學,枯燥乏味,堅持不了等等,這些或許是初學者最煩惱的,其實學Java就三個問題,搞定了你就前途道路清晰,下面跟着小編一起來看看吧。

一、面向對象的歷史演變

搞清楚面向對象的歷史演變,Java的每個特性都是基於面向對象產生的。Java就是面向對象而生的,Java就是一種思想。你們人手不是有一本啓蒙書籍叫think in Java麼?

國外書籍用的是think,國內的書籍都是深入理解/學習/深入淺出/30天掌握/教程XXXX字眼的書籍。腦袋沒毛病吧,隨便一本書平均下來都有500頁,各種深入理解,掌握過後。你的年齡也到該入土的時候了。

不是流行大數據麼?Hadoop是因爲一篇論文誕生的,論文的作者是google公司的員工。但是Hadoop 得誕生要比google公司來得快。在這點只能說Java幹得漂亮,要不然你們要想體會這種黑科技至少需要5年以上。

有時候真的很羨慕國內寫代碼的人,這些小學沒畢業的人居然可以拿到國外那些至少要初中畢業才能拿到的工資。而國外那些高中畢業的人只能去幫Java寫些源代碼義務勞動。

小編相信這裏有很多學習java的朋友,小編整理了一份java方面的學習資料,想要獲取的可以加我的java學習Qqun的喲,92820,4055。歡迎愛學習Java的你們。

二、面向對象

在Java的類庫裏面有很多的骨架實現。設計模式的出現要比Java早很多年。設計模式的思想的作者或鼻祖是緣於一個磚匠,搬磚的磚。

你們應該很慶幸設計模式就只有20幾種,終歸到底是緣於Java的特性也就這麼幾個。國外做過研究人能同時記住的東西是7±2。很巧的是Java的特性也就7±2。但是7±2也就最多組成20幾種設計模式。

好了問題來了,你能記住幾個Java特性(Java特性最多也就是9個哦),如果你能全部記住,那麼問題昇華了,你精通多少種設計模式。如果你們背的話,我能從1背到10億。

三、多線程

多線程只能說太難了,Java在多線程的上很落後的。Volatile關鍵字反反覆覆跟新了幾次背後原理實現,對於僞共享的實現也是在1.8才加入的。

多線程,僞共享,鎖機制,同步機制,重鎖機制。這些在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這個非公開類。爲什麼是不安全的。現在發現多線程是有多難了吧,沒有發現這段話比上面那段面向對象的字數都多了一倍麼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章