這里的Java編程部分包含了很多內(nèi)容。我們可以分別看看,大概歸納一下就是這幾個部分。
創(chuàng)新互聯(lián)公司是一家專業(yè)提供新寧企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站制作、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為新寧眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計公司優(yōu)惠進行中。
Java基礎(chǔ)
這里的Java基礎(chǔ)包括基本語法,集合類框架,以及一些高級特性,比如反射,注解等等。
Java基礎(chǔ)的知識點非常多,所以要真正搞懂也沒有那么簡單,另外,隨著時間推移,一些新特性也需要得 到我們的重視,比如時下流行的JDK8。
設(shè)計模式
我一直覺得設(shè)計模式可以和Java基礎(chǔ)一塊學(xué),所以我也把它放在這里。當然,一些真正使用到設(shè)計模式的 地方,譬如JDK的集合類,IO流等等,也需要你足夠重視。
Java Web技術(shù)
Java Web技術(shù)包括J2EE,以及web框架,乃至一系列常用的組件
J2EE主要包括的就是servlet,jsp這些比較復(fù)古的web開發(fā)組件了。雖然現(xiàn)在直接用它們的情況比較少, 但是我們還是需要花一些時間去掌握它們的。
web框架常用的就是Spring了,相應(yīng)的,hibernate和mybatis也需要了解一下。
同時,JavaWeb開發(fā)時的常用類庫,比如jnuit單元測試,log4j日志工具,以及構(gòu)建工具maven,都屬 于我們要掌握的范疇。
Java并發(fā)技術(shù)
Java的并發(fā)技術(shù)泛指Java的多線程技術(shù),以及JUC包里的并發(fā)類,比如線程池,并發(fā)工具類,阻塞隊列等 等。
Java并發(fā)技術(shù)完全可以獨立出來學(xué)習(xí),是Java進階知識的一大重點。
Java網(wǎng)絡(luò)編程和服務(wù)器
這一塊內(nèi)容是Java中比較復(fù)雜但也很重要的一塊內(nèi)容。比如BIO,NIO,AIO的一些使用和原理,以及tomcat 這類web服務(wù)器,甚至是netty這種網(wǎng)絡(luò)編程框架,都是可以去了解和學(xué)習(xí)的內(nèi)容。
Jvm基礎(chǔ)與調(diào)優(yōu)
JVM是提供Java程序運行的一個進程,學(xué)習(xí)JVM知識,也是我們的必經(jīng)之路。除了看懂《深入理解jvm虛 擬機》以外,我們還要學(xué)習(xí)的內(nèi)容就是JVM調(diào)優(yōu),使用合適的工具診斷問題,最后解決問題。
這部分內(nèi)容在面試中呈現(xiàn)的不僅僅是GC,內(nèi)存分區(qū),以及類加載器,也包括了我所說的JVM調(diào)優(yōu)問題。
作為后臺同學(xué),常年被面試官問linux相關(guān)的問題,所以覺得學(xué)好linux還是蠻重要的,除了基本命令以外, 最好還能了解一些shell腳本,甚至是內(nèi)核相關(guān)的知識,這方面是我的一個弱項。
在這個路線圖里,數(shù)據(jù)部分囊括了非常多的數(shù)據(jù)源,我們可以來看看都有哪些是我們需要掌握的。
關(guān)系數(shù)據(jù)庫Mysq
這個不必多說,人手都要會,不管是基礎(chǔ)的crud,索引,抑或是進階的存儲引擎,分布式方案等,我們都 需要對應(yīng)掌握。
緩存
如redis,memcache一類的緩存,作為后端開發(fā)者的我們也需要對應(yīng)掌握,當然,它們的高級特性,以 及分布式方案,也是必備的知識點。
搜索引擎
基于Lucene的solr,elasticsearch這類搜索引擎,本質(zhì)上也是數(shù)據(jù)源,但是并不是后端必備的內(nèi)容,不過 學(xué)一學(xué)也沒有壞處啦。
大數(shù)據(jù)
海量數(shù)據(jù)處理的場景越來越多,大數(shù)據(jù)技術(shù)如hadoop,storm等也越來越火,但是大數(shù)據(jù)應(yīng)用一般會由專 業(yè)的大數(shù)據(jù)工程師來做,所以我們學(xué)一些基本內(nèi)容也就足夠了。
算法一直是校招同學(xué)面前的一座大山,作為后端同學(xué)來講,除了基本的數(shù)據(jù)結(jié)構(gòu)算法以外,也要會一些高 級的算法,譬如dp,搜索,貪心等等。 另外,通過LeetCode等題庫來刷題的方式來鞏固算法也是公認的好辦法了。
最后一個部分,也是內(nèi)容最多,覆蓋面最廣泛的部分了。分布式相關(guān)的技術(shù)實在太多了,我們這里也會做 一下簡單的歸納。
web架構(gòu)
先了解web架構(gòu)的發(fā)展會對分布式的學(xué)習(xí)有更好的理解,畢竟架構(gòu)的發(fā)展也對應(yīng)著分布式技術(shù)的發(fā)展。
分布式理論
這部分內(nèi)容包括分布式的發(fā)展演化,base理論和cap理論等等,學(xué)習(xí)分布式技術(shù)之前,最好能對這部分概 念有一定了解。
一致性問題
強一致性的解決方案:事務(wù)和鎖;弱一致性的方案:消息隊列。
分布式session
一個常見的問題,也有多種解決方案
分布式緩存
和上面說的緩存一樣,只不過這里側(cè)重緩存的分布式方案
分布式數(shù)據(jù)庫
這里指的數(shù)據(jù)庫的分布式方案,也包括hbase這種分布式數(shù)據(jù)庫。
負載均衡也是一個值得探討的話題,一般我們討論的是七層和四層負載均衡
消息隊列
消息隊列是一個比較復(fù)雜的分布式組件,我們可以了解常用消息隊列比如amq,kafka等的實現(xiàn)。
服務(wù)化
服務(wù)化的核心包括rpc,服務(wù)注冊中心等等。分布式服務(wù)相關(guān)技術(shù)也是后端同學(xué)必須掌握的內(nèi)容
虛擬化
虛擬化同樣不是后端同學(xué)必須掌握的內(nèi)容,只不過現(xiàn)在越來越多的服務(wù)部署方式使用的是docker和云服務(wù) 的方式。所以了解一下也沒有什么不好的。