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