程序員到架構師的進階之路是很是艱辛和漫長的,不但須要掌握不少高級的知識技能,還須要有過硬的基礎知識。《Java架構師指南》就是這樣一本指導小白到架構師進階的書。本文摘取了這本書中的第一章節,主要介紹Java程序員走向架構師的基礎知識,還有開發環境的搭建。經過本文的學習,能夠大體瞭解程序員的進階之路,也可更加深入地認識到程序員的發展方向。前端
點此連接購買紙書
java
本書特別適合Java Web領域的開發人員以及剛步入職場的新手。本書經過講述Java架構師必備的知識技能,讓廣大讀者在原有知識的基礎上更上一個臺階,爭取早日實現架構師的夢想。程序員
對於架構師的定義,每一個人的見解都不盡相同,我結合本身多年的工做經驗,也只是大體定義了一個範圍,但願能夠幫助到別人。讀者能夠結合本身的實際狀況,經過閱讀本書,不斷地擴展和充實這種範圍,以達到本身理想中的境界。「不想當將軍的士兵,不是好士兵。」在軟件行業中,也彷佛有這樣一句話:「不想當架構師的程序員,不是好程序員。」雖然這看似是一種調侃,但從學習的角度來講,成爲架構師,顯然是一個好的目標!人只有在內心有了目標,纔會變得更加幸福。算法
若是你不但願一直停留在Java的初級階段,想在將來成爲架構師,那麼本書很是適合用來全面提升本身的開發水平。若是你想轉項目經理,那麼本書一樣適合你,由於書中的每一個項目都是完整的迭代過程。數據庫
1.1 程序員進階編程
大學畢業後,初出茅廬的菜鳥通過千辛萬苦,總算是找到了人生中的第一份工做。可是,隨着工做的開展,菜鳥所面對的問題愈來愈多。有些人堅持了下來,有些人中途放棄,有些人則在職業生涯中選擇了轉型。做爲一名程序員,不但須要編寫大量的代碼,還須要對本身的職業生涯作一個規劃。結合前輩們所走過的道路,這個職業規劃大體是圖1-1所示的這個樣子。後端
圖1-1 程序員職業生涯瀏覽器
通常來講,從初級程序員到高級程序員須要通過5年的磨礪,這個時間段基本上是業界的共識了。並且,在衆多招聘信息中也能夠發現程序員的起點都是須要兩年工做經驗的。也許,有些天賦異稟的程序員可能通過3年的刻苦學習也能達到高級階段,可是,他們的知識技能每每並不全面,可能只是在某些方面比較熟悉罷了。到了高級程序員的階段,可供選擇的方案就比較多了,大概有圖1-2所示的這3個走向。前端框架
圖1-2 程序員發展方向服務器
若是高級程序員再向上進階的話,會面臨3個選擇。第一種方案是成爲項目經理,負責管理加上部分開發。由於高級程序員對公司的項目是很是瞭解的,對公司目前的開發過程也得心應手。若是本人有這方面的意願,很容易勝任項目經理這個角色。並且,公司一般會從內部選擇項目經理,空降項目經理的方式並非常態,歸其緣由就是難以熟悉項目架構。
第二種方案是高級程序員可能更喜歡專著於技術,不喜歡出差和撰寫大量的項目文檔。在這種狀況下,他能夠成爲一名架構師,專門負責維護公司的項目、產品方面的架構工做。若是公司有必定的規模,他可能會成爲研發平臺的負責人。固然,這種狀況的前提是該程序員沒有跳槽。
第三種方案是高級程序員可能經歷了若干年的開發後,對寫代碼已經深惡痛絕,絲毫感覺不到任何快樂了,但他對公司的項目和產品又很是熟悉,也有深厚的研發積累。在這種狀況下,他能夠完全轉型成爲一名產品經理,純粹負責公司產品的規劃、設計、包裝,甚至肩負必定的市場職責。固然,成爲產品經理的前提是公司的項目已經產品化或者正在產品化之中。所謂的產品經理,一般就是向技術部提出一個原型設計:「看吧,這就是我想要的東西,至於怎麼實現,大家看着辦!」若是他懂代碼還好說,但若是不懂代碼,可能會讓程序員陷入抓狂狀態!
到了高級程序員的階段,不少人就開始思考:到底是去作項目經理?產品經理?仍是繼續寫代碼成爲優秀的架構師呢?每一個人的想法是不同的,所做出的選擇也是不同的,這跟本身的能力和性格也有必定的關係。
項目經理:在大型公司裏,主要起協調資源的做用,再往上還有項目集經理。而在一些中小型公司裏,項目經理不但要作好管理,還要兼備一部分代碼的開發工做,但與此同時,也會有5年經驗左右的項目組長,來管理不一樣的項目組。在軟件行業中,常常有這樣一個爭論,項目經理到底應該不該該寫代碼?支持和反對的人都不少,但做者認爲,這也是仁者見仁、智者見智的事情。首先,項目經理自身也是資源,是資源就有消耗,有些老闆可能會認爲:「我花這麼多錢,請一個項目經理過來只爲了寫寫文檔,是否是太虧本了?」但到了數萬人的大公司,該公司的項目一般特別多,就須要項目經理很是專一地管理項目,而不是分心去寫代碼。這種狀況下,老闆的思路就會轉變,你寫什麼代碼?好好地管理好公司的項目,不讓它出亂子就能夠了。
產品經理:通常則是公司已經將項目過渡到了產品後,才能發揮更大的做用。若是公司一開始只有項目,則須要大量的時間來積累,最終實現產品化。在這個過程當中,每每不是很須要專職的產品經理,可能項目中的每一個人都會對項目獻計獻策,來使項目更加通用化。產品經理自身也是須要積累的,若是他成功地設計了一款App,而且在市場上取得了極大的成功,那麼他的職業生涯可能會所以鍍金,這個App將會成爲他能力的體現。
架構師:專一於公司的研發平臺,管理框架方面的東西。例如,寫核心代碼,而且指導底下的開發人員合理地編碼,維護代碼庫。在小公司裏可能只有一兩名架構師,可是在數萬人的公司裏,架構師會很是多。在這種狀況下,架構師有可能會成爲程序員級別稱謂。例如,你在該公司待了8年,雖然你乾的活一直是普通研發,並不負責實際上的架構,可是公司有正常的晉升渠道,你的級別就會從高級軟件工程師上升到軟件架構師。這種狀況,在外包公司比較常見。
全棧工程師:是最近才興起的一個概念,但全棧工程師說到底仍是程序員,相似於高級開發的角色,只不過是懂的東西比較多,前端和後端均可以作,技術比較全面。全棧工程師極大地拓展了本身的開發技能,成爲了項目中的骨幹成員,相似於技術專家的角色。通常而言,小公司比較喜歡這樣的人,招募一個能夠頂3個。但從學習的角度來講,全棧依然是不錯的目標。由於只有成了全棧工程師,才更能接近架構師。
每種開發語言,都有本身領域的架構師,如C++架構師、PHP架構師,固然也有Java架構師了。架構師須要對公司的整個研發平臺瞭如指掌,清楚平臺中細枝末節的東西。他極有多是陪伴着這個公司成長起來的程序員;也極有多是在別的公司工做多年後跳槽過來的。前者對公司的項目、產品很是熟悉,甚至本身還動手寫過業務層。後者可能只是從大致上瞭解公司的研發平臺,絕不深刻,但這並不影響他的發揮,真正的架構師看到代碼就有一種親切感,能夠很容易分析出隱藏在代碼先後的業務過程。
Java架構師,至少須要在Java領域有5年的開發經驗。他須要掌握的內容不少,簡單點能夠分爲前端、後端、數據庫、服務器、中間件等。前端插件能夠極大地提升開發效率,甚至在不須要美工的狀況下作出時尚的界面,相似的插件有AngularJS、Avalon、Bootstrap、ExtJS、jQuery EasyUI、jQuery UI等,這些前端插件也能夠稱做前端組件或者前端框架,種種叫法也看人的習慣了,不必吹毛求疵。除了這些前端插件外,還須要掌握JavaScript、HTML等技能。後端須要掌握的技能主要是Java、JVM、Servlet、Struts、Spring、Hibernate、MyBatis等,還有最近流行起來的Spring MVC、Spring Boot等。這些技能和框架只有綜合起來使用,而且合理地搭配才能發揮出最好的效果。至於效果可以達到什麼程度就須要看架構師的本事了。也許有的架構師能夠把這個積木撘得很好,也許有的架構師在搭積木的過程當中,這個積木就倒下了。數據庫方面須要掌握的內容有Oracle、MySQL、SQL Server,通常經常使用的數據庫大概就是這3個。固然近年來,對於架構師須要掌握的數據庫又有所增長,它們主要是表明了NoSQL的MongoDB等區別於傳統關係型的數據庫。可是,數據庫相關的內容有很多,例如,須要熟練掌握SQL的各類語法,還須要掌握數據庫性能的調優、備份和恢復。服務器並非重點,但做爲Java架構師,仍然須要有所瞭解。服務器包括物理服務器、雲服務器,還有Web服務器,包括咱們在開發中使用的Tomcat。中間件在一些中小型項目中並不怎麼經常使用,如EJB技術、消息中間件ActiveMQ。固然,Web服務器也能夠算做中間件,如Tomcat、Weblogic、WebShpere和JBoss等。
只有熟練掌這幾個方面的技能後,才能算是一個初級架構師。若是想成爲大神級別的架構師,還須要學習更多的知識。Java架構師須要對這些技能很是熟悉,而且能像搭積木同樣把他們整合在一塊兒,構建出成熟的、完整的軟件開發平臺,以供底下的程序員在此基礎上進行業務層的開發。可是,隨着軟件技術突飛猛進地發展,愈來愈多的框架進入眼簾,這對於咱們來講既是好處又是壞處。好處是咱們能夠選擇更好的、更合適的框架來提升項目的性能,下降開發難度,簡化開發流程。壞處是可選擇的框架太多,以致於讓咱們難以選擇。因此,本書爲你們精心挑選出了一名合格的架構師所必備的專業技能和開發思想,以供你們學習和參考,爭取儘早地成爲Java架構師。
1.2選擇開發工具
孔子曰:「工欲善其事,必先利其器。」這是一個千古不變的哲理,工匠想要使他的工做作好,必定要先讓工具鋒利,這樣才能發揮出最大的效率。這個哲理告訴咱們,無論作什麼事情,都要選擇合適的工具。那麼在軟件開發的道路上,選擇一個合適的開發工具也是極其重要的事情了。Java的開發工具備幾種,這裏不作太多的贅述,咱們只須要對比它們的特色,便可從中選擇出一款最適合本身的。
Java中經常使用的開發工具備NetBeans、JBuilder、Eclipse、MyEclipse、IntelliJ IDEA等。其中,NetBeans是Sun公司開發的,JBuilder是Borland公司開發的,這兩個開發工具的功能和界面跟咱們經常使用的Eclipse是沒有很大的區別的,之因此在市場佔有率方面輸給Eclipse,徹底是由於細節方面作得很差,還有在用戶感知方面不太好。曾經有網友也在社區裏面說過這樣的問題,我嘗試使用過NetBeans或者JBuilder,但老是由於我的習慣的緣由沒有堅持下來。可能Eclipse是大多數人接觸的第一款開發工具吧,這種先入爲主的感受會一直伴隨着咱們。
Eclipse是徹底免費和開源的,它的功能很是強大,開發起來也很順手。MyEclipse是在Eclipse的基礎上加上了本身的插件後的企業級集成開發環境,尤爲善於開發Java、Java EE方面的項目。因而,在市場佔有率方面Eclipse和MyEclipse很是高,這也在另外一方面促進了它們的發展。這二者實際上是一個核心,因此選擇哪個都看本身的習慣了。IntelliJ IDEA是Java開發的集成環境,在業界被公認爲最好的Java開發工具之一,尤爲在代碼提示、重構、J2EE支持等方面很是強大。其中有一點對程序員的幫助很是大,就是調試功能,此外在某些細節方面彷佛比Eclipse作得更好。並且,IntelliJ IDEA與GIT結合得很是好,而Eclipse與SVN結合得很是好。時間久了,這一開發工具與版本控制工具相結合的特色,也漸漸被程序員們承認,甚至成了項目選擇開發工具的一種參考。
舉個例子,若是A項目列入了開發計劃,爲了保持你們代碼的一致性,可能項目組內會統一使用開發工具。如何選擇呢?若是,這個項目使用SVN來管理代碼,那麼你們就會優先使用Eclipse;若是使用GIT管理代碼,那麼你們就會優先使用IntelliJ IDEA。固然,這彷佛只是一種約定俗成的參考,並非硬性要求。
在接下來的學習中,咱們以MyEclipse和Eclipse爲主來開發項目,而且會講述SVN和GIT的不一樣,讓你們在之後的工做中更加靈活地搭配開發工具和版本控制工具的組合。至於IntelliJ IDEA,由於它的入手門檻確實有點高,並且一旦選定,後面對於代碼的重構會很是麻煩(指Eclipse和IntelliJ IDEA之間),因此本書暫不作相應的講解。
另外,本書還會使用Eclipse相對較新的版原本作一些練習。其中,MyEclipse的版本是10.7,Eclipse的版本是Kepler,IntelliJ IDEA的版本是2016。SVN和GIT的版本帶來的差異並不大,因此並不對版本作具體的規定,MyEclipse10.7的界面如圖1-3所示。
圖1-3 MyEclipse 10.7的界面
Eclipse Kepler的界面如圖1-4所示。
圖1-4 Eclipse Kepler的界面
IntelliJ IDEA 2016的界面如圖1-5所示。
圖1-5 IntelliJ IDEA 2016的界面
1.3 安裝JDK
JDK是Java開發的核心,包含了Java運行環境、工具、基礎類庫。若是沒有JDK,Java開發是沒法進行的,Java項目也沒法運行起來。因此要作任何項目的開發,第一件事情就是安裝好JDK。接下來,咱們才能夠作更多的事情。
一般來講,每個開發工具都會攜帶JDK,例如,MyEclipse 10.7自帶的Sun JDK 1.6.0_13,可是IntelliJ IDEA並無攜帶,須要自行配置。鑑於這種狀況,咱們在安裝完開發工具後緊接着就應該安裝合適的JDK。使用MyEclipse 10.7自帶的JDK也能夠完成平常的開發,但這款JDK沒有進行環境變量的設置,可能在後續的開發中會有影響,並且這款JDK是混雜在MyEclipse 10.7的安裝目錄下的,給人的直觀感受不太好。爲此,咱們須要單獨安裝一款JDK,而說到安裝JDK,就難免要選擇合適的版本。目前,JDK版本已經到了8,可是由於歷史緣由,使用JDK 8來開發項目的公司並很少,第一個吃螃蟹的人會有驚喜也有潛在的風險。使用JDK7也是個不錯的選擇,可是由於本書中所涉及的項目衆多,爲了項目的穩定性,還有學習的順序性,咱們仍然使用久經歷史驗證的JDK 1.6版本,也能夠稱做JDK 6,對於這個名稱不用糾結,是由於歷史緣由形成的。JDK 1.6以上的版本才正式改變了叫法,如JDK 7,也有開發人員習慣叫它JDK 1.7。讀者能夠在JDK 1.6版本下熟練掌握本書的內容後,自行更用更高級的版原本測試程序的運行性能和代碼編譯方面的不一樣。由於本書的主旨是講述常規的技術,因此對於JDK的新特性並無過多講解。
首先,須要在Oracle官方網站下載JDK 6。由於Oracle官網常常更新,具體的地址也會常常改變,很難有一個確切的下載地址。可是,在Oracle官網能夠找到Downloads的菜單,基本上Oracle公司全部的產品均可以在這裏找到。另外一種方法是能夠在其餘的網站下載JDK 6,例如,國內的一些網站,下載起來速度也相對比較快,Oracle官網下載JDK如圖1-6所示。
圖1-6 Oracle官網下載JDK
下載完JDK6以後,最好將它安裝在非系統盤裏。接着,須要對剛纔安裝好的JDK進行環境變量的設置,以方便咱們在DOS系統下使用JDK命令。例如,最經常使用的編譯命令javac,顯示JDK版本的命令java -version,這些命令的使用都依賴於環境變量的配置。若是沒有配置,是不會生效的。
首先,打開Windows的環境變量界面,新建系統變量JAVA_HOME和CLASSPATH。編輯JAVA_HOME變量,在變量值裏輸入JDK6的安裝地址,如D:\Program Files\Java\jdk1.6.0_43,點擊「肯定」保存。接着,編輯CLASSPATH變量,在變量值裏輸入
%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar,點擊肯定保存。最後,選擇系統變量名爲Path的環境變量,在原有變量值的基礎上追加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,點擊「肯定」保存,添加環境變量的界面如圖1-7所示。
圖1-7 Windows環境變量設置界面
爲了驗證Java環境變量是否設置成功,能夠運行CMD程序,打開Windows的命令行模式,輸入
java -version
命令,若是環境變量設置成功,會在下面輸出當前的JDK版本號以及JDK位數,正確的輸出結果如圖1-8所示。
圖1-8 命令行模式下輸出JDK版本
配置好了環境變量,還須要在MyEclipse 10.7中配置JDK,使其能夠在開發工具中使用。打開MyEclipse 10.7,在Preferences菜單中的Java選項下找到Installed JREs選項,就能夠看到當前工做空間中的JDK設置,MyEclipse 10.7默認自帶一個JDK6,如圖1-9所示。
圖1-9 MyEclipse10.7自帶的JDK6
點擊Add按鈕,在彈出的Add JRE對話框中選擇Standard VM點擊Next按鈕進入下一步,在彈出的對話框中點擊Directory按鈕,選擇JDK6的安裝目錄,點擊肯定。對話框會自動識別出JDK的相關信息,而且在JRE system libraries列表框中顯示出來,如圖1-10所示。
圖1-10 MyEclipse 10.7中設置JDK6
點擊Finish按鈕完成設置。這時,MyEclipse 10.7會自動回到Installed JREs對話框中,剛纔的列表中會多出一欄咱們剛剛設置好的JDK選項,在勾選框中選擇它點擊OK。至此,MyEclipse10.7下的JDK設置就成功了,在之後的開發工做中,咱們全依賴這個JDK提供的基礎JAR包來開發和運行項目。
1.4 安裝Tomcat服務器
安裝好了JDK,咱們就能夠在MyEclipse 10.7中進行一系列代碼編寫工做了。例如,能夠在開發工具中寫一些類,作一些練習。普通的包含main函數的Java類,咱們能夠經過Run As菜單下的Java Application命令來運行,輸出程序結果。例如,能夠在MyEclipse 10.7下新建一個Java Web工程practise。具體的過程以下,選擇File菜單下的New選項,在彈出的右側菜單中選擇Web Project,在對話框的Project Name文本框中輸入
practise
,將J2EE Specification Level選項設置爲Java EE 6.0,和安裝的JDK保持一致,點擊Finish按鈕,practise項目就創建好了。
選中practise項目的src目錄,右鍵選擇新建Package,在對話框的Name文本框中輸入
com.manage.practise
,點擊Finish,就能夠給這個項目創建一個空包。接下來,就能夠在這個空包裏新建類。選中Java包,右鍵選擇New菜單下的Class,在彈出的對話框中在Name處輸入類名
Test
,而且勾選
public static void main(String[] args)
,點擊Finish。這樣,在practise包下的第一個類Test就創建成功了。打開Test類,在main函數中輸入第一行Java語句
System. out.println("Hello World");
,使用Java Application來運行。此時,控制檯會在空白區域輸出Hello World。理論上來講,咱們的第一個Java程序就這樣誕生了,儘管這個程序很是簡單!
若是隻是在MyEclipse 10.7下安裝了JDK,這款開發工具能作的事情無非是編寫類,利用Java Application來運行,而且進行程序的測試。在這種狀況下,咱們的代碼中所設定的數值均是由本身輸入的參數;而後再根據程序中的處理邏輯,作一些簡單的運算;最後,輸出正確的結果。但是,程序開發遠遠不是這麼簡單的事情,咱們須要作的是開發一個具備交互能力的項目,而不只僅是寫一段簡單的程序。要達成這個目標,咱們就必須在MyEclipse 10.7安裝Web服務器來運行項目。在這裏,咱們選擇使用Tomcat服務器,這是由於Tomcat服務器具備簡單、易用的優勢。
首先,打開Apache的官方網站,在下載Tomcat 6.0的頁面找到對應的軟件,在Core列表中選擇64-bit Windows zip的版本,將Tomcat 6.0保存到本地,而且解壓縮到本地的非系統盤內,如E盤的根目錄。下載Tomcat 6.0如圖1-11所示。
圖1-11 下載Tomcat 6.0
打開MyEclipse 10.7的Preferences對話框,在MyEclipse的列表中選擇Servers,這時,會出現一個列表,列出MyEclipse 10.7支持的服務器。選擇Tomcat,再選擇Tomcat 6.x。這時,對話框右側會出現Tomcat 6.x的配置項,選擇Enable,啓用Tomcat 6.x。點擊Tomcat home directory對應的Browse按鈕,在彈出的磁盤目錄列表中選擇Tomcat 6.0所在的位置,MyEclipse 10.7會自動補齊其餘的兩處空白,點擊OK按鈕,Tomcat 6.0服務器就配置好了。
咱們經過工具欄運行Tomcat 6.0,啓動成功後,點擊工具欄的Open MyEclipse Web Browser功能的圖標,在地址欄中輸入http://localhost:8080/,就能夠看到Tomcat 6.0運行成功的畫面。接下來,就能夠經過在Tomcat服務器裏部署Web項目來進行正式地編碼工做了,運行界面如圖1-12所示。
圖1-12 Tomcat 6.0運行成功
1.5 Hello World程序
完成了前面幾節的配置,MyEclipse 10.7 的開發環境已經正式配置成功了。這時,咱們能夠在MyEclipse10.7下完成第一個Hello World程序來結束本章的學習。
在MyEclipse 10.7的界面中,咱們能夠看到Package Explorer視圖下有一個Java Web項目practise,這個項目是以前建立好的,而且在包裏創建了一個Test類。咱們經過運行該類,能夠在控制檯裏輸出了Hello World,說明這個類沒有問題。可是,這種簡單的編碼沒有交互性,是不能知足項目的需求的。若是要開發一個項目,必須讓其在Tomcat服務器裏運行,才能起到交互的做用。那麼咱們能夠把practise項目部署到Tomcat服務器裏試試效果。
選中practise項目,右鍵彈出功能菜單選擇MyEclipse,在彈出的右側菜單中選擇Add and Remove Project Deployments功能,在彈出的對話框中能夠看到Deployments列表中爲空,說明Tomcat服務器裏並無部署任何項目。這時,咱們點擊Add按鈕,在Server下拉框中選擇Tomcat 6.x,點擊Finish,把practise項目正式部署到Tomcat服務器中。部署好的 practise 項目如圖1-13所示。
圖1-13 部署好的practise項目
這時,咱們啓動Tomcat服務器就會自動加載部署到服務器裏的practise項目。經過控制檯,能夠看到服務器的啓動日誌,若是沒有報錯的話,說明practise項目沒有編譯錯誤,那麼Tomcat服務器啓動成功。打開IE瀏覽器,在地址欄中輸入http://localhost:8080進行訪問,能夠看到程序運行成功,但顯示的仍然是Tomcat服務器的默認頁面,這是由於咱們沒有輸入項目名稱。
打開practise項目的WebRoot文件夾下的index.jsp文件,把title標籤裏的內容修改爲First Page,把body標籤裏的內容修改爲Hello World,保存index.jsp文件。再次打開IE瀏覽器,訪問http://localhost: 8080/practise,能夠看到頁面上已經發生了變化,如圖1-14所示。
圖1-14 practise項目運行
1.6 小結
本文咱們全面闡述了程序員的職業發展規劃,從而爲廣大讀者提供一個晉級的參考。從程序員到項目經理、產品經理、架構師的過程至少須要5年。這5年是一個學習期,5年後就能夠進行轉型了。因此,建議你們在工做的前5年不要頻繁跳槽,仍是須要系統地掌握知識技能,積累經驗纔是硬道理。頻繁跳槽不但讓本身的知識會出現斷層,也可能影響到本身在HR心中的形象。
接着介紹了Java開發中經常使用的工具,而且作了簡單的對比,相信讀者能夠根據本身的喜愛選擇其中的一款。由於本書主要採用MyEclipse 10.7做爲開發工具,因此讀者最好先使用這款開發工具,其餘的工具會在後面的章節中介紹。等對這些工具得心應手的時候,再隨意切換。每一個開發工具都有本身的優缺點,但不要人云亦云,選擇本身最習慣用的纔是最好的。最後介紹了安裝JDK、Tomcat服務器的過程,而且開發了第一個Hello World程序。若是讀者已經緊緊掌握了本章的內容,這就是萬里長征邁出了堅實的第一步,相信在之後的學習當中你們的收穫會更多。
本文摘自《Java架構師指南》
《Java架構師指南》
王波 著
資深Java專家多年經驗總結,全程項目驅動,首本完整介紹Java入門進階到架構師的編程技術圖書。
程序員走向架構師是必經之路,本書基於官方API的完美解讀,從架構師的角度來說解Java知識技能,而且從搭建虛擬機開始,學習經常使用的Linux命令,力爭作到使程序員在較短的時間內成功邁入架構師的殿堂。
今日互動(僅限微信端點擊參加)
你是怎麼入行的?第一份工做是什麼?截止時間6月15日17時,留言+轉發本活動到朋友圈,小編將抽獎選出3名讀者贈送紙書1本和2張e讀版80元異步社區代金券,(留言點贊最多的自動得到一張)。
推薦閱讀
長按二維碼,能夠關注咱們喲
天天與你分享IT好文。
在「異步圖書」後臺回覆「關注」,便可免費得到2000門在線視頻課程
點擊閱讀原文購買《Java架構師指南》
閱讀原文