更新時間:2019-08-26 14:35:52 來源:動力節(jié)點 瀏覽2901次
首先,小編個人比較推崇的學習方法是:先學java前段,也就是HTML,css,js,因為學習java以后肯定是往javaee方向發(fā)展的,學習完前端,在學習后端很多東西比計較容易理解!
其中J2SE是關鍵,如果學好了javase部分,基礎扎實了,后面進階學習也比較輕松!
補充說明一下:小編覺得學習java比較合適的方法是先把所有的知識點過一遍,然后把所有的知識點串起來,邊做開發(fā)邊補充,就像寫文章一樣,先寫好框架,然后再去潤色填充。因為前期在學習的時候你不知道用在哪里,不知道用途,沒有學習的目的,所以很多概念就很難理解,時間久了也容易遺忘。但是如果你直接從實踐開始學習,很多知識點都充串聯(lián)起來了,而且會印象深刻,當然前提條件是你已經(jīng)入門,已經(jīng)能寫一些簡單的程序,我個人現(xiàn)在也是按照這個方式在學習了,感覺很有效。
說明:本文介紹的內容過于詳盡,這里我補充一些基本的學習路線,相對比較簡略,但是比較可行:
1、基礎語法。也就是我們常說,各種編程語言都有的部分,數(shù)據(jù)類型,數(shù)組,for循環(huán),do-while,switch……等等,是學習任何編程語言的基礎,很關鍵。
2、面對對象:①類和對象;②Java的三大特性(封裝、繼承、多態(tài));
3、工具類:①異常和異常處理;②集合框架(主要是List和Map);
4、常用的流(stream):①輸入流;②輸出流;③緩沖流;
5、網(wǎng)絡與線程:①Socket;②多線程(Thread,Runnable);
6、數(shù)據(jù)操作:①Mysql、Oracle;②JDBC;
7、web基礎:①Html/css;②Javascript;③JQuery;
8、框架。
這里放上我自己整理制作的百度腦圖知識架構:百度腦圖
只要學會上面的前7條,基本上從前臺到后臺開發(fā)常見的應用還是沒太大問題的,當然學習框架以后,那就最好了,但關鍵還是要學好基礎,說實話,像下面這個表格中所列的知識點,真正能全面掌握還是有難度的,所以凡事還是要踏踏實實的靜下心學習,不要只看學習的進度,要看學習的效果。
第一階段:J2SE(java基礎部分)
java開發(fā)前奏:計算機基本原理,Java語言發(fā)展簡史以及開發(fā)環(huán)境的搭建,體驗Java程序的開發(fā),環(huán)境變量的設置,程序的執(zhí)行過程,相關反編譯工具介紹,java開發(fā)工具Eclipse的安裝和使用,javadoc的說明。
Java基礎語法:Java語法格式,常量和變量,變量的作用域,方法和方法的重載,運算符,程序流程控制,數(shù)組和操作數(shù)組的類,對數(shù)組循環(huán)遍歷以及針對數(shù)組的常用查找、排序算法原理,最后使用Java程序進行功能實現(xiàn)。
面向對象編程:理解對象的本質,以及面向對象,類與對象之間的關系,如何用面向對象的思想分析和解決顯示生活中的問題,并java程序的手段編寫出來。
如何設計類,設計類的基本原則,類的實例化過程,類元素:構造函數(shù)、this關鍵字、方法和方法的參數(shù)傳遞過程、static關鍵字、內部類,Java的垃圾對象回收機制。
對象的三大特性:封裝、繼承和多態(tài)。子類對象的實例化過程、方法的重寫和重載、final關鍵字、抽象類、接口、繼承的優(yōu)點和缺點。
對象的多態(tài)性:子類和父類之間的轉換、父類指向子類的引用、抽象類和接口在多態(tài)中的應用、多態(tài)優(yōu)點。常用設計模式如單利、模版等模式。
什么是異常異常的捕捉和拋出異常捕捉的原則finally的使用,package的應用import關鍵字。
多線程應用:多線程的概念,如何在程序中創(chuàng)建多線程(Thread、Runnable),線程安全問題,線程的同步,線程之間的通訊、死鎖問題的剖析。
javaAPI詳解:JavaAPI介紹、String和StringBuffer、各種基本數(shù)據(jù)類型包裝類,System和Runtime類,Date和DateFomat類等。
常用的集合類使用如下:JavaCollectionsFramework:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合類API。
IO技術:什么是IO,F(xiàn)ile及相關類,字節(jié)流InputStream和OutputStream,字符流Reader和Writer,以及相應緩沖流和管道流,字節(jié)和字符的轉化流,包裝流,以及常用包裝類使用,分析java的IO性能。
網(wǎng)絡編程:Java網(wǎng)絡編程,網(wǎng)絡通信底層協(xié)議TCP/UDP/IP,Socket編程。網(wǎng)絡通信常用應用層協(xié)議簡介:HTTP、FTP等,以及WEB服務器的工作原理。
java高級特性:遞歸程序,Java的高級特性:反射、代理和泛型、枚舉、Java正則表達式API詳解及其應用。
第二階段:數(shù)據(jù)庫技術
Oracle基礎管理:Oracle背景簡介,數(shù)據(jù)庫的安裝,數(shù)據(jù)庫的用戶名和密碼,客戶端登錄數(shù)據(jù)庫服務SQLPLUS,數(shù)據(jù)庫基本概。
SQL語句:數(shù)據(jù)庫的創(chuàng)建,表的創(chuàng)建,修改,刪除,查詢,索引的創(chuàng)建,主從表的建立,數(shù)據(jù)控制授權和回收,事務控制,查詢語句以及運算符的詳解,sql中的函數(shù)使用。
多表連接和子查詢:等值和非等值連接,外連接,自連接;交叉連接,自然連接,using子句連接,完全外連接和左右外連接,子查詢使用以及注意事項。
觸發(fā)器、存儲過程:觸發(fā)器和存儲過程使用場合,通過實例進行詳解。
數(shù)據(jù)庫設計優(yōu)化:WHERE子句中的連接順序,選擇最有效率的表名順序,SELECT子句中避免使用‘*‘計算記錄條數(shù)等等。
數(shù)據(jù)備份與移植:移植技巧,備份方案;導入導出等。
第三階段:jdbc技術
JDBC基礎:JDBCConnection、Statement、PreparedStatement、CallableStatement、ResultSet等不同類的使用。
連接池技術:了解連接池的概念,掌握連接池的建立、治理、關閉和配置。
ORM與DAO封裝:對象關系映射思想,jdbc的dao封裝,實現(xiàn)自己的jdbc。
可以把第四階段的知識提前一點,特別是對哪些剛開始接觸面向對象編程的同學,我剛開始就學javase,感覺入門很不容易。先學web部分,有利于理解面向對象的概念,另外,web部分相對比較簡單,也比較直觀,寫完直接就可以看見效果,有助于提升大家的學習積極性。
第四階段:Web基礎技術(項目實戰(zhàn))
Xml技術:使用jdom和dom4j來對xml文檔的解析和生成操作,xml的作用和使用場合。
html/css:Java掌握基本的html標簽的格式和使用,css層疊樣式表對div的定義,實現(xiàn)對網(wǎng)站布局的基本實現(xiàn)。
Javascript:了解javascript的基本語法以及相關函數(shù)的使用,并結合html頁面實現(xiàn)流程控制和頁面效果展示。
什么是異常異常的捕捉和拋出異常捕捉的原則finally的使用,package的應用import關鍵字。
jsp/servlet:Servlet和SP技術、上傳下載、Tomcat服務器技術、servlet過濾器和監(jiān)聽器。
jstl和EL:JSTL核心標簽庫、函數(shù)標簽庫、格式化標簽庫、自定義標簽技術、EL表達式在jsp頁面的使用。
ajax及框架技術:了解和屬性原生態(tài)的ajax的使用,ajax使用的場合,使用ajax的好處,ajax框架jquery渲染頁面效果和相關的強大的第三方類庫,dwr如何和后臺服務進行數(shù)據(jù)傳輸,以及頁面邏輯控制等。
JSON高級應用:Java使用json支持的方式對字符串進行封裝和解析,實現(xiàn)頁面和java后臺服務的數(shù)據(jù)通信。
Fckeditor編輯器:FCKEditor在線編輯器技術、配置、處理圖片和文件上傳。
javaMail技術:了解域名解析與MX記錄、電子郵件工作原理、郵件傳輸協(xié)議:SMTP、POP3、IMAP、郵件組織結構:RFC822郵件格式、MIME協(xié)議、郵件編碼、復合郵件結構分析、JavaMailAPI及其體系結構、編程創(chuàng)建郵件內容:簡單郵件內容、包含內嵌圖片的復雜郵件、包含內嵌圖片和附件的復雜郵件。
JfreeChart報表:統(tǒng)計報表;圖表處理。
BBS項目實戰(zhàn):Jquery+dwr+jsp+servlet+Fckeditor+JfreeChart+tomcat+jdbc(oracle)完成BBS項目的實戰(zhàn)。
實戰(zhàn)價值:學完此課程你至少已經(jīng)是擁有近1年開發(fā)經(jīng)驗的程序員了,但是你不應該滿足現(xiàn)狀,下面的課程會更加吸引你!
框架部分,要要盡可能多的了解底層實現(xiàn)機制和原理,畢竟框架受大環(huán)境影響比較大,現(xiàn)階段比較流行的是ssm框架(spring,SpringMVC,mybatis),以下是比較常用的框架:(本階段在能夠使用框架進行開發(fā)以后,要多做項目,多敲代碼,當你已經(jīng)特別熟悉各種應用場景,同時對于各種操作已經(jīng)能夠信手拈來,那么久可以考慮看源代碼,研究底層實現(xiàn)機制,加深對框架的認知)
第五階段:Web主流框架技術(項目實戰(zhàn)):
strutsx.x:struts框架的工作原理和架構分析,struts-default.xml與default.properties文件的作用,struts。Xml中引入多個配置文件。OGNL表達式、StrutsxUI和非UI標簽、輸入校驗、使用通配符定義action、動態(tài)方法調用、多文件上傳、自定義類型轉換器、為Action的屬性注入值、自定義攔截器、異常處理、使用strutsx實現(xiàn)的CRUD操作的案例。
hibernatex.x:Hibernate應用開發(fā)基礎;ORM基礎理論;關系映射技術;性能調優(yōu)技術;性能優(yōu)化一級緩存二級緩存查詢緩存事務與并發(fā)悲觀鎖、樂觀鎖。、
springxx.x:SpringIoC技術;SpringAOP技術;Spring聲明事務管理;Spring常用功能說明,springx.0的新特性,Spring整合struts和hibernate的運用。
SpringMVC:Spring自己的mvc框架,可以替代struts等MVC框架。
mybatis:目前比較主流的持久層框架,需要手動配置sql語句,能夠實現(xiàn)動態(tài)拼接sql。
Log4j和Junit:LoggingAPI;JUnit單元測試技術;壓力測試技術:badboy進行測試計劃跟蹤獲取以及JMeter壓力測試。
在線支付技術:完成支付寶的支付接口的在線支付功能。
電子商務網(wǎng)實戰(zhàn):采用spring+hibernate+struts+jquery+dwr+FckEditor+tomcat完成電子商務網(wǎng)站實戰(zhàn)開發(fā)。
實戰(zhàn)價值:項目實戰(zhàn)價值完全高標準的高要求的迎合企業(yè)的需求,學完此課程,全部消化了,你已經(jīng)就是一個地地道道的高級程序員,已經(jīng)為你的職業(yè)生涯鋪平了道路,你還等什么,向著高薪?jīng)_刺吧!
第六進階階段:Web高級進階(項目實戰(zhàn))
openJpa技術:JPA介紹及開發(fā)環(huán)境搭建、單表實體映射、一對多/多對一、一對一、多對多關聯(lián)、實體繼承、復合主鍵、JPQL語句、EntityManagerAPI、事務管理,了解一下jpa2.0的新特性以及應用。
lucene搜索引擎:了解全文搜索原理、全文搜索引擎、什么是OSEM、OSEM框架Compass、基于使用Lucene使用Compass實現(xiàn)全文增量型索引創(chuàng)建和搜索、探索Lucene3.0以及API。
電子商務網(wǎng)重構:此項目采用了Lucene+compass+openJpa+上一版電子商務網(wǎng)站的技術進行重構。
實戰(zhàn)價值:此項目的實戰(zhàn)價值是前所未有的超值,已經(jīng)超越了企業(yè)的實際要求,你已經(jīng)是企業(yè)的搶手人才,一旦進入企業(yè),便讓你立于不敗之地,輕松成為公司的技術骨干和精英,技術已經(jīng)改變了你一生!
Excel/PDF文檔處理技術:java對excel和pdf文檔分別利用poi和itext來進行解析和生成。此技術在企業(yè)級系統(tǒng)的報表中經(jīng)常使用。
OA工作流技術JBPM:工作流是什么、JBPM介紹、JBPM的主要用法、各類節(jié)點的用法、任務各種分派方式、JBPM的整體架構原理、工作流定義模型分析、運行期工作流實例模型分析、數(shù)據(jù)庫表模型分析、流程定義管理、流程實例監(jiān)控、對JBPM的相關接口進行封裝,構建自己的工作流應用平臺等。
WebService技術:WebService技術原理、WebService技術的應用、Soap服務的創(chuàng)建與管理、WSDL描述文檔規(guī)范、UDDI注冊中心運行原理;使用Axis和Xfire創(chuàng)建WEB服務、Webservice客戶端的編寫、使用TCPMonitor監(jiān)聽SOAP協(xié)議、異構平臺的整合。
Linux技術:Linux系統(tǒng)安裝,卸載、linux使用的核心思想、linux下的用戶管理,文件管理,系統(tǒng)管理、程序的安裝,使用,卸載。linux下作為server的基本應用:web服務器,j2ee服務器,ftp服務器的安裝和項目的部署。
CRM項目實戰(zhàn):此項目能了解和熟悉客戶關系管理的基本流程以及功能的實現(xiàn),采用上面幾個階段學到的主流框架實現(xiàn),同時加入了JBPM的技術。
實戰(zhàn)價值:學完這個系統(tǒng)會讓你輕松進入企業(yè)級的大型項目的開發(fā),倍感得心應手。完備的知識體系和最前沿的開發(fā)技術,帶給你的將是在精神上不同目光的瞻望和物質上高薪資回報的喜悅,帶你進入人生的新的轉折點和起點!
第七架構階段:大型高并發(fā)網(wǎng)站優(yōu)化方案(項目實戰(zhàn))
如何構建一個高性能網(wǎng)站詳解:什么樣的網(wǎng)站需要高性能,高性能的指標體系,構建高性能網(wǎng)站需要做哪些工作,注意哪些細節(jié)。
SSI技術:什么是SSI,使用他有什么好處,什么樣的系統(tǒng)才使用SSI,SSI技術詳解和使用,應用到項目中。
生成靜態(tài)頁技術:什么是靜態(tài)頁,為什么需要靜態(tài)頁以及帶來的好處,生成靜態(tài)頁的模版技術Velocity和Freemark,生成靜態(tài)頁的訪問規(guī)則等。
緩存技術:為什么使用緩存技術,oscache緩存技術的介紹和使用,memcached緩存技術的介紹和使用、兩者緩存技術的比較和如何去使用。
經(jīng)典web服務器:什么是web服務器,什么是javaweb服務器,他們存在什么關系,當前技術主流中常用的web服務器有哪些,web服務器apache和nginx的應用。
nginx架構實戰(zhàn):什么是反向代理,負載均衡以及集群,在nginx中如何實現(xiàn)這些高性能的系統(tǒng)架構。
實戰(zhàn)價值:此課程已經(jīng)將你領入了技術經(jīng)理和主管以及架構師的門檻了,稍微用心學習加上實戰(zhàn)你就是技術牛人了,薪水非常高,同時很快你就是公司的技術中層管理者,你的人生就此又一次的發(fā)生巨大的轉折!
如果你把上面這些東西全部掌握了,那不用說你已經(jīng)算是java界比較厲害的人了,因為一般能掌握這些知識的人,基本上有3-5年的工作經(jīng)驗,不過也不好說,說不定你就是那個天才呢,加油吧少年!