- N +

java在線學習系統(tǒng)(學Java的在線平臺有哪些)

如何系統(tǒng)的學習JAVA

java的整體生態(tài)和積累實在是太大了。95年至今20多年的積累,幾乎涉及到計算機軟硬件的方方面面。我暫且就認為,提主所說的精通,是指jdk本身和一些必要的數(shù)據(jù)結構以及常用框架和面向對象的基本思想吧。

從11年初至今,一直在學習java相關的知識。其中也走了不少彎路。按自己的積累,給出提主一個自認為合理且有一定深度的學習路線。大致分下面幾個階段吧。

1.首先應盡可能的打牢基礎的數(shù)據(jù)結構和簡單的算法基礎。

可以去快速的學習一些簡單的小型系統(tǒng),來滿足軟件學習的興趣和初期成就感。但,一定要回過頭,仔細的鞏固數(shù)據(jù)結構基礎和簡單算法。類似于這種書就可以。

2.熟練使用Java類庫和java第三方工具框架。

學習使用java的語法,嘗試理解Java語法設計的邏輯。熟練掌握jdk類庫本身,以及各種第三方類庫工具包和第三方框架的簡單使用。這里學習的同時,推薦看看《設計模式》,《代碼整潔之道》,《spring源碼解讀》,《Spring揭秘》等這一類的書集。

3.理解學習jdk類庫本身的應用源碼實現(xiàn)和主流第三方框架的源碼和架構設計。

比如jdk本身的數(shù)據(jù)結構二叉樹,紅黑樹,treemap,以及異步包的unsafe,同步阻塞隊列,call-future等等包源碼,以及線程基礎類的實現(xiàn),各個類庫設計的結構和設計模式。吃透第三方框架的設計思想,理解學習第三方框架的核心源碼。

當然,這里面可能會涉及到其他的事務,分布式協(xié)議等,這里不再展開。這個過程并非一朝一夕,可能需要大量的時間和技術感悟。當然,《設計模式》,《代碼整潔之道》,《spring源碼解讀與設計詳析》,《Spring揭秘》等等這一大類書,在這個過程可以理解大差不差了。

4.理解jdk,jre即jvm原理和實現(xiàn)。

這里我推薦看下葛老師的《實戰(zhàn)java虛擬機》,里面講解比較偏實操。容易上手理解。

首先,可以從jdk自帶的工具學習來入手。

比如:jstat,jmap,jstack,jps,jdb.......甚至還有直接可以窺視運行期間實際內存數(shù)據(jù)的HSDB。當然,作為學習初步,我們只需要理解常用的幾個命令,并知道其代表的意義即可。畢竟,第三方監(jiān)控工具,包括jdk本身也提供了3個可視化的監(jiān)控。

其次,理解jvm的運行加載原理,搞懂class文件結構。

這個過程我們可以借助之前會用的監(jiān)控工具,理解jvm加載的基本原理。可以參考官方各個版本的jvm標準,學習看懂class文件。在此基礎上可以使用如classpy等工具,方便我們直接閱讀class文件。也可以試試支持class字節(jié)碼級別的單步調試工具。甚至,可以嘗試用用jvm匯編編碼工具。

接下來,理解jvm的垃圾回收機制發(fā)展歷史和各個主流垃圾回收器的工作原理。

這個過程其實非常復雜。垃圾回收器有各種串行,并行,新聲代/swap和老年代,以及回收警戒線,full觸發(fā)條件,各種個樣的基本參數(shù)和不怎么用的超參數(shù),以及G1的H區(qū),ZGC等等。。。還好的是,GC并不屬于jvm官方規(guī)范的一部分。

然后,動手做一些jvm的實踐和實戰(zhàn),

比如,jvm常見的故障排查和故障總結,性能調優(yōu),熱加載,class字節(jié)碼的動態(tài)操作,asm等。

最后,可以嘗試實現(xiàn)自己的jvm。(當然這個步驟,對很多同學來說不是必須了)

這里我推薦幾本書,也是徹底搞懂jvm規(guī)范的學習路徑。最好自己實現(xiàn)垃圾回收器。

周老師的《深入理解Java虛擬機》。

接下來是《深入嵌入式java虛擬機》和配套源碼。這個cldc的jvm源碼只有1M多。目前在oracle的官網上,仍然可以下載。是一個設計非常精簡的jvm實現(xiàn)。

接下來,可以去閱讀《自己動手寫java虛擬機》。這本書的jvm實現(xiàn)是采用go語言編寫。當然其中也有很多設計并不是非常合理。但基本都遵循了jvm規(guī)范。

這個時候就可以去看看github上各種jvm的開源實現(xiàn)了。有go,scalajvm,javainjava,ajvm,python-jvm,lua,各個版本各個不同的jvm實現(xiàn)。

當然,這些實現(xiàn)都只是基本原理。

后面推薦你去看《實戰(zhàn)hotspot》豹子書,關注高級語言虛擬機的圈子。

當然,垃圾回收的書籍比較少,這里還是推薦給你垃圾回收的經典書《TheGarbageCollectionCookbook》。實際上對新的垃圾回收算法有興趣,可以去知乎搜索相關的論文和GC算法開源實現(xiàn)的demo。

5.當然,我的建議只是針對Java本身。

真正要達到完全學好java生態(tài),軟件工程,計算機網絡,大數(shù)據(jù)基礎知識,mahuot,sparklib,分布式搜索架構,各種消息中間件,緩存中間件,數(shù)據(jù)庫,DNS/CDN。。。。。這些都是做互聯(lián)網應用,避無可避的。

只能建議,通用知識熟練,鉆研方向精通,相關生態(tài)了解。

由于提問是針對java本身。我就不再展開說其他具體方向了。描述的是大的技術方向,并沒有其他答主那樣,具體去討論語法糖這種級別。希望對提主有所幫助。

有任何問題,歡迎關注回復,與我討論。謝謝。

如何系統(tǒng)地自學Java

一、JavaSE基礎篇

JavaSE就是一種標準版,是Java語言的基礎部分,Java衍生出來的各種框架(如Spring系列)各種產品都是基于JavaSE標準,JavaSE是Java向上發(fā)展的基礎,Java任何高級產品的底層基礎都是JavaSE,通俗來講這是所有孩子的”爹“。JavaSE如果學不好,理解不透徹,后面學習框架時就有如天書一般,所以JavaSE這部分的重要性是不言而喻的,希望各位初學者銘記。

主要包含內容:數(shù)據(jù)類型、基礎語法、運算符、流程控制、數(shù)組、面向對象、常用類、異常處理、集合、IO流、多線程、反射、注解、解析、網絡編程。

二、數(shù)據(jù)庫篇

數(shù)據(jù)庫是學習Java語言必學的一項內容,常見的數(shù)據(jù)庫就是MySQL和Oracle這兩種,作為初學者一般都是學習MySQL為主,一般情況下中小型企業(yè)都會選擇MySQL數(shù)據(jù)庫,比較大型的互聯(lián)網公司會選擇用Oracle,而學習Oracle相對于MySQL也要復雜一些,建議是主要學習MySQL數(shù)據(jù)庫,Oracle作為了解即可。學習數(shù)據(jù)庫較為簡單,基本的操作就是增刪改查。

三、Web開發(fā)

Web前端內容:HTML/CSS/JavaScript/(前端頁面)

注意:Java后端開發(fā)可以不用過多關注HTML頁面及CSS的處理,但是最起碼要會用簡單的HTML,JavaScript是必需要會的,因為Javaweb后端程序員畢竟要接觸使用AJAX方式處理數(shù)據(jù)及顯示。當然如果只關注服務器端實現(xiàn)而不考慮任何用戶界面,則HTML、CSS、JavaScript都不用關注,但是完全脫離前端的開發(fā)現(xiàn)在雖然也不少,但是絕對不關心前端是不可能,尤其是JavaScript,但是前端卻可以完全不關心服務器后臺的任何實現(xiàn)。

JavaEE內容:Servlet/JSP

雖然現(xiàn)在網上在傳JSP很少用了,可能是被一些模板或JSAJAX方式代替了一些,但是我認為還是應該接觸一下,萬一要用到不會怎么辦,而且它是JavaEE的動態(tài)網頁實現(xiàn)標準組件。學習JSP過程也能更好的幫助我們理解web會話的過程,掌握web會話都有哪些我們必需知道的。如果學習Javaweb、JSP都不接觸那就相當于學習使用Springboot而一點不接觸SpringFramework一樣,豈不是稀里糊涂。包括開發(fā)Javaweb我們必需知道的概念諸如Web應用上下文,請求對象,響應對象,HttpSession,Cookie等都是在接觸學習JSP和Servelt中體現(xiàn)的,還有一些比較少見的EJBJSFJMS以及JavaFelix等。

一些初學者不清楚這些難免會有誤區(qū),尤其是有些較成熟的工程師也這么說,我只能說他們很無知,只是代碼機器而已,其實對于應用開發(fā)設計也就稀里糊涂,人云亦云罷了。

永遠沒有被淘汰的技術也沒有永遠流行萬能的技術,要看在什么環(huán)境和場合應用,符合我需求的技術和工具就是好的,就是對的。

四、高級框架

1、Springframework核心IOC容器

2、Springboot在Spring基礎上的更全面提升效率的Spring工具

3、ORM框架當今流行使用較多的是Mybatis和MP(Mybatis插件),Hibernate是可選性學習的

4、模板技術,比較成熟的Freemarker

5、SpringCloud微服務框架,SpringCloud提供的全套的分布式系統(tǒng)解決方案。

學Java的在線平臺有哪些

好像有個叫開課吧的,我朋友是去年在那學的了吧,現(xiàn)在工資是原來的兩倍,而且他好像現(xiàn)在還在學,因為他說開課吧的課程會不定期的更新,而更新的課程老學員也能看到,所以我覺得你可以了解一下。

你知道有哪些學習java的網站嗎

這個就非常多了,要想學好java就得學會在網上找資源,在今日頭條里經常看些java相關的文章,后面也經常會推送這類優(yōu)質的文章,也是非常有看點的,以下是我個人會去的一些站點。

網站類:

CSDN(全球最大中文IT社區(qū))、

知乎、

對應技術官網、

github代碼托管平臺和開發(fā)者社區(qū)(優(yōu)質開源項目多)

java中文站社區(qū)(java資源的整合者)

博客園(開發(fā)者網上家園)、

51CTO技術論壇等

視頻類:

慕課網、騰訊課堂、嗶哩嗶哩等

以上這些都是我經常會去逛的,關注比較少的就沒列出來了。

計算機專業(yè),如何系統(tǒng)學習Java web

感謝邀請!

如何系統(tǒng)的學習Javaweb,個人經驗給你點建議。

第一步學習Java基礎知識和語法,比如集合,數(shù)組,Java面向對象三大特性,這些基礎一定要學扎實;

第二學習一下服務器Tomcat和weblogic等web服務器,因為你的web程序將要在上面運行,主要是Tomcat,還有就是學習一下基本的mysql和Oracle數(shù)據(jù)庫操作和使用以及基本的增刪改查;

第三學習一些前端知識,無論在哪兒都用得著,主要就是JavaScript這門語言,比較強大,以及一些css樣式,html語言等;

第四個就是框架了比如spring全家桶,Spring,SpringMVC還是必須學的,還要學持久層框架比如hibernate和mybatis等;

掌握以上的知識你就基本可以獨立的開發(fā)一個簡單的web系統(tǒng)了。

希望我的回答能夠幫助到你!!!

零基礎的人如何學習Java

首先需要說明的是,作為零基礎的初學者而言,學習Java并不是很容易,需要很大的毅力。

Java學習是一個漫長的過程,涉及到的內容非常多,簡單的網頁制作,簡單的js腳本,數(shù)據(jù)庫,各種常用的框架等等。

當然,我一直的觀點就是:興趣是最好的老師,如果你真心熱愛編程,以編程為樂,那么想要學成一門語言,并不是一件難事。

自學還是培訓

學習Java,可以報培訓班也可以自學。

很多人不推薦培訓,個人持中立態(tài)度。因為培訓就和我們上學一樣,有人帶著學習自然好。

但是我們要明白,學習永遠都是自己的事,如果課后不用功什么都是白搭,自律非常重要。

因此個人的建議是,如果有條件的話,可以選擇去培訓,這樣學成的概率會高些。

如果條件一般的可以選擇自學,只要你每天能堅持去整,最后都可以獲得回報,這是一定的。

Java學習路線

自學Java是一個循序漸進的過程,不要想著速成,認真給自己制定一個學習計劃,能不能學成就看你的執(zhí)行力如何了。

Java的學習,個人將其分為以下幾個階段:

1.JavaSE階段

2.JavaWeb基礎

3.SSH開發(fā)框架

4.其它開發(fā)框架

5.其它常用技術

第一階段:掌握JavaSE

該階段是學習JavaEE的入門階段,也是基礎階段,每個零基礎的Java的學習者都必須掌握。

該階段推薦書籍:

《ThinkinginJava》《HeadFirstJava》

第二階段:JavaWeb基礎

學完JavaSE,緊接著我們就該學習JavaWeb,JavaWeb也是Java開發(fā)工程師必須掌握的內容。

該階段推薦書籍:

《HeadFirst:ServletandJSP》《HeadFirstHTML與CSS》

第三階段:掌握SSH開發(fā)框架

SSH開發(fā)是Spring、Struts2和Hibernate框架的簡稱,也是主流的Java開發(fā)框架,它是每個JAVA開發(fā)者必學的內容之一。

該階段推薦書籍:

《J2EEdevelopmentwithoutEJB》《JavaReflection》

第四階段:其它開發(fā)框架

MyBatis是一個支持普通SQL查詢、存儲過程和高級映射的優(yōu)秀持久層框架。SpringMVC是一個基于MVC的Web框架。SpringMVC是Spring框架的一個模塊。MyBatis和SpringMVC這兩個框架也是現(xiàn)在很公司在用的框架,所以JAVA學習者必須掌握。

該階段推薦書籍:

《Spring實戰(zhàn)(第4版)》

第五階段:其他常用技術

查看Java工程師崗位的要求你會發(fā)現(xiàn),企業(yè)除了要求掌握框架的使用外,還會對其它一些常用的技術有所要求,比如JAVA項目構建工具maven,oracle數(shù)據(jù)庫,開源的全文搜索引擎Lucene,開源的搜索服務器solr,WebService,linux等技術。

想成為一名優(yōu)秀的JAVA開發(fā)者,這些技術都是我們必須掌握的。

該階段推薦書籍:

《Maven實戰(zhàn)》

學習方法

小白學習Java的難點在于1,不知道學習重點;2,找不到合適的資料。

其實這兩個問題,在上面的學習路線介紹中,已經為大家解答了。學習的知識點就按照學習路線走就行。

關于學習資料,上面也列出了一些推薦書籍,此外,也可以到一些編程網站上看教程。

學習Java網站推薦:

W3Cschool、菜鳥教程,還有CSDN、博客園、開源中國這幾個國內的網站都是不錯的選擇。

當然,如果英語好的話,stackoverflow也是不錯的選擇。

讓我皮下打個廣告,

W3Cshcool,不僅有豐富的理論知識,還有實戰(zhàn)課程,讓你邊學邊實踐。

此外W3Cshcool還有移動APP哦,讓你隨時隨地都能學習編程。

視頻網站:推薦慕課網、網易云課堂等等。

最后

以上說了這么多,其實都只是給各位想要學習Java的童鞋一些建議。

學習的過程是比較枯燥的,很多人都在路途中逐漸放棄,因此,想要自學成功,恒心和毅力是必不可少。

返回列表
上一篇:
下一篇: