已然勵志在java路上走的更遠,那就有必要了解java的途徑。先看圖
image.png
愈加細化的細節如下
一: 編程基礎
不管是C仍是C++,不管是Java仍是PHP,想成為一名合格的程序員,根柢的數據結構和算法基礎仍是要有的。下面幾篇文章從思想到完畢,為你梳理出常用的數據結構和經典算法。
1-1 常用數據結構
數組、鏈表、堆、棧、部隊、Hash表、二叉樹等
1-2 算法思想
算法時間復雜度和空間復雜度的剖析核算
算法思想:遞推、遞歸、窮舉、貪心、分治、動態規划、迭代、分枝距離
1-3 經典算法
經典排序:插入排序、冒泡排序、快排(分划溝通排序)、直接挑選排序、堆排序、吞並排序
經典查找:次序查找、二分查找、二叉排序樹查找
1-4 高檔數據結構
B+/B-數、紅黑樹、圖等
1-5 高檔算法
圖的深度優先查找、圖的廣度優先查找、拓撲排序、Dijkstra算法(單源最短途徑)、霍夫曼編碼、曲折相除法、最小生成樹等
二: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關鍵字(hbLfgrbw)
政策的實例化進程
方法的重寫和重載;方法和方法的參數傳遞進程
結構函數
內部類,抽象類,接口
政策的多態性(子類和父類之間的轉化、父類紙箱子類的引用),抽象類和接口在多態中的運用
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-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
四: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技術
五、干流結構及東西
Struts1/Struts2
Spring(IoC、AOP等),SpringMVC
耐久化:Hibernate/MyBatis
日志:Log4j
單元查驗:JUnit
音訊部隊:(haLujian)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
六、JavaWeb體系規划與架構
Java規划方法
JAVA與UML建模
面向服務架構:SOA/SCA/ESB/OSGI/EAI,微服務
面向資源架構:ROA/REST
面向雲架構:COA/Saas/雲核算
大型網站負載均衡、體系調優等
七、More
排錯才調:
應該能夠根據失常信息比較快速的定位問題的原因和大致方位
優化才調
代碼規范、代碼處理:
有自己的代碼規范體系,代碼可讀性好
常識面廣:
懂各種網絡產品及特性,懂各種中間件,能夠知道坑在哪兒,深諳各種技術計划的優缺點,懂整合各種資源並抵達最優....了解各種技術及運用場景,有滿足的作業經歷處理集成中遇到的各種奇葩問題
技術處理/技術總監:
產品處理、項目處理、團隊建造、團隊行進
CTO:
發展戰略
總結:現在的我和我的政策還有很大的距離,希望每逢過一段時間就來看看這些東西,看看自己是否又行進了一步。java大神任而道遠,路在腳下,加油。