真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java工程師學習指南(中級篇)-創(chuàng)新互聯(lián)

Java工程師學習指南

成都創(chuàng)新互聯(lián)服務項目包括麻山網(wǎng)站建設、麻山網(wǎng)站制作、麻山網(wǎng)頁制作以及麻山網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,麻山網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到麻山省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

中級篇

最近有很多小伙伴來問我,Java小白如何入門,如何安排學習路線,每一步應該怎么走比較好。原本我以為之前的幾篇文章已經(jīng)可以解決大家的問題了,其實不然,因為我寫的文章都是站在Java后端的全局上進行思考和總結的,忽略了很多小白們的感受,而很多朋友都需要更加基礎,更加詳細的學習路線。

所以,今天我們重新開一個新的專題,分別按照四個部分講述Java的學習路線,筆者也打算趁此機會,回憶一下自己的Java學習歷程。今天我們要講的是第三部分,Java工程師學習指南(中級篇)。

先聲明一點,文章里面不會詳細到每一步怎么操作,只會提供大致的思路和方向,給大家以啟發(fā),如果真的要一步一步指導操作的話,那至少需要一本書的厚度啦。

當然,本文提到的大部分內容都能在我的博客中找到對應的一些文章。所以也歡迎大家去我博客找到你們需要的資源。

本文中的方法不一定適合所有人,如有錯誤還請諒解。

上期回顧

在上一篇文章中,我們主要討論的是如何做一個Java Web項目,以及前期需要哪些方面的基礎。最后,我還推薦了幾個比較不錯的視頻課程,以便給大家參考。

當然,跟著視頻課程做完一個項目,你只是照葫蘆畫瓢又練習了一遍,可能其中有很多東西你并不太理解,比如你可能不知道為什么代碼要分層,為什么要用maven進行線上編譯,為什么Tomcat啟動時會輸出那么多的日志。

有疑問很正常,因為一個Java Web項目涉及的技術還是很多的,如果要理解這些技術的原理,光靠一個項目課程是遠遠不夠的。所以,在你體驗了Java Web項目的開發(fā)流程以后,你應該花些時間去了解相關技術原理了,今天我們要講的也是這部分內容。

對于即將參加校招的同學來說,最重要的也是這部分內容,你需要了解JVM虛擬機原理,Java并發(fā)原理,并且熟悉JDK的部分源碼,了解這些API的底層實現(xiàn)。除此之外,還有很多,下面我們分別來談一談。

01

計算機基礎知識

計算機基礎課程(非科班)

如果你不是計算機專業(yè)的同學,那你可能要注意一下了。在學習下面這些內容之前,你最好要學習一下計算機基礎課程。

這里我們說的計算機課程是:數(shù)據(jù)結構,操作系統(tǒng),計算機網(wǎng)絡。

數(shù)據(jù)結構:這門課應該算是三門課程比較簡單的一門了,推薦《數(shù)據(jù)結構與算法(Java語言描述)》,看書結合代碼實踐,把基本的數(shù)據(jù)結構算法寫一寫就可以了。

操作系統(tǒng):關于操作系統(tǒng)我看了很多本書,但是沒有感覺特別好的,所以如果有時間的話可以先看另外一本書《深入理解計算機系統(tǒng)》,這本書講了很多計算機的基本概念,不局限于操作系統(tǒng)。

然后可以看一看湯小丹寫的《操作系統(tǒng)》,或者你們學校的教材。

計算機網(wǎng)絡:網(wǎng)絡方面的書也非常多,推薦看一下《計算機網(wǎng)絡:自頂向下方法》,另外還有一本《TCP/IP 詳解:卷一》也是備受推崇的書。

除此之外,我還要推薦一下劉欣老師的書《碼農(nóng)翻身》,書中用一些有趣的故事來講解操作系統(tǒng)和計算網(wǎng)絡的一些復雜概念,有助于大家理解這部分內容。

02

JVM虛擬機

JVM虛擬機

為什么把JVM放在第一位,因為它是最基礎也最重要的一塊內容。所有的Java代碼都運行在JVM上,事實上,JVM在操作系統(tǒng)中只是一個進程。為了了解Java代碼的運行方式,底層引擎的執(zhí)行原理,以及內存的分配情況,我們必須要學習JVM虛擬機。

推薦資源:《深入理解JVM虛擬機》

很高興地告訴你們,學習JVM你只需要把這本書吃透即可,當然,看一遍可不夠,筆者前后至少看了三遍,有條件的話最好把書中的實例都跑一跑。

另外,JVM也是面試必考的內容,所以,相應地去準備一些面試題也是很有必要的,如果你基本掌握了這本書的內容,相信你不會懼怕任何JVM面試題。

03

設計模式與源碼閱讀

設計模式

為什么在這里提到設計模式呢,因為設計模式是Java編程規(guī)范的經(jīng)典總結,并且在JDK源碼中經(jīng)常使用,由于我們后面會講到JDK源碼方面的學習,所以對于設計模式,建議大家先學習一下,最好的學習方式就是看書結合實踐,把一些常用的設計模式自己實現(xiàn)一下。

推薦資源:《head first 設計模式》

JDK源碼(主要指集合類源碼)

接下來下場的選手是:JDK源碼。不過對于大部分人來說,只要能夠掌握集合類,字符串這些源碼就可以了,其他部分的源碼主要集中在JUC并發(fā)包里,而這些內容我們會放在Java并發(fā)技術里來講。

為什么我們需要掌握集合類源碼呢,其一是因為面試喜歡考,其二是因為集合類的源碼實現(xiàn)都比較經(jīng)典,難度也不算太大,并且運用了很多優(yōu)化方法,所以了解它對于學習Java的同學來說大有裨益。

推薦資源

市面上并沒有哪本書專門來講JDK源碼的,所以這部分內容的學習資源主要是兩個部分,一是JDK源碼本身,而是一些技術博客。

1 對于JDK源碼,直接看可能比較有難度,不推薦新手這么做。 2 講解源碼的文章質量參差不齊,所以我只推薦幾個我自己比較熟悉的,一個是importnew。一個是我的博客。另外,我之前分享的一篇文章

《你不可錯過的Java學習資源》

中也推薦了很多大牛和博客,大家也可以去看看。

Spring源碼

說實話,Spring源碼的復雜度遠高于集合類的源碼,這也是因為Spring運用了很多的設計模式,并且有著非常繁雜的類關系。所以,我不建議大家直接去讀Spring源碼,因為即使是看Spring源碼解析的書籍,你也會感到很吃力。

所以,我推薦的方式是,看書+看一些比較好的源碼解析文章。另外要告訴大家的是,Spring的源碼很多,并不是所有內容都需要你掌握的,大家都知道Spring最常用的特性就是IOC和AOP,所以看源碼解析時,最重要的也是這兩個部分了。

另外,看完Spring的源碼解析以后,別忘了看SpringMVC的源碼解析,學習方法也是一樣的,找重點內容看即可。

推薦資源:《Spring源碼深度》,我的博客專欄

04

Java并發(fā)技術

Java并發(fā)技術

相信你為了搞定集合類源碼和Spring源碼花了不少功夫了,接下來輪到Java并發(fā)技術出場了。我們在入門篇其實已經(jīng)談到了多線程,但是也僅僅停留在使用Thread或者Runnable實現(xiàn)簡單的多線程demo。

實際上,為了理解Java并發(fā)技術的底層實現(xiàn),我們還需要知道JMM模型,了解synchronized和volatile的底層實現(xiàn),同時還要明白Java中的多線程和操作系統(tǒng)的多線程和什么聯(lián)系和區(qū)別。除此之外,我們經(jīng)常談到的線程安全,有哪些實現(xiàn)方法,也是這部分內容的要點。

學習并發(fā)技術,我建議分為三個步驟

1 首先熟悉Java的多線程基礎知識,比如Thread的使用,線程的狀態(tài)轉換,以及一些api的使用方式。

2 了解一些理論基礎,比如JMM,操作系統(tǒng)的多線程實現(xiàn)。這部分內容推薦通過看書和看博客來學習。

3 了解并使用JUC的一些API,然后開始看JUC的一些源代碼。這個階段是最重要也是最困難的。

推薦資源: 書籍:《Java并發(fā)編程藝術》,《Java并發(fā)編程實戰(zhàn)》 網(wǎng)站:我的博客專欄,并發(fā)編程網(wǎng),importnew,

《你不可錯過的Java學習資源》

05

Java網(wǎng)絡編程

Java網(wǎng)絡編程

在搞懂Java并發(fā)編程技術之后,相信這部分內容也難不倒你。當然,前提是你對計算機網(wǎng)絡有一定了解,因為網(wǎng)絡編程涉及到TCP和HTTP相關的知識點。

在學習這部分內容的時候,你首先要了解socket的使用以及原理,然后再去了解NIO的相關API,多寫一些客戶端和服務端通訊的demo,以便熟悉這些內容。為了更好地理解網(wǎng)絡編程,你還要去了解UNIX網(wǎng)絡編程模型。

除此之外,如果你想要更好地理解Java網(wǎng)絡編程,你還需要去了解Tomcat的實現(xiàn)原理。同時,Netty也是值得你去學習的一部分內容,最好有機會去用一用這一網(wǎng)絡編程框架,學有余力的同學還可以考慮看看它的源碼(筆者沒有看)。

推薦資源:我的技術博客,《Java網(wǎng)絡編程》,

《你不可錯過的Java學習資源》

05

Java8

Java的版本一直在更新,但目前在用的主要還是Java8和Java7,等再過幾年可能這部分的內容就過時了。但是目前看來,對Java8的學習和了解還是很重要的,畢竟面試也喜歡考。

對這部分內容學習的最好方式就是:看文章+代碼實踐

推薦資源:《Java8實戰(zhàn)》

06

總結

今天的內容貌似有點多,大家會不會感覺有點吃不消呢。沒關系,因為這部分內容確實需要花很多時間去學習。對于一個在校的Java學習者來說,可能沒有機會接觸到多么高大上的項目,所以對內功的修煉顯得格外重要。

看書,寫demo,讀源碼,看似簡單的事情實際上需要花費大量時間和精力,這個過程是需要你靜下心來,慢慢沉淀的,在學習的過程中你也可以和筆者一樣,寫一些總結和博客,以便更好地回顧自己的學習歷程。

總結以下今天所講的內容吧:

1 計算機基礎課程:數(shù)據(jù)結構,網(wǎng)絡和操作系統(tǒng) 2 JVM基本原理 3 設計模式,JDK源碼,Spring源碼 4 Java并發(fā)技術,JUC源碼 5 Java網(wǎng)絡編程 6 Java8

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。


當前題目:Java工程師學習指南(中級篇)-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://weahome.cn/article/dcioho.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部