Java編程
這里的Java編程部分包含了很多內(nèi)容。我們可以分別看看,大概歸納一下就是這幾個(gè)部分。
Java基礎(chǔ)
這里的Java基礎(chǔ)包括基本語法,集合類框架,以及一些高級(jí)特性,比如反射,注解等等。
Java基礎(chǔ)的知識(shí)點(diǎn)非常多,所以要真正搞懂也沒有那么簡單,另外,隨著時(shí)間推移,一些新特性也需要得到我們的重視,比如時(shí)下流行的JDK8。
設(shè)計(jì)模式
我一直覺得設(shè)計(jì)模式可以和Java基礎(chǔ)一塊學(xué),所以我也把它放在這里。當(dāng)然,一些真正使用到設(shè)計(jì)模式的地方,譬如JDK的集合類,IO流等等,也需要你足夠重視。
JavaWeb技術(shù)
JavaWeb技術(shù)包括J2EE,以及web框架,乃至一系列常用的組件。
1J2EE主要包括的就是servlet,jsp這些比較復(fù)古的web開發(fā)組件了。雖然現(xiàn)在直接用它們的情況比較少,但是我們還是需要花一些時(shí)間去掌握它們的。
2web框架常用的就是Spring了,相應(yīng)的,hibernate和mybatis也需要了解一下。
3同時(shí),JavaWeb開發(fā)時(shí)的常用類庫,比如jnuit單元測(cè)試,log4j日志工具,以及構(gòu)建工具maven,都屬于我們要掌握的范疇。
4最后,要注意的是,Web相關(guān)的一些基本知識(shí),比如HTTP協(xié)議,網(wǎng)絡(luò)安全基礎(chǔ),也是我們要考慮的部分。
Java并發(fā)技術(shù)
Java的并發(fā)技術(shù)泛指Java的多線程技術(shù),以及JUC包里的并發(fā)類,比如線程池,并發(fā)工具類,阻塞隊(duì)列等等。
Java并發(fā)技術(shù)完全可以獨(dú)立出來學(xué)習(xí),是Java進(jìn)階知識(shí)的一大重點(diǎn)。
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程序運(yùn)行的一個(gè)進(jìn)程,學(xué)習(xí)JVM知識(shí),也是我們的必經(jīng)之路。除了看懂《深入理解jvm虛擬機(jī)》以外,我們還要學(xué)習(xí)的內(nèi)容就是JVM調(diào)優(yōu),使用合適的工具診斷問題,最后解決問題。
這部分內(nèi)容在面試中呈現(xiàn)的不僅僅是GC,內(nèi)存分區(qū),以及類加載器,也包括了我所說的JVM調(diào)優(yōu)問題。
Linux
作為后臺(tái)同學(xué),常年被面試官問linux相關(guān)的問題,所以覺得學(xué)好linux還是蠻重要的,除了基本命令以外,最好還能了解一些shell腳本,甚至是內(nèi)核相關(guān)的知識(shí),這方面是我的一個(gè)弱項(xiàng)。
數(shù)據(jù)相關(guān)
在這個(gè)路線圖里,數(shù)據(jù)部分囊括了非常多的數(shù)據(jù)源,我們可以來看看都有哪些是我們需要掌握的。
關(guān)系數(shù)據(jù)庫Mysql
這個(gè)不必多說,人手都要會(huì),不管是基礎(chǔ)的crud,索引,抑或是進(jìn)階的存儲(chǔ)引擎,分布式方案等,我們都需要對(duì)應(yīng)掌握。
緩存
如Redis,memcache一類的緩存,作為后端開發(fā)者的我們也需要對(duì)應(yīng)掌握,當(dāng)然,它們的高級(jí)特性,以及分布式方案,也是必備的知識(shí)點(diǎn)。
搜索引擎
基于Lucene的solr,elasticsearch這類搜索引擎,本質(zhì)上也是數(shù)據(jù)源,但是并不是后端必備的內(nèi)容,不過學(xué)一學(xué)也沒有壞處啦。
大數(shù)據(jù)
海量數(shù)據(jù)處理的場景越來越多,大數(shù)據(jù)技術(shù)如hadoop,storm等也越來越火,但是大數(shù)據(jù)應(yīng)用一般會(huì)由專業(yè)的大數(shù)據(jù)工程師來做,所以我們學(xué)一些基本內(nèi)容也就足夠了。
算法和數(shù)據(jù)結(jié)構(gòu)
算法一直是校招同學(xué)面前的一座大山,作為后端同學(xué)來講,除了基本的數(shù)據(jù)結(jié)構(gòu)算法以外,也要會(huì)一些高級(jí)的算法,譬如dp,搜索,貪心等等。
另外,通過LeetCode等題庫來刷題的方式來鞏固算法也是公認(rèn)的好辦法了。
分布式
最后一個(gè)部分,也是內(nèi)容最多,覆蓋面最廣泛的部分了。分布式相關(guān)的技術(shù)實(shí)在太多了,我們這里也會(huì)做一下簡單的歸納。
web架構(gòu)
先了解web架構(gòu)的發(fā)展會(huì)對(duì)分布式的學(xué)習(xí)有更好的理解,畢竟架構(gòu)的發(fā)展也對(duì)應(yīng)著分布式技術(shù)的發(fā)展。
分布式理論
這部分內(nèi)容包括分布式的發(fā)展演化,base理論和cap理論等等,學(xué)習(xí)分布式技術(shù)之前,最好能對(duì)這部分概念有一定了解。
一致性問題
強(qiáng)一致性的解決方案:事務(wù)和鎖,弱一致性的方案:消息隊(duì)列。
分布式session
一個(gè)常見的問題,也有多種解決方案
分布式緩存
和上面說的緩存一樣,只不過這里側(cè)重緩存的分布式方案
分布式數(shù)據(jù)庫
這里指的數(shù)據(jù)庫的分布式方案,也包括hbase這種分布式數(shù)據(jù)庫。
負(fù)載均衡
負(fù)載均衡也是一個(gè)值得探討的話題,一般我們討論的是七層和四層負(fù)載均衡。
消息隊(duì)列
消息隊(duì)列是一個(gè)比較復(fù)雜的分布式組件,我們可以了解常用消息隊(duì)列比如amq,kafka等的實(shí)現(xiàn)。
服務(wù)化
服務(wù)化的核心包括rpc,服務(wù)注冊(cè)中心等等。分布式服務(wù)相關(guān)技術(shù)也是后端同學(xué)必須掌握的內(nèi)容。
虛擬化
虛擬化同樣不是后端同學(xué)必須掌握的內(nèi)容,只不過現(xiàn)在越來越多的服務(wù)部署方式使用的是docker和云服務(wù)的方式。所以了解一下也沒有什么不好的。
Java全套自學(xué)資料+視頻
新手Java安裝教程:http://www.bjpowernode.com/v106/
Java基礎(chǔ)視頻教程:http://www.bjpowernode.com/v104/
經(jīng)典Java基礎(chǔ)教程:http://www.bjpowernode.com/v19/
Java免費(fèi)視頻教程:http://www.bjpowernode.com/v61/
以上就是長沙一度軟件培訓(xùn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“Java需要學(xué)習(xí)什么知識(shí)?學(xué)到什么程度畢業(yè)”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)內(nèi)容
零基礎(chǔ)怎么自學(xué)Java,完整版Java學(xué)習(xí)路線圖
你還在糾結(jié)學(xué)Java,是自學(xué)還是去培訓(xùn)班嗎
一個(gè)標(biāo)準(zhǔn)的Java程序員如何進(jìn)階?
Java學(xué)習(xí)路線清單,快速進(jìn)階Java
Java編程初學(xué)者要如何進(jìn)階