根據(jù)我這些年學(xué)習(xí)、使用Java的經(jīng)驗(yàn),Java這門語(yǔ)言并不難學(xué),有點(diǎn)編程基礎(chǔ)的人很容易上手,學(xué)習(xí)個(gè)年把時(shí)間甚至就可以勝任Java開(kāi)發(fā)的工作,那能勝任工作是不是就精通Java了,不然,Java博大精深,單單是學(xué)透就就很困難。我研究生畢業(yè)找工作的時(shí)候,學(xué)習(xí)Java已有五六年,也參與過(guò)課題組項(xiàng)目的開(kāi)發(fā),自認(rèn)為Java學(xué)的挺不錯(cuò)的動(dòng)手能力也可以,但是在找工作投簡(jiǎn)歷的時(shí)候從不敢寫(xiě)“精通Java”,只敢寫(xiě)“熟練使用Java”。我們單位從事Java開(kāi)發(fā)的同事小到敲代碼的碼農(nóng)大到CTO,沒(méi)聽(tīng)誰(shuí)說(shuō)精通Java,那么精通Java到底有多難呢。要精通Java,個(gè)人認(rèn)為至少且不止要掌握以下技術(shù):

把Java編程語(yǔ)言精通到底有多難

扎實(shí)的計(jì)算機(jī)基礎(chǔ)

一般學(xué)習(xí)計(jì)算機(jī)專業(yè)的同學(xué)都會(huì)系統(tǒng)的學(xué)習(xí)過(guò)計(jì)算機(jī)基礎(chǔ),包括數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)、操作系統(tǒng)。這些知識(shí)我很多都是學(xué)完就還給老師了,真正的大牛是信手拈來(lái),隨便一個(gè)知識(shí)點(diǎn)都能講明白。

Java知識(shí)

Java是一門博大精深的編程語(yǔ)言,語(yǔ)法不復(fù)雜,可是涉及的知識(shí)點(diǎn)卻是非常的多。要把這些知識(shí)點(diǎn)都理解透,并且會(huì)應(yīng)用。不然,別人問(wèn)起某一個(gè)知識(shí)點(diǎn),你如果講不通,豈不是很丟人,更何談精通呢?

Java web 技術(shù)

目前大公司使用Java,多以開(kāi)發(fā)web后臺(tái)為主,所以Java web開(kāi)發(fā)的各種框架都要熟練使用,Java web開(kāi)發(fā)使用到的各種庫(kù)也要拿來(lái)就能用。另外網(wǎng)絡(luò)協(xié)議、網(wǎng)絡(luò)安全的東西也要熟悉。

把Java編程語(yǔ)言精通到底有多難?

Java并發(fā)

現(xiàn)在的開(kāi)發(fā)都面向大數(shù)據(jù)、高并發(fā)的應(yīng)用場(chǎng)景,Java并發(fā)編程是必會(huì)且必熟悉的內(nèi)容,并且要懂Java并發(fā)底層的實(shí)現(xiàn),并發(fā)編程是一門藝術(shù),真正掌握好這門藝術(shù)并不容易。

Java服務(wù)器

服務(wù)器的部署,服務(wù)器集群開(kāi)發(fā),這些知識(shí)也是必知必會(huì)的技能。在參加工作之前我這方面的知識(shí)就比較欠缺,參加工作之后一頓惡補(bǔ)。

Java虛擬機(jī)

除了學(xué)習(xí)Java虛擬機(jī)的知識(shí)之外,更要理解Java虛擬機(jī)底層的架構(gòu)、工作原理、垃圾回收機(jī)制、內(nèi)存、堆棧等,更重要的是Java虛擬機(jī)調(diào)優(yōu)。

很多很多其它

因?yàn)橹R(shí)點(diǎn)太多我不再一一羅列,要會(huì)一門腳本語(yǔ)言、熟練使用Linux系統(tǒng)、熟練使用Linux命令、熟練操作各種數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)緩存、數(shù)據(jù)庫(kù)索引、大數(shù)據(jù)處理、各種算法、分布式、負(fù)載均衡、消息隊(duì)列、kafka、Hadoop、Hbase、機(jī)器學(xué)習(xí)等等還有很多我不知道的知識(shí)。