-
1 # 肯特崗
-
2 # Z張光成
學好java五點要素
1.學習java的慾望和決心
2.要有堅定的意志力和堅持學下去的恆心
3.要定一個長期的學習目標
4.去網上找教程多看多練
5.溫故而知新
-
3 # 程式領域
主要概括學習路線及方法透過優秀的 github 學習庫學習Java工程師必看書籍學習路線以及方法推薦
對於學習路線的話,我說一條我比較推薦的,我相信照著這條學習路線來你的學習效率會非常高。
掌握 Java 基礎知識:可以看《Think in Java》、《Java 核心技術卷1》、《Head First Java》這幾本書,一定不要忽略書籍,書籍的閱讀過程會變成一種思考過程,能夠鍛鍊理解力和定力,當然你也可以邊看影片邊看書學習(推薦黑馬或者尚矽谷的影片)。記住初學者一定要跟著影片一起寫,哪怕不懂也要寫,只有寫了記錄才能總結,最好程式碼分章節提交到 github。掌握多執行緒的簡單實用(推薦《Java併發程式設計之美》)。想進入高階崗位,就一定要持續的提升自己,我推薦在學習完Java基礎或者多執行緒之後,就開始每天抽出一點時間來學習演算法和資料結構。為了提高自己的程式設計能力,你也可以堅持刷Leetcode,這是一個艱難的過程,但是會讓自己更加完美。學習前端基礎(HTML、CSS、JavaScript),當然BootStrap、VUE、react、angular等等前端框架你也可以瞭解一下,如果不感興趣建議放棄,因為人的精力有限,需要放到自己更喜歡的方向。學習MySQL 的基本使用,基本的增刪改查,SQL命令,索引、儲存過程,而且最好看看mysq 原理,這個很重要,只有知道了底層原理比如 mysql 書籍儲存結構,才能更好的理解索引,如何最佳化等。 建議學習J2ee框架之前可以提前花半天時間學習一下Maven的使用。(到處找Jar包,下載Jar包是真的麻煩費事,使用Maven可以為你省很多事情)學習Struts2(可不用學)、Spring、SpringMVC、Hibernate、Mybatis 等框架的使用,(可選)熟悉 Spring 原理(大廠面試必備),然後很有必要學習一下SpringBoot。我也遇到很多公司對於應屆生直接上手SpringBoot,不過我還是推薦你把Spring、SpringMVC好好學一下。學習Linux的基本使用(常見命令、基本概念)學習Dubbo、Zookeeper、常見的訊息佇列(比如ActiveMq、RabbitMQ)的使用。可以學習一下NIO和Netty,這樣簡歷上也可以多點東西。推薦java 學習倉庫https://github.com/Snailclimb/JavaGuide
這個倉庫現在 star 78.3K ,涵蓋了非常豐富的 java 知識體系,可以不用一下子全看,從基礎的開始,隨著自己的水平不斷提升,經驗更加豐富以後,可以接觸分散式、JVM、演算法之類的。
但是同時,還是要有自己的學習筆記。不斷的整理查漏補缺。這個習慣非常有用,能夠讓自己不斷提升的同時,有其他意外驚喜,比如交到同行的朋友,這些都是隱形資源。
《Java 8 實戰》:面向 Java 8 的技能升級,包括 Lambdas、流和函數語言程式設計特性。實戰系列的一貫風格讓自己快速上手應用起來。Java 8 支援的 Lambda 是精簡表達在語法上提供的支援。Java 8 提供了 Stream,學習和使用可以建立流式程式設計的認知。《Java 8 程式設計參考官方教程》:建議當做工具書來用!哪裡不會翻哪裡!程式碼最佳化《重構_改善既有程式碼的設計》:豆瓣 9.1 分,重構書籍的開山鼻祖。《Effective java 》:本書介紹了在 Java 程式設計中很多極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。這篇文章能夠非常實際地幫助你寫出更加清晰、健壯和高效的程式碼。本書中的每條規則都以簡短、獨立的小文章形式出現,並透過例子程式碼加以進一步說明。《程式碼整潔之道》:雖然是用 Java 語言作為例子,全篇都是在闡述 Java 面向物件的思想,但是其中大部分內容其它語言也能應用到。阿里巴巴 Java 開發手冊 :https://github.com/alibaba/p3cGoogle Java 程式設計風格指南: http://www.hawstein.com/posts/google-java-style.html網路《圖解 HTTP》: 講漫畫一樣的講 HTTP,很有意思,不會覺得枯燥,大概也涵蓋也 HTTP 常見的知識點。因為篇幅問題,內容可能不太全面。不過,如果不是專門做網路方向研究的小夥伴想研究 HTTP 相關知識的話,讀這本書的話應該來說就差不多了。《HTTP 權威指南》:如果要全面瞭解 HTTP 非此書不可!作業系統《鳥哥的 Linux 私房菜》:本書是最具知名度的 Linux 入門書《鳥哥的 Linux 私房菜基礎學習篇》的最新版,全面而詳細地介紹了 Linux 作業系統。資料結構《大話資料結構》:入門型別的書籍,讀起來比較淺顯易懂,適合沒有資料結構基礎或者說資料結構沒學好的小夥伴用來入門資料結構。演算法入門《我的第一本演算法書》 (豆瓣評分 7.1,0.2K+人評價) 一本不那麼“專業”的演算法書籍。和下面兩本推薦的演算法書籍都是比較通俗易懂,“不那麼深入”的演算法書籍。我個人非常推薦,配圖和講解都非常不錯!《演算法圖解》(豆瓣評分 8.4,1.5K+人評價) :入門型別的書籍,讀起來比較淺顯易懂,非常適合沒有演算法基礎或者說演算法沒學好的小夥伴用來入門。示例豐富,圖文並茂,以讓人容易理解的方式闡釋了演算法.讀起來比較快,內容不枯燥!《啊哈!演算法》 (豆瓣評分 7.7,0.5K+人評價) :和《演算法圖解》類似的演算法趣味入門書籍。經典下面這些書籍都是經典中的經典,但是閱讀起來難度也比較大,不做太多闡述,神書就完事了!推薦先看 《演算法》,然後再選下面的書籍進行進一步閱讀。不需要都看,找一本好好看或者找某本書的某一個章節知識點好好看。
《演算法 第四版》(豆瓣評分 9.3,0.4K+人評價): 我在大二的時候被我們的一個老師強烈安利過!自己也在當時購買了一本放在宿舍,到離開大學的時候自己大概看了一半多一點。因為內容實在太多了!另外,這本書還提供了詳細的Java程式碼,非常適合學習 Java 的朋友來看,可以說是 Java 程式設計師的必備書籍之一了。再來介紹一下這本書籍吧!這本書籍算的上是演算法領域經典的參考書,全面介紹了關於演算法和資料結構的必備知識,並特別針對排序、搜尋、圖處理和字串處理進行了論述。程式設計珠璣(豆瓣評分 9.1,2K+人評價) :經典名著,被無數讀者強烈推薦的書籍,幾乎是頂級程式設計師必看的書籍之一了。這本書的作者也非常厲害,Java之父 James Gosling 就是他的學生。很多人都說這本書不是教你具體的演算法,而是教你一種程式設計的思考方式。這種思考方式不僅僅在程式設計領域適用,在其他同樣適用。《演算法設計手冊》(豆瓣評分9.1 , 45人評價) :被 Teach Yourself Computer Science 強烈推薦的一本演算法書籍。《演算法導論》 (豆瓣評分 9.2,0.4K+人評價)《計算機程式設計藝術(第1卷)》(豆瓣評分 9.4,0.4K+人評價)面試**《劍指Offer》(豆瓣評分 8.3,0.7K+人評價)**這本面試寶典上面涵蓋了很多經典的演算法面試題,如果你要準備大廠面試的話一定不要錯過這本書。《劍指Offer》 對應的演算法程式設計題部分的開源專案解析:CodingInterviews程式設計師程式碼面試指南:IT名企演算法與資料結構題目最優解(第2版) (豆瓣評分 8.7,0.2K+人評價) :題目相比於《劍指 offer》 來說要難很多,題目涵蓋面相比於《劍指 offer》也更加全面。全書一共有將近300道真實出現過的經典程式碼面試題。程式設計之美(豆瓣評分 8.4,3K+人評價):這本書收集了約60道演算法和程式設計題目,這些題目大部分在近年的筆試、面試中出現過,或者是被微軟員工熱烈討論過。作者試圖從書中各種有趣的問題出發,引導讀者發現問題,分析問題,解決問題,尋找更優的解法。資料庫MySQL:
《高效能 MySQL》:這本書不用多說了把!MySQL 領域的經典之作,擁有廣泛的影響力。不但適合資料庫管理員(dba)閱讀,也適合開發人員參考學習。不管是資料庫新手還是專家,相信都能從本書有所收穫。如果你的時間不夠的話,第5章關於索引的內容和第6章關於查詢的內容是必讀的!《MySQL 技術內幕-InnoDB 儲存引擎》(推薦,豆瓣評分 8.7):瞭解 InnoDB 儲存引擎底層原理必備的一本書,比較深入。Redis:
《Redis 實戰》:如果你想了解 Redis 的一些概念性知識的話,這本書真的非常不錯。《Redis 設計與實現》:也還行吧!系統設計設計模式
《設計模式 : 可複用面向物件軟體的基礎》 :設計模式的經典!《Head First 設計模式(中文版)》 :相當讚的一本設計模式入門書籍。用實際的程式設計案例講解演算法設計中會遇到的各種問題和需求變更(對的,連需求變更都考慮到了!),並以此逐步推匯出良好的設計模式解決辦法。《大話設計模式》 :本書通篇都是以情景對話的形式,用多個小故事或程式設計示例來組織講解GOF(即《設計模式 : 可複用面向物件軟體的基礎》這本書)),但是不像《設計模式 : 可複用面向物件軟體的基礎》難懂。但是設計模式只看書是不夠的,還是需要在實際專案中運用,在實戰中體會。常用框架Spring/SpringBoot
《Spring 實戰(第 4 版)》 :不建議當做入門書籍讀,入門的話可以找點華人的書或者影片看。這本定位就相當於是關於 Spring 的新華字典,只有一些基本概念的介紹和示例,涵蓋了 Spring 的各個方面,但都不夠深入。就像作者在最後一頁寫的那樣:“學習 Spring,這才剛剛開始”。《Spring原始碼深度解析 第2版》 :讀Spring原始碼必備的一本書籍。市面上關於Spring原始碼分析的書籍太少了。《Spring 5高階程式設計(第5版)》 :推薦閱讀,對於Spring5的新特性介紹的很好!不過內容比較多,可以作為工具書參考。《精通Spring4.x企業應用開發實戰》 :透過實戰講解,比較適合作為Spring入門書籍來看。《Spring入門經典》 :適合入門,也有很多示例!《Spring Boot實戰派》 :這本書使用的Spring Boot 2.0+的版本,還算比較新。整本書採用“知識點+例項”的形式編寫。本書透過“58個基於知識的例項+2個綜合性的專案”,深入地講解Spring Boot的技術原理、知識點和具體應用;把晦澀難懂的理論用例項展現出來,使得讀者對知識的理解變得非常容易,同時也立即學會如何使用它。說實話,我還是比較推薦這本書的。《Spring Boot程式設計思想(核心篇)》 :SpringBoot深入書,不適合初學者。書尤其的厚,這本書的缺點是書的很多知識點的講解過於囉嗦和拖沓,優點是書中對SpringBoot內部原理講解很清楚。Netty
《Netty進階之路:跟著案例學Netty》 : 這本書的優點是有不少實際的案例的講解,透過案例來學習是很不錯的!《Netty 4.x 使用者指南》 :《Netty 4.x 使用者指南》中文翻譯(包含了官方文件以及其他文章)。《Netty 入門與實戰:仿寫微信 IM 即時通訊系統》 :基於 Netty 框架實現 IM 核心系統,帶你深入學習 Netty 網路程式設計核心知識《Netty 實戰》 :可以作為工具書參考!分散式
《從 Paxos 到 Zookeeper》:簡要介紹幾種典型的分散式一致性協議,以及解決分散式一致性問題的思路,其中重點講解了 Paxos 和 ZAB 協議。同時,本書深入介紹了分散式一致性問題的工業解決方案——ZooKeeper,並著重向讀者展示這一分散式協調框架的使用方法、內部實現及運維技巧,旨在幫助讀者全面瞭解 ZooKeeper,並更好地使用和運維 ZooKeeper。《RabbitMQ 實戰指南》:《RabbitMQ 實戰指南》從訊息中介軟體的概念和 RabbitMQ 的歷史切入,主要闡述 RabbitMQ 的安裝、使用、配置、管理、運維、原理、擴充套件等方面的細節。如果你想淺嘗 RabbitMQ 的使用,這本書是你最好的選擇;如果你想深入 RabbitMQ 的原理,這本書也是你最好的選擇;總之,如果你想玩轉 RabbitMQ,這本書一定是最值得看的書之一《Spring Cloud 微服務實戰》:從時下流行的微服務架構概念出發,詳細介紹了 Spring Cloud 針對微服務架構中幾大核心要素的解決方案和基礎元件。對於各個元件的介紹,《Spring Cloud 微服務實戰》主要以示例與原始碼結合的方式來幫助讀者更好地理解這些元件的使用方法以及執行原理。同時,在介紹的過程中,還包含了作者在實踐中所遇到的一些問題和解決思路,可供讀者在實踐中作為參考。網站架構
《深入剖析 Tomcat》:本書深入剖析 Tomcat 4 和 Tomcat 5 中的每個元件,並揭示其內部工作原理。透過學習本書,你將可以自行開發 Tomcat 元件,或者擴充套件已有的元件。 讀完這本書,基本可以擺脫背誦面試題的尷尬。《深入理解 Nginx(第 2 版)》:作者講的非常細緻,註釋都寫的都很工整,對於 Nginx 的開發人員非常有幫助。優點是細緻,缺點是過於細緻,到處都是程式碼片段,缺少一些抽象。 -
4 # IT小獅子l
1.瞭解JAVA的原理,才有可能真正體會JAVA的一切。
2.學習JAVA語言很簡單,其只包含五十多個關鍵詞,其語法也很簡單,一般人很快就能學會。
3.學習物件導向的思維,要成為專家,往往需要多看相關的書;多觀摩別人的程式;多寫程式。
4.學會API才能寫出有用的程式,必備的API包括:IO、NewIO、Collection Framework、Network、RMI、JAXP等。
5.學習開發工具的用法,通常程式設計師會使用JBuilder/VisualAge/VisualCafe工具。
-
5 # A佈道師
前面很多人都回答的比較詳細,甚至圖書的推薦了。
這裡做一點補充:
學習java,要分為幾個階段:
第1階段:基礎階段,也就是基本語法,掌握語法,常用的資料結構使用,多執行緒,網路,基本的IO,面向物件的。這個階段的編寫的程式,主要還是學習為主,不用應用生產。
第2階段:進階階段,有了一定基礎了,如果你已經在上班了,那麼這個時候就如何透過java程式碼更好的完成你工作,透過在專案中提升。這個時候需要多看原始碼,可以是專案原始碼,github原始碼。學習別人的設計理念和思想,以及一下程式的編寫通用技巧。多總結,例如寫blog。
第3階段:深入階段,這個時候有了幾年的工作經驗,透過深入學習java相關框架,理解分散式,資料庫,網路框架,設計模式,IO等,自己能夠從0搭建java框架。
另外學習github上開原始碼,除了網路別人的學習筆記總結,自己可以透過git檢視程式碼提交記錄開始學習這個程式碼的演進過程。否則一個優秀的開原始碼,到達後面核心功能不一定變化很大,可能很多是在相容,運維,擴充套件性等方面。所以透過git記錄可以先學習核心東西。
-
6 # 新一新一
這個問題的答案同樣適合“如何學好python”,"如何學好C語言"等等這類問題,想要學好任何計算機語言的過程基本都是是一樣的。下面總結下學習的要點:
一、信心和堅持!做任何事情都需要有的東西,沒有信心、無法堅持下去,到頭來不會學好的。學習計算機語言是一件不是很輕鬆愉快的事情,但是我們還是要想辦法在一個輕鬆的環境中去學習,同時樹立起一定能學好的信心,畢竟語言是死的,人是活的,只要努力去學習,那是一定可以學會的,這點毋庸置疑。剩下的就是堅持下去。
二、戰術問題,要學好計算機語言,就必須瞭解它。它是一門實戰經驗很重要的學科,在掌握原理之後還需要親手在電腦中實踐幾遍才能真正掌握。
對於計算機語言來說,基礎知識很重要,在Java中比如說:最基礎的面向物件的幾大特性、JDK自帶的集合類的實現原理、多執行緒及執行緒池的原理、併發包的原理和使用等等。到後來需要學習Java Web元件、Spring 全家桶、資料庫、快取、訊息佇列等等,這些都需要你不僅掌握原理,還需要學會使用。最好是首先掌握關鍵的技術點,然後一點連成線,可以做個思維導圖、word文件什麼的,幫助自己捋清楚自己掌握的知識體系。
三、如果有條件的話,建議選擇一個好的學習環境,這樣學習起來相對可以輕鬆愉快,不會顯得那麼枯燥。
-
7 # 皮皮放映廳
1.不要只看書,一定要實操程式碼。當你的程式碼量慢慢累計後,你的程式設計例項也就專慢慢提升了。2.堅持看原始碼,培養自己讀懂原始碼的能力。3.制定自己的學習計劃,隨時屬調整。4.有問題先試著自己解決,不行再請教別人
其實學會了,java,c#都會變的很簡單,慢慢來,對於跨專業零基礎的同學,自學太難,建議參加培訓機構。
回覆列表
Java是一種可以撰寫跨平臺應用軟體的面向物件的程式設計語言。Java 技術具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應用於PC、資料中心、遊戲控制檯、科學超級計算機、行動電話和網際網路,同時擁有全球最大的開發者專業社群。
給你學習路線:html-css-js-jq-javase-資料庫-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm
第二十一世紀進入資訊時代,資訊科技給人類的生產和生活方式帶來了深刻的變革,資訊產業已成為推動國家經濟發展的主導產業之一,java作為它的技術含金量高,很多人想從事這個行業,你想學java,如何學習它呢?這可能是一個問題,誰剛剛接觸java語言要求。
想學習java的朋友說這是進入IT行業的一個困難的事情。雖然他們普遍認為這個行業有很大的發展前景,但他們是非常深刻的。因此,他們被嚇住了。有些學生已經學了一段時間,但總覺得沒有辦法思考或寫作,包括許多計算機專業學生。
起初,我們都有學習的熱情,但不久前,你可能不得不放棄,因為學習的困難。其實,不管要學什麼,關鍵是找到正確的方法,這樣在學習的過程中找到樂趣,一定要學會去的動力。我們如何學習java的好嗎?你需要什麼技能學習java?
1。興趣是學習最好的老師。
事實上,最大的困難是戰勝自己。只要你有恆心,不難學習java的好。即使你沒有基礎,沒有經驗,沒有概念。但即使是人誰發明了java,發明電腦的人也在第一個白皮書。
他們也在不斷地思考著不斷學習和實踐的結果。所有的java高手能從學到什麼東西。興趣是非常重要的,只要你有興趣,你會發現學習java和打籃球一樣簡單。
2,樹立學習的信心。
許多高中和高中的學生認為他們不能學習程式,他們不能學習java。事實上,java學習不同於學習的一般知識,更注重技能。學習IT技術必須更加實踐和更加書面化。畢竟,第一次接觸比計算機專業的要慢,但最好多讀幾遍,多寫幾遍。
三.掌握好方法
掌握好的學習方法是半努力的結果。很多學生在寫程式碼時,就像瓢一樣,對自己沒有任何瞭解,常常把書從書上放下來。這就是為什麼沒有思考,這是缺乏程式設計思想的原因。所以,理解是最重要的。一旦建立了程式設計思想和自己的想法,編寫起來就會容易得多。
4。堅持到底
java是相對簡單的開始,每個人都有學習的積極性。後面越來越難,很多人開始退縮,甚至想放棄這個想法。這是登山的一個原因。你們都要去山頂了。你肯定不能移動,但如果你再堅持下去,你就會看到勝利的黎明。
結論:
如果學習java你感覺有點難,但是如果你很喜歡java語言,你不妨報專業學習從自己的培訓班。
第二十一世紀進入資訊時代,資訊科技給人類的生產和生活方式帶來了深刻的變革,資訊產業已成為推動國家經濟發展的主導產業之一,java作為它的技術含金量高,很多人想從事這個行業,你想學java,如何學習它呢?這可能是一個問題,誰剛剛接觸java語言要求。
想學習java的朋友說這是進入IT行業的一個困難的事情。雖然他們普遍認為這個行業有很大的發展前景,但他們是非常深刻的。因此,他們被嚇住了。有些學生已經學了一段時間,但總覺得沒有辦法思考或寫作,包括許多計算機專業學生。
起初,我們都有學習的熱情,但不久前,你可能不得不放棄,因為學習的困難。其實,不管要學什麼,關鍵是找到正確的方法,這樣在學習的過程中找到樂趣,一定要學會去的動力。我們如何學習java的好嗎?你需要什麼技能學習java?
1。興趣是學習最好的老師。
事實上,最大的困難是戰勝自己。只要你有恆心,不難學習java的好。即使你沒有基礎,沒有經驗,沒有概念。但即使是人誰發明了java,發明電腦的人也在第一個白皮書。
他們也在不斷地思考著不斷學習和實踐的結果。所有的java高手能從學到什麼東西。興趣是非常重要的,只要你有興趣,你會發現學習java和打籃球一樣簡單。
2,樹立學習的信心。
許多高中和高中的學生認為他們不能學習程式,他們不能學習java。事實上,java學習不同於學習的一般知識,更注重技能。學習IT技術必須更加實踐和更加書面化。畢竟,第一次接觸比計算機專業的要慢,但最好多讀幾遍,多寫幾遍。
三.掌握好方法
掌握好的學習方法是半努力的結果。很多學生在寫程式碼時,就像瓢一樣,對自己沒有任何瞭解,常常把書從書上放下來。這就是為什麼沒有思考,這是缺乏程式設計思想的原因。所以,理解是最重要的。一旦建立了程式設計思想和自己的想法,編寫起來就會容易得多。
4。堅持到底
java是相對簡單的開始,每個人都有學習的積極性。後面越來越難,很多人開始退縮,甚至想放棄這個想法。這是登山的一個原因。你們都要去山頂了。你肯定不能移動,但如果你再堅持下去,你就會看到勝利的黎明。