Java學到什麼程度才能叫精通?

首先Java平臺博大精深,一直被譽爲互聯網霸主;我們都知道互聯網技術結構之複雜,所以Java的技術組件,架構也非常之多和複雜;正所謂萬丈高樓平地起對吧,想要精通Java,那麼首先基礎知識必不可少,基礎知識我有分爲兩部分:

1:計算機基礎知識

Java也是一門計算機語言,當然暫且不表Java的特點以及和其他語言的對比之類的話。既然是計算機語言那麼計算機的基礎知識肯定是必備的,操作系統(這個知識最起碼在學習Java多線程的時候才能真正的說理解多線程以及多線程調度等等,還有進程管理等等要不很多人動不動就是什麼JVM調優,垃圾回收器呀什麼什麼的,JVM調優並不是簡簡單單的改動點參數,如果僅僅是改動一點參數就叫JVM調優...對吧其他的這裏就不說了);

計算機網絡基礎知識(最起碼的你知道HTTP,TCP/IP,UDP等最基本的這些協議吧,網絡通信原理)。

2:程序基礎知識

程序的基礎知識:

計算機語言的運行原理(例如二進制的計算肯定比十進制的快這些基本的運行原理,還有就是要不你怎麼理解JVM對吧等等);

算法(重要,很多互聯網大公司很看重這個,算法都不懂,你還說什麼代碼運行效率;還有就是JDK源碼你怎麼看都需要算法知識)

數據結構(重要,你去看看Java集合類的源碼,哪一個不是數據結構的東西)

下來進入到Java中來說

首先還是那句話,精通一門語言,那麼你必須要從它的平臺內部開始,所以JVM就是第一個需要深入瞭解的東西;JVM怎麼進行內存管理(這就常見的堆,棧,方法區,程序計數器等等),ClassLoader(類加載的機制的層次:Bootstrap ClassLaoder,Extension ClassLoader,System ClassLoader,以及自定義類加載器,雙親委派模式原理,Clasl文件的顯示加載與隱式加載),GC管理(前面瞭解了JVM的內存管理,這個地方纔能知道GC的作用,知道新生代,老生代,永久代,GC收集算法,強引用,弱引用,軟引用,虛引用等等);常用的一些Java命令(例如:Java反編譯,性能監控,故障處理)這是必備的就不多說

Java基礎知識

Java基礎知識比較多就不一一羅列,但是例如String,StringBuffer,StringBuilder,Integer,ArrayList , LinkedList、Vector,Stack, HashMap , LinkedHashMap , TreeMap , CouncurrentHashMap、HashSet , LinkedHashSet , TreeSet , HashMap,Queue ,Deque,BlockingDeque, BlockingQueue, TransferQueue(太多了就不全列舉出來)這些基本的集合,線程,線程鎖,線程池,Socket,反射等類的源碼要熟讀;

JavaWeb部分

基本的網絡知識,網絡協議知識;Servlet標準,JSP的原理(雖說現在這些直接使用的少了,但是基礎知識在理解其他知識絕對需要);服務器的配置和管理(這部分一會在分佈式中詳細說);AJAX,JSON等等;數據池,數據緩存,性能優化等等

mybatis , Spring(這個厲害了,這個都成了分佈式系統生態鏈),Spring基礎的IOC,AOP(重複一次,不是說你會使用和配置,而是要深入理解以及理解源碼),SpringMVC,SpringBoot(這個加上maven,對於構建微服務有着非常重要的地位),SpringCloud,RestFull,RPC,RMI,SOAP協議,微服務的管理(Eureka,Zookeeper等),負載均衡(Nginx,Ribbon等),Dubbo,Hystrix(微服務熔斷保護),Config(遠程配置與管理維護),Zuul(路由),Feign,MQ(消息中間件,RabbitMQ,kafka,ActiveMQ等等),elasticsearch(搜索服務器),Memcache等等

數據庫方面:

先說數據庫常用的產品:mysql,oracle,redis,mongodb 這些都要會;

mycat的讀寫分離,數據庫集羣

mysql的存儲引擎(這個不但要了解理論知識還要知道實際使用),索引(數據庫高效的最基本的東西),存儲過程(這裏申明一下不是說會定義一個存儲過程不是說語法,而是存儲真正在實際中的運用)等,Oracle的內存結構,進程結構,SQL優化,數據庫服務器管理調優等,其他的就不過多贅述;

redis,mongodb(這個不用多說,現在使用非常廣泛)

操作系統:

Liunx一定要熟練使用(現在好多技術都是更加適應Liunx,再說服務器大部分肯定是Liunx居多)

實戰:

所有的理論都需要實踐去檢驗,所以最終要成爲高手或者說是所謂的精通,一定且唯一的校驗標準一定是在實際的項目中來完成。

所以想要精通,那麼一定是非常紮實的理論,對理論能有自己的領悟,然後用來解決實際問題;在實際的問題中夯實自己的知識。


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