從Java初級程序員到Java架構師放典,從小工到專家

導讀

怎樣學習才能從一名Java初級程序員成長為一名合格的架構師逝变,或者說一名合格的架構師應該有怎樣的技術知識體系基茵,這是不僅一個剛剛踏入職場的初級程序員也是工作三五年之后開始迷茫的老程序員經(jīng)常會問到的問題。希望這篇文章會是你看到過的最全面最權威的回答壳影。

一: 編程基礎

不管是C還是C++拱层,不管是Java還是PHP,想成為一名合格的程序員宴咧,基本的數(shù)據(jù)結構和算法基礎還是要有的根灯。下面幾篇文章從思想到實現(xiàn),為你梳理出常用的數(shù)據(jù)結構和經(jīng)典算法掺栅。

1-1 常用數(shù)據(jù)結構

數(shù)組烙肺、鏈表、堆氧卧、棧桃笙、隊列、Hash表沙绝、二叉樹等

1-2 算法思想

算法時間復雜度和空間復雜度的分析計算

算法思想:遞推搏明、遞歸、窮舉闪檬、貪心星著、分治、動態(tài)規(guī)劃粗悯、迭代虚循、分枝界限

1-3 經(jīng)典算法

經(jīng)典排序:插入排序、冒泡排序样傍、快排(分劃交換排序)邮丰、直接選擇排序、堆排序铭乾、合并排序

經(jīng)典查找:順序查找剪廉、二分查找、二叉排序樹查找

1-4 高級數(shù)據(jù)結構

B+/B-數(shù)炕檩、紅黑樹斗蒋、圖等

1-5 高級算法

圖的深度優(yōu)先搜索、圖的廣度優(yōu)先搜索笛质、拓撲排序泉沾、Dijkstra算法(單源最短路徑)、霍夫曼編碼妇押、輾轉相除法跷究、最小生成樹等

二:Java語言基礎

誕生不過二十余年的Java語言憑借其跨平臺、面向對象敲霍、適合于分布式計算的特性俊马,廣泛應用于Web網(wǎng)站丁存、移動設備、桌面應用中柴我,并且已經(jīng)連續(xù)多年穩(wěn)居TOBIE編程語言排行榜前列解寝,最近更是登上冠軍寶座。Java有哪些優(yōu)秀而又與眾不同的地方首先一定要清楚艘儒。

2-1 基礎語法

Java語法格式聋伦,常量和變量,變量的作用域界睁,方法和方法的重載觉增,運算符,程序流程控制翻斟,各種基本數(shù)據(jù)類型及包裝類

2-2 重要:集合類

Collection以及各種List逾礁、Set、Queue杨赤、Map的實現(xiàn)以及集成關系敞斋,實現(xiàn)原理

Collections和Arrays

2-3 其他JavaAPI

String和StringBuffer截汪,System和Runtime類疾牲,Date和DateFomat類

java.lang包

java.util包(集合類體系、規(guī)則表達式衙解、zip阳柔,以及時間、隨機數(shù)蚓峦、屬性舌剂、資源和Timer等)

java.math包

java.net包

java.text包(各種格式化類等)

java.security包

2-4 面向對象、面向接口

對象的三大特性:封裝暑椰、繼承和多態(tài)霍转,優(yōu)缺點

如何設計類,類的設計原則

this關鍵字一汽,final關鍵字避消,static關鍵字

對象的實例化過程

方法的重寫和重載;方法和方法的參數(shù)傳遞過程

構造函數(shù)

內部類召夹,抽象類岩喷,接口

對象的多態(tài)性(子類和父類之間的轉換、父類紙箱子類的引用)监憎,抽象類和接口在多態(tài)中的應用

2-5 JVM內存模型纱意、垃圾回收

2-6 關于異常

Throwable/Error/Exception,Checked Exception vs. Unchecked Exception鲸阔,異常的捕捉和拋出偷霉,異常捕捉的原則迄委,finally的使用

2-7 多線程

線程和進程的概念

如何在程序中創(chuàng)建多線程,線程安全問題腾它,線程之間的通訊

線程的同步

死鎖問題的剖析

線程池

2-8 IO

java.io包跑筝,理解IO體系的基于管道模型的設計思路以及常用IO類的特性和使用場合。

File及相關類瞒滴,字節(jié)流InputStream和OutputStream曲梗,字符流Reader和Writer,以及相應緩沖流和管道流妓忍,字節(jié)和字符的轉化流虏两,包裝流,以及常用包裝類使用

分析IO性能

2-9XML

熟悉SAX世剖、DOM以及JDOM的優(yōu)缺點并且能夠使用其中的一種完成XML的解析及內容處理定罢;這幾種解析方法的原理

2-10 一些高級特性

反射、代理旁瘫、泛型祖凫、枚舉、Java正則表達式

2-11 網(wǎng)絡編程

網(wǎng)絡通信協(xié)議原理及適用場景酬凳,Socket編程惠况,WEB服務器的工作原理

2-11 JDK1.5、JDK1.6宁仔、JDK1.7稠屠、JDK1.8每個版本都比前面一個版本添加了哪些新特性,進行了哪些提升

三:數(shù)據(jù)庫相關

前面說到了數(shù)據(jù)結構翎苫,數(shù)據(jù)庫簡單來說就像是電子化的檔案柜权埠,是按照一定的數(shù)據(jù)結構來組織、存儲和管理數(shù)據(jù)的倉庫煎谍。

3-1理論基礎

數(shù)據(jù)庫設計原則和范式

事務(ACID攘蔽、工作原理、事務的隔離級別呐粘、鎖满俗、事務的傳播機制)

3-2 各種數(shù)據(jù)庫優(yōu)缺點、使用場景分析

MySQL/SQLServer/Oracle以及各種NoSQL(Redis事哭、MongoDB漫雷、Memcached、HBase鳍咱、CouchDB等)

3-2 SQL語句

數(shù)據(jù)庫創(chuàng)建降盹,權限分配,表的創(chuàng)建谤辜,增刪改查蓄坏,連接价捧,子查詢

觸發(fā)器、存儲過程涡戳、事務控制

3-3 優(yōu)化

索引原理及適用结蟋,大表查詢優(yōu)化,多表連接查詢優(yōu)化渔彰,子查詢優(yōu)化等

3-4 分庫嵌屎、分表、備份恍涂、遷移

導入宝惰、導出,分庫再沧、分表尼夺,冷備熱備,主從備份炒瘸、雙機熱備淤堵、縱向擴展、橫向擴展

3-5 JDBC

JDBC Connection顷扩、Statement拐邪、PreparedStatement、CallableStatement屎即、ResultSet等不同類的使用

連接池(配置使用庙睡、實現(xiàn)原理)

ORM事富,DAO

四:JavaWeb核心技術(包括部分前端)

Html5/Css/JS原生/jQuery

Ajax(跨域等)

JSP/JavaBean/Servlet/EL/JSTL/TabLib

JSF

JSON

EJB

序列化和反序列化

規(guī)則引擎

搜索引擎

模板引擎

緩存

身份認證

測試

集群

持久化

生成靜態(tài)頁技術

高性能

安全

事務JTA

其他需要了解的技俐,如:管理JMX、安全JCCA/JAAS统台、集成JCA雕擂、通信JNDI/JMS/JavaMain/JAF、SSI技術

五贱勃、主流框架及工具

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協(xié)議)

緩存:Redis耘子、Memcached

工作流:Activity果漾、JBPM

搜索引擎:lucene,基于lucene封裝的solr

模板引擎:Velocity谷誓、FreeMaker

大數(shù)據(jù):Hadoop(HDFS和MapReduce)

構建工具:Ant/Maven

六绒障、JavaWeb系統(tǒng)設計與架構

Java設計模式

JAVA與UML建模

面向服務架構:SOA/SCA/ESB/OSGI/EAI,微服務

面向資源架構:ROA/REST

面向云架構:COA/Saas/云計算

大型網(wǎng)站負載均衡捍歪、系統(tǒng)調優(yōu)等

七户辱、More

排錯能力:

應該可以根據(jù)異常信息比較快速的定位問題的原因和大致位置

優(yōu)化能力

代碼規(guī)范、代碼管理:

有自己的代碼規(guī)范體系糙臼,代碼可讀性好

知識面廣:

懂各種網(wǎng)絡產(chǎn)品及特性焕妙,懂各種中間件,能夠知道坑在哪兒弓摘,深諳各種技術方案的優(yōu)缺點焚鹊,懂整合各種資源并達到最優(yōu)....了解各種技術及應用場景,有足夠的工作經(jīng)驗解決集成中遇到的各種奇葩問題

技術管理/技術總監(jiān):

產(chǎn)品管理韧献、項目管理末患、團隊建設、團隊提升

CTO:

發(fā)展戰(zhàn)略

最后

喜歡的就關注的我的公眾號“java小瓜哥的分享平臺”锤窑,每天都會給大家推送最新的java消息和技術文章

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末璧针,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子渊啰,更是在濱河造成了極大的恐慌探橱,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绘证,死亡現(xiàn)場離奇詭異隧膏,居然都是意外死亡,警方通過查閱死者的電腦和手機嚷那,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門胞枕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人魏宽,你說我怎么就攤上這事腐泻。” “怎么了队询?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵派桩,是天一觀的道長。 經(jīng)常有香客問我蚌斩,道長铆惑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮鸭津,結果婚禮上彤侍,老公的妹妹穿的比我還像新娘。我一直安慰自己逆趋,他們只是感情好盏阶,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著闻书,像睡著了一般名斟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上魄眉,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天砰盐,我揣著相機與錄音,去河邊找鬼坑律。 笑死岩梳,一個胖子當著我的面吹牛,可吹牛的內容都是我干的晃择。 我是一名探鬼主播冀值,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宫屠!你這毒婦竟也來了列疗?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤浪蹂,失蹤者是張志新(化名)和其女友劉穎抵栈,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體坤次,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡古劲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了浙踢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绢慢。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡灿渴,死狀恐怖洛波,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情骚露,我是刑警寧澤蹬挤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站棘幸,受9級特大地震影響焰扳,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一吨悍、第九天 我趴在偏房一處隱蔽的房頂上張望扫茅。 院中可真熱鬧,春花似錦育瓜、人聲如沸葫隙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恋脚。三九已至,卻和暖如春焰手,著一層夾襖步出監(jiān)牢的瞬間糟描,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工书妻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留船响,地道東北人。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓躲履,卻偏偏與公主長得像灿意,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子崇呵,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內容