自學java?“這是一篇完整的java程序員學習線路圖,一共分為六個階段 。我以java為例,展示完整的學習步驟 。希望對于想通過java自學的朋友有幫助 。java程序員學習線路流程第一步:Java語言基礎(chǔ)從最簡單的開始,hello world開始Java之旅1.編程基礎(chǔ)常量與變量數(shù)據(jù)類型運算符流程控制語句方法數(shù)組2.面向?qū)ο竺嫦驅(qū)ο笏枷腩惻c對象成員變量和局部變量封裝this關(guān)鍵字構(gòu)造方法3.集合集合概述集合特點ArrayList集合HashMap集合常用集合優(yōu)劣比較4.輸入/輸出 IO字符輸入流字符輸出流字符緩沖輸入流字符緩沖輸出流復制文件集合與文件中數(shù)據(jù)相互讀寫5.練習階段屬于你自己的helloword第二步:java語言高級再結(jié)合java高級部分,里面的部分內(nèi)容,這個階段你不一定能理解很徹底 。但有一點,如果你今后想進入高階俱樂部,這些內(nèi)容你必須掌握牢固 。舉個栗子,如果你面試通過進入了公司,我一定會在早期仔細review你的代碼 。代碼的功力是欺騙不了人的,不同人寫一個接口,呈現(xiàn)的結(jié)果也是千差萬別(所以才有了規(guī)范) 。1.面向?qū)ο罄^承多態(tài)重寫(Override)重載(Overload)封裝接口java包 package2.異常處理異常概述異常分類異常處理方案自定義異常3.多線程Java線程:概念與原理Java線程:創(chuàng)建與啟動Java線程:多線程的實現(xiàn)方案Java線程:線程生命周期Java線程:線程池Java線程:線程狀態(tài)的轉(zhuǎn)換Java線程:線程的同步與鎖Java線程:線程的交互等等線程的幾個主要概念在多線程編程時,你需要了解以下幾個概念線程同步線程間通信線程死鎖線程控制:掛起、停止和恢復4.輸入與輸出IO文件和I/O讀寫文件Java 流(Stream)文件(File)緩沖流5.泛型(Generic )泛型的使用場景泛型類型泛型方法泛型通配符?6.網(wǎng)絡(luò)編程網(wǎng)絡(luò)機制Socket原理機制UDP、TCP傳輸?shù)?.反射(reflection)類加載機制原理反射構(gòu)造方法、字段、方法Properties配置文件8.注解(annotation)注解的使用和原理三種內(nèi)置annotation自定義annotation注解類的反射調(diào)用動態(tài)代理類如何處理9.Java高級特性和類庫java類加載器class loaderjava 程序運行的基礎(chǔ)知識,java編譯后的bytecode的整個運行機制,這一點對應.net的IL(intermediate language) 。理解Java nio,關(guān)于這一點網(wǎng)上有非常多的教程,這一條需要重點掌握,對于高并發(fā)的掌握很重要 。java juc(java.util.concurrent)等等10.JVM原理和調(diào)優(yōu)JVM最重要的三個部分必須要非常清楚,內(nèi)存劃分、class加載機制以及GC策略 。搞清楚這三部分不僅僅是為了面試,也是為了讓你對于Java有更深刻的理解,這對于你的Java生涯非常有幫助 。內(nèi)存劃分簡單說分為三個部分,Young Generation(年輕代)、Old Generation(年老代)以及Perm Generation(永久代) 。其中的Young Generation(年輕代),又分為Eden、From和To,其中From和To又統(tǒng)稱為Survivor Spaces(幸存區(qū)) 。關(guān)于classloader機制的學習,可以結(jié)合tomcat去學習,了解清楚tomcat的classloader機制,看tomcat是如何保證各個APP之間的類隔離的 。如果可能的話,看一下tomcat中classloader的源碼,當中也包含了與tomcat類加載機制相似的部分 。至于GC,需要清楚GC Roots都有哪些,以及如何判斷一個對象可以被回收 。此外,GC的算法和策略也要有大概的了解 。第三步:java web階段1.前段技術(shù)掌握htmlcssjsjquerybootstrap2.動態(tài)網(wǎng)頁技術(shù)Java Servlet APIVelocityFreeMarkerJSP等常用模板引擎比如,淘寶前端層使用的是velocity模板,部分公司采用jsp、freemarker等,基本類似 。3.linux服務器基本命令在個階段,也可以結(jié)合自己的情況,學習linux系統(tǒng)底層原理 。第四步:java框架階段1.SSH(struts2+spring+hibernate)2.SSM(springmvc+spring+mybatis)備注:如果你仔細,網(wǎng)上有部分叫SSI,I為ibatis,后來ibatis改名為mybatis了 。框架組合,我首推SSM,比SSH靈活強大 ??蚣艿膬?yōu)缺點,我會再單獨寫文 。如果你還有興趣,可以自己搭建Lucene、solr框架,以及memcached/ redis、activeMQ、hadoop等等搜索、分布式緩存、異步消息、數(shù)據(jù)等 。我一般建議自己搭建,從學習效果再到理解深度都不一樣 。有興趣,就開始自己搭建 。第五步:開發(fā)工具階段1.web調(diào)試工具firefoxfirebugweb developeryslowhttpwatchietester等這些都是開發(fā)必用 。2.集成開發(fā)工具eclipse(首推) ,STS,myEclipse,Ideaeclipse里的插件太多,推薦幾個必裝插件:JadClipse 、run-jetty-run(很牛的熱部署調(diào)試)、veloctiy、freemarker IDE、Subclipse、m2eclipse、mybatis Editor、 Easy Explorer等等 。3.版本控制工具svn、git(首推)4.構(gòu)建工具maven、nexus搭建maven私服建議自己搭建一套nexus maven私服,成為你們公司的代碼倉庫員 。5.java調(diào)試工具jProfiler(性能跟蹤)jClarity(性能監(jiān)控和日志分析)Visualvm(性能分析和調(diào)優(yōu))等優(yōu)知學院是IT人的進階站,提供系統(tǒng)的互聯(lián)網(wǎng)產(chǎn)品&技術(shù)的入門指南以及進階干貨 。rr學習 JavaSEHTML+CSSjs+jQuery學習JavaEE:jsp+servlet數(shù)據(jù)庫:MySQL+Oracle(建議先學MySQL)框架SSH(Struts2+Spring+Hibernate)SSM(Spring+SpringMVC+mybatis)大致就是這些了,相信小伙伴們學完這些,學習能力已經(jīng)有了很大的提升,即使在以后的 Java 工作學習中,遇到自己沒有接觸過的新技術(shù) 。也可以通過自己的努力,把新的技術(shù)學到手 。在這份學習路線中,第一階段的 JavaSE 和 第二階段的 HTML+CSS+JS 順序是可以顛倒的,因為兩者并沒有什么必然的前置關(guān)系 。最后說一句:我們生活在黃金年代,社會在快速的發(fā)展,你不想被淘汰,就要學習,而我們北大青鳥提供最新的知識,以幫你應對變化的世界,讓你與時俱進 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 八年級上冊物理思維導圖
- adulation
- 高中英語怎么學
- i9220能裝java嗎?
- 哪里能下載微信java版?
- 安卓 android怎么安裝JAVA游戲
- 三星S5660怎么安裝Java游戲
- 怎么取消JAVA限制?
- 怎么安裝JAVA游戲?
- 怎么關(guān)閉JAVA不能放問題是?
