一、下面是一個java學習路線圖,以供參考

二、下面是java作業之路,以供參考:

三、下面給出階段性細化需要掌握的技能:
1.第一階段


2.第二階段

3.第三階段

4.第四階段


5.第五階段

四、更加細化的細節如下:
1: 編程基礎
不管是C還是C++,不管是Java還是PHP,想成為一名合格的程式員,基本的資料結構和演算法基礎還是要有的,下面幾篇文章從思想到實作,為你梳理出常用的資料結構和經典演算法,
1-1 常用資料結構
陣列、鏈表、堆、堆疊、佇列、Hash表、二叉樹等
1-2 演算法思想
演算法時間復雜度和空間復雜度的分析計算
演算法思想:遞推、遞回、窮舉、貪心、分治、動態規劃、迭代、分枝界限
1-3 經典演算法
經典排序:插入排序、冒泡排序、快排(分劃交換排序)、直接選擇排序、堆排序、合并排序
經典查找:順序查找、二分查找、二叉排序樹查找
1-4 高級資料結構
B+/B-數、紅黑樹、圖等
1-5 高級演算法
圖的深度優先搜索、圖的廣度優先搜索、拓撲排序、Dijkstra演算法(單源最短路徑)、霍夫曼編碼、輾轉相除法、最小生成樹等
2:Java語言基礎
誕生不過二十余年的Java語言憑借其跨平臺、面向物件、適合于分布式計算的特性,廣泛應用于Web網站、移動設備、桌面應用中,并且已經連續多年穩居TOBIE編程語言排行榜前列,最近更是登上冠軍寶座,Java有哪些優秀而又與眾不同的地方首先一定要清楚,
2-1 基礎語法
Java語法格式,常量和變數,變數的作用域,方法和方法的多載,運算子,程式流程控制,各種基本資料型別及包裝類
2-2 重要:集合類
Collection以及各種List、Set、Queue、Map的實作以及集成關系,實作原理
Collections和Arrays
2-3 其他JavaAPI
String和StringBuffer,System和Runtime類,Date和DateFomat類
java.lang包
java.util包(集合類體系、規則運算式、zip,以及時間、亂數、屬性、資源和Timer等)
java.math包
java.net包
java.text包(各種格式化類等)
java.security包
2-4 面向物件、面向介面
物件的三大特性:封裝、繼承和多型,優缺點
如何設計類,類的設計原則
this關鍵字,final關鍵字,static關鍵字
物件的實體化程序
方法的重寫和多載;方法和方法的引數傳遞程序
建構式
內部類,抽象類,介面
物件的多型性(子類和父類之間的轉換、父類紙箱子類的參考),抽象類和介面在多型中的應用
2-5 JVM記憶體模型、垃圾回收
2-6 關于例外
Throwable/Error/Exception,Checked Exception vs. Unchecked Exception,例外的捕捉和拋出,例外捕捉的原則,finally的使用
2-7 多執行緒
執行緒和行程的概念
如何在程式中創建多執行緒,執行緒安全問題,執行緒之間的通訊
執行緒的同步
死鎖問題的剖析
執行緒池
2-8 IO
java.io包,理解IO體系的基于管道模型的設計思路以及常用IO類的特性和使用場合,
File及相關類,位元組流InputStream和OutputStream,字符流Reader和Writer,以及相應緩沖流和管道流,位元組和字符的轉化流,包裝流,以及常用包裝類使用
分析IO性能
2-9XML
熟悉SAX、DOM以及JDOM的優缺點并且能夠使用其中的一種完成XML的決議及內容處理;這幾種決議方法的原理
2-10 一些高級特性
反射、代理、泛型、列舉、Java正則運算式
2-11 網路編程
網路通信協議原理及適用場景,Socket編程,WEB服務器的作業原理
2-11 JDK1.5、JDK1.6、JDK1.7、JDK1.8每個版本都比前面一個版本添加了哪些新特性,進行了哪些提升
3:資料庫相關
前面說到了資料結構,資料庫簡單來說就像是電子化的檔案柜,是按照一定的資料結構來組織、存盤和管理資料的倉庫,
3-1理論基礎
資料庫設計原則和范式
事務(ACID、作業原理、事務的隔離級別、鎖、事務的傳播機制)
3-2 各種資料庫優缺點、使用場景分析
MySQL/SQLServer/Oracle以及各種NoSQL(Redis、MongoDB、Memcached、HBase、CouchDB等)
3-2 SQL陳述句
資料庫創建,權限分配,表的創建,增刪改查,連接,子查詢
觸發器、存盤程序、事務控制
3-3 優化
索引原理及適用,大表查詢優化,多表連接查詢優化,子查詢優化等
3-4 分庫、分表、備份、遷移
匯入、匯出,分庫、分表,冷備熱備,主從備份、雙機熱備、縱向擴展、橫向擴展
3-5 JDBC
JDBC Connection、Statement、PreparedStatement、CallableStatement、ResultSet等不同類的使用
連接池(配置使用、實作原理)
ORM,DAO
4:JavaWeb核心技術(包括部分前端)
Html5/Css/JS原生/jQuery
Ajax(跨域等)
JSP/JavaBean/Servlet/EL/JSTL/TabLib
JSF
JSON
EJB
序列化和反序列化
規則引擎
搜索引擎
模板引擎
快取
身份認證
測驗
集群
持久化
生成靜態頁技術
高性能
安全
事務JTA
其他需要了解的,如:管理JMX、安全JCCA/JAAS、集成JCA、通信JNDI/JMS/JavaMain/JAF、SSI技術
5、主流框架及工具
Struts1/Struts2
Spring(IoC、AOP等),SpringMVC
持久化:Hibernate/MyBatis
日志:Log4j
單元測驗:JUnit
訊息佇列:ActiveMQ、RabbitMQ等
負載均衡:Nginx/HaProxy
Web服務器:Tomcat、JBoss、Jetty、Resin、WebLogic、WebSphere等
通信:WebService(cxf的soap、restful協議)
快取:Redis、Memcached
作業流:Activity、JBPM
搜索引擎:lucene,基于lucene封裝的solr
模板引擎:Velocity、FreeMaker
大資料:Hadoop(HDFS和MapReduce)
構建工具:Ant/Maven
6、JavaWeb系統設計與架構
Java設計模式
JAVA與UML建模
面向服務架構:SOA/SCA/ESB/OSGI/EAI,微服務
面向資源架構:ROA/REST
面向云架構:COA/Saas/云計算
大型網站負載均衡、系統調優等
7、More
排錯能力:
應該可以根據例外資訊比較快速的定位問題的原因和大致位置
優化能力
代碼規范、代碼管理:
有自己的代碼規范體系,代碼可讀性好
知識面廣:
懂各種網路產品及特性,懂各種中間件,能夠知道坑在哪兒,深諳各種技術方案的優缺點,懂整合各種資源并達到最優....了解各種技術及應用場景,有足夠的作業經驗解決集成中遇到的各種奇葩問題
技術管理/技術總監:
產品管理、專案管理、團隊建設、團隊提升
CTO:
發展戰略
總結:目前的我和我的目標還有很大的差距,希望每當過一段時間就來看看這些東西,看看自己是否又前進了一步,java大神任而道遠,路在腳下,加油,
詳細的java系統視頻免費學習地址
有完整的Java初級,高級對應的學習路線和資料!專注于java開發,分享java基礎、原理性知識、JavaWeb實戰、spring全家桶、設計模式、分布式及面試資料、開源專案,助力開發者成長!
歡迎關注微信公眾號:碼邦主

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/250445.html
標籤:Java
