Java是一種計算機編程語言,擁有跨平臺、面向對象、泛型編程的特性,普遍應用於企業級Web應用開發和移動應用開發。php
任職於太陽微系統的詹姆斯·高斯林等人於1990年代初開發Java語言的雛形,最初被命名爲Oak,目標設置在家用電器等小型系統的程序語言,應用在電視機、電話、鬧鐘、烤麪包機等家用電器的控制和通訊。因爲這些智能化家電的市場需求沒有預期的高,Sun公司放棄了該項計劃。隨着1990年代互聯網的發展,Sun公司看見Oak在互聯網上應用的前景,因而改造了Oak,於1995年5月以Java的名稱正式發佈。Java伴隨着互聯網的迅猛發展而發展,逐漸成爲重要的網絡編程語言。java
1、Java編程入門類程序員
對於沒有編程經驗的童鞋要入門的話,基本是要讀一些淺顯易懂的書籍。要求咱們快速瞭解java語言的起源,掌握Java語言中的基本語法和基本用法,快速熟悉Java,順利的創建起一個屬於本身的「Hello World!!!」。算法
一、《Head First Java》編程
做者: Kathy Sierra / Bert Bates網絡
簡介:《Head First Java》是一本完整地面向對象(object-oriented,OO)程序設計和Java的學習指導用書,根據學習理論所設計,你能夠從程序語言的基礎開始,到線程、網絡與分佈式程序等項目。重要的是,你能夠學會如何像一個面向對象開發者同樣去思考,並且不僅是讀死書。併發
做爲一本入門書,它是絕對出色的。一個星期就能讓你明白怎麼用Java寫程序了。尤爲是你有其它語言基礎的狀況下,這本書能迅速讓你明白java的特質。缺點是,它真的只是入門書。你必然還須要一本Java大字典,好比《Thinking in Java》,以便查閱Java在細節上的更多東西。關於這一點,書中附錄B也說得很清楚了框架
下載地址:http://download.csdn.net/download/malinkang1989/5343418jvm
二、《Java開發實戰經典》編程語言
做者:李興華 編著
簡介:本書是一本綜合講解Java核心技術的書籍,在書中使用大量的代碼及案例進行知識點的分析與運用,而且給出一些比較成熟的開發步驟,幫助讀者更好地進行Java的開發。從做者多年的Java培訓經驗來看,大部分學生對各類高端開發都沒有任何問題,惟一的問題在於Java基礎並不牢固,並且在國內也始終沒有一本真正能夠引領讀者入門的好書籍,大部分的書籍都是圍繞概念自己進行講解的,沒有講解清楚爲何要具有這些知識以及該如何去理解這些知識。
三、《深刻理解Java虛擬機:JVM高級特性與最佳實踐》
做者:周志明 編著
簡介:書共分爲五大部分。第一部分從宏觀的角度介紹了整個java技術體系的過去、如今和將來,以及如何獨立地編譯一個openjdk7,這對理解後面的內容頗有幫助。第二部分講解了jvm的自動內存管理,包括虛擬機內存區域的劃分原理以及各類內存溢出異常產生的緣由;常見的垃圾收集算法以及垃圾收集器的特色和工做原理;常見的虛擬機的監控與調試工具的原理和使用方法。第三部分分析了虛擬機的執行子系統,包括class的文件結構以及如何存儲和訪問class中的數據;虛擬機的類建立機制以及類加載器的工做原理和它對虛擬機的意義;虛擬機字節碼的執行引擎以及它在實行代碼時涉及的內存結構。第四部分講解了程序的編譯與代碼的優化,闡述了泛型、自動裝箱拆箱、條件編譯等語法糖的原理;講解了虛擬機的熱點探測方法、hotspot的即時編譯器、編譯觸發條件,以及如何從虛擬機外部觀察和分析jit編譯的數據和結果。第五部分探討了java實現高效併發的原理,包括jvm內存模型的結構和操做;原子性、可見性和有序性在java內存模型中的體現;先行發生原則的規則和使用;線程在java語言中的實現原理;虛擬機實現高效併發所作的一系列鎖優化措施。
下載地址:http://download.csdn.net/detail/u010349169/8168053
2、編程進階類
當你打好Java基礎後,還須要你更多的實踐積累。在這個階段,你須要多實踐,同時也須要有良好的代碼風格,提升本身的編程質量。
一、《Effective Java》
做者:(美)Joshua Bloch 譯者:潘愛民
簡介:本書介紹了在Java編程中57條極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員天天所面臨的問題的解決方案。經過對Java平臺設計專家所使用的技術的全面描述,揭示了應該作什麼,不該該作什麼才能產生清晰、健壯的高效的代碼。
下載地址:http://download.csdn.net/download/u010893788/6017143
二、《重構:改善既有代碼的設計》
做者:(美)福勒 編著
簡介:本書清晰揭示了重構的過程,解釋了重構的原理和最佳實踐方式,並給出了什麼時候以及何地應該開始挖掘代碼以求改善。書中給出了70多個可行的重構,每一個重構都介紹了一種通過驗證的代碼變換手法的動機和技術。本書提出的重構準則將幫助你一次一小步地修改你的代碼,從而減小了開發過程當中的風險。
下載地址:http://download.csdn.net/detail/zaiduxinling/6626117
三、《Spring揭祕》
做者:王福強 編著
簡介:《Spring揭祕》本書以幽默生動的語言、輔以有趣的故事和典故,循循善誘地闡述了Spring框架的方方面面。針對Spring框架的主要功能以及開發者們遇到最多的問題,首先介紹問題的相關背景,而後逐條進行深度剖析,最後經過分析來引入Spring框架能夠提供的最佳解決方案。雖言Spring,卻不侷限於Spring,本書向讀者展示了更寬廣的軟件開發的世界!
下載地址:http://download.csdn.net/detail/ws2014/7116343
3、軟件開發過程
一、《UML精粹》
做者:福勒 編著
簡介:《UML精粹:標準對象建模語言簡明指南(第3版)》在緊迫的時間壓力下,程序員很難經過緊跟技術創新的腳步來享受軟件工程領域的最新成果。正因如此,殿堂級大師Martin Fowler這本旨在幫助專業人士提高效率的圖書一問世,當即給軟件工程社區帶來巨大震撼。其前兩版經年暢銷,因行文精煉天然、看法透徹而廣受稱讚。被譽爲以軟件設計爲生者必備資料的第3版,更是帶來有效面向對象設計的最佳思想及愈發便利的教學體例,引進交互概述圖、時間圖、組合結構等新圖型,對類圖、順序圖、狀態圖、活動圖等也有較多更新。
下載地址:http://download.csdn.net/detail/cc850107/504557
二、《敏捷建模》
簡介:AM(敏捷建模)是一種態度,而不是一個說明性的過程。AM是敏捷建模者們堅持的價值觀、敏捷建模者們相信的原則、敏捷建模者們應用的實踐組成的集合。 AM描述了一種建模的風格。當它應用於敏捷的環境中時,可以提升開發的質量和速度,同時可以避免過分簡化和不切實際的指望。 AM可不是開發的「食譜」,若是你尋覓的是一些細節的指導,如創建UML順序圖或是畫出用戶界面流圖,你能夠看看在建模Artifacts中列出的許多建模書籍,我特別推薦個人書The Object Primer 2/e(儘管這有失公允)。
下載地址:http://vdisk.weibo.com/s/BJAM21Y1lx4fQ
4、總結
在編程語言的世界裏,每一種語言都有屬於本身的特性,不管是Java,或者是其餘的語言,都是一種人與機器溝通的媒介,但願你們熱愛編程,快樂編程。一位偉大的程序員說過:代碼改變世界!但願咱們你們爲創建一個更好地世界貢獻出屬於一份本身的代碼!謝謝。