瘋狂Java程序員的基本修養(yǎng)

出版時(shí)間:2013-1  出版社:電子工業(yè)出版社  作者:李剛  頁(yè)數(shù):484  
Tag標(biāo)簽:無(wú)  

前言

  前言  Java語(yǔ)言擁有的開(kāi)發(fā)人群越來(lái)越大了,大量程序員已經(jīng)進(jìn)入或正打算進(jìn)入Java編程領(lǐng)域。這當(dāng)然和Java語(yǔ)言本身的優(yōu)秀不無(wú)關(guān)系,卻也和Java編程入門(mén)簡(jiǎn)單有關(guān)。一個(gè)毫無(wú)編程基礎(chǔ)的初學(xué)者,只要有點(diǎn)數(shù)據(jù)庫(kù)和SQL基礎(chǔ),大概花不到一個(gè)月時(shí)間就可以學(xué)會(huì)編寫(xiě)JSP頁(yè)面,說(shuō)不定就可以找到一份Java編程的工作了。如果他肯再多下點(diǎn)功夫,學(xué)習(xí)一下編寫(xiě)Struts Action類(lèi)、配置Action,編寫(xiě)Spring Bean類(lèi)、配置Bean,他甚至可能自我感覺(jué)很不錯(cuò)了?! ?wèn)題是:這種“快餐式”的程序員、“突擊式”的程序員真的滿(mǎn)足要求嗎?如果僅僅滿(mǎn)足于這些簡(jiǎn)單的、重復(fù)式開(kāi)發(fā),他們也許沒(méi)有太多的問(wèn)題,但他們可能很少有突破的機(jī)會(huì)。究其根本原因,很大程度上是因?yàn)樗麄兊幕拘摒B(yǎng)不夠扎實(shí)。對(duì)他們而言,與其說(shuō)Java是一種面向?qū)ο蟮恼Z(yǔ)言,不如說(shuō)更像一種腳本;他們從源代碼層次來(lái)看程序運(yùn)行(甚至只會(huì)從Eclipse等集成開(kāi)發(fā)環(huán)境中看程序運(yùn)行),完全無(wú)法從底層內(nèi)存分配的角度來(lái)看程序運(yùn)行;他們天天在用Java類(lèi)庫(kù)、用Struts、用Spring,但對(duì)這些東西的實(shí)現(xiàn)知之甚少--這又如何突破自己、獲得更好的提高呢?  鑒于此種現(xiàn)狀,“瘋狂軟件教育中心”訓(xùn)練過(guò)程中除了采用大量的實(shí)際項(xiàng)目來(lái)驅(qū)動(dòng)教學(xué)之外,往往會(huì)花時(shí)間、精力來(lái)培養(yǎng)學(xué)員的基本修養(yǎng)。比如講授Spring框架,如果只關(guān)注編寫(xiě)B(tài)ean類(lèi)、配置Bean,一天就足夠了。而筆者往往會(huì)深入Spring框架的底層實(shí)現(xiàn),帶領(lǐng)學(xué)生從工廠(chǎng)模式、策略模式、門(mén)面模式、代理模式、命令模式的角度來(lái)深度分析Spring框架實(shí)現(xiàn),然后進(jìn)行對(duì)比,總結(jié)Spring框架的優(yōu)勢(shì)到底在哪里?不使用Spring框架是否有替換解決方案?進(jìn)而感受設(shè)計(jì)模式對(duì)實(shí)際開(kāi)發(fā)的幫助?! ∩厦孢@些內(nèi)容,看似“高深”,但其實(shí)質(zhì)依然離不開(kāi)Java編程的基本功。完全可以這樣說(shuō):一旦讀者真正把基本功打扎實(shí)了,將可以看得更高、更透徹?! ≡谶@樣的背景下,筆者想將自己多年的一些經(jīng)驗(yàn)、總結(jié)通過(guò)本書(shū)與大家分享,希望把自己多年積累的經(jīng)驗(yàn)、心得表達(dá)出來(lái);把自己走過(guò)的彎路“標(biāo)”出來(lái),讓后來(lái)者盡量少走彎路?! ”緯?shū)內(nèi)容  本書(shū)第一部分主要介紹Java內(nèi)存管理相關(guān)方面的知識(shí),內(nèi)存管理既是Java程序員容易忽視的地方,又是Java編程的重點(diǎn)。實(shí)際上,許多有一定編程經(jīng)驗(yàn)的Java開(kāi)發(fā)者,自然而然就會(huì)關(guān)心垃圾回收、內(nèi)存管理、性能優(yōu)化相關(guān)內(nèi)容。無(wú)論學(xué)習(xí)哪種語(yǔ)言,如果能真正從程序運(yùn)行的底層機(jī)制、內(nèi)存分配細(xì)節(jié)、內(nèi)存回收細(xì)節(jié)把握程序執(zhí)行過(guò)程,這樣才能有豁然開(kāi)朗的感覺(jué),本書(shū)第一部分正是旨在幫助大家更好地掌握J(rèn)ava內(nèi)存管理相關(guān)知識(shí)。  本書(shū)第三部分所介紹的常見(jiàn)數(shù)據(jù)結(jié)構(gòu)、排序算法的Java實(shí)現(xiàn),則是筆者一直想介紹的內(nèi)容--也許你初涉編程時(shí)感受不到這些經(jīng)典算法的用途,因?yàn)槟憧梢灾苯永脛e人的實(shí)現(xiàn);但如果你希望突破自己,上升到另外一個(gè)高度時(shí),你就不可避免地需要自己開(kāi)發(fā)類(lèi)庫(kù),而不是總使用別人的類(lèi)庫(kù),那這些經(jīng)典算法的作用就顯現(xiàn)出來(lái)了?! ”緯?shū)第二部分和第四部分則主要來(lái)自于參加“瘋狂軟件教育中心”的學(xué)生,正如每個(gè)動(dòng)手編程的初學(xué)者,他們都曾經(jīng)遭遇過(guò)各種各樣的陷阱,筆者總是提醒他們應(yīng)該將這些陷阱收集起來(lái),以免再次陷進(jìn)去。本書(shū)第二部分收集了Java編程中各種常見(jiàn)的陷阱;第四部分的內(nèi)容則解決了他們進(jìn)入實(shí)際開(kāi)發(fā)之前的困擾,包括程序開(kāi)發(fā)的基本方法,有效進(jìn)行程序調(diào)試的方法,如何看待、使用IDE工具,軟件測(cè)試等相關(guān)內(nèi)容?! ”緯?shū)源代碼的下載地址為:http://www.broadview.com.cn/19232?! ”緯?shū)寫(xiě)給誰(shuí)看  如果你想從零開(kāi)始學(xué)習(xí)Java編程,本書(shū)不適合你。如果你已經(jīng)學(xué)會(huì)了Java基本語(yǔ)法,動(dòng)手編程卻感到困難重重,或者你已經(jīng)是一個(gè)Java程序員了,實(shí)際開(kāi)發(fā)中卻感覺(jué)力不從心,本書(shū)將非常適合你。本書(shū)會(huì)幫助你找出自己的技術(shù)短板,提升Java編程的基本修養(yǎng)。

內(nèi)容概要

  《瘋狂 Java 程序員的基本修養(yǎng)》歸納了Java學(xué)習(xí)者、工作者在學(xué)習(xí)、工作過(guò)程中最欠缺的技術(shù)短板,本書(shū)把Java編程中的重點(diǎn)、要點(diǎn)、難點(diǎn)、常見(jiàn)陷阱收集在一起,旨在幫助讀者重點(diǎn)突破這些看似"司空見(jiàn)慣"的基本功?! ”緯?shū)知識(shí)主要分為四個(gè)部分,第一部分主要介紹Java程序的內(nèi)存管理,這部分是大多Java程序員最容易忽略的地方--因?yàn)镴ava不像C,而且Java提供了垃圾回收機(jī)制,因此導(dǎo)致許多Java程序員對(duì)內(nèi)存管理重視不夠;第二部分主要介紹了Java編程過(guò)程中各種常見(jiàn)的陷阱,這些陷阱有些來(lái)自于李剛老師早年痛苦的經(jīng)歷,有些來(lái)自于他的眾多學(xué)子的痛苦經(jīng)歷,都是Java程序員在編程過(guò)程中的"前車(chē)之鑒",希望讀者能引以為戒;第三部分主要介紹常用數(shù)據(jù)結(jié)構(gòu)的Java實(shí)現(xiàn),這部分內(nèi)容也是大多Java程序員重視不夠的地方--因?yàn)樵S多初級(jí)程序

作者簡(jiǎn)介

李剛,從事10多年的Java EE應(yīng)用開(kāi)發(fā),現(xiàn)任瘋狂軟件教育中心教學(xué)總監(jiān)。    瘋狂Java實(shí)訓(xùn)營(yíng)創(chuàng)始人,瘋狂Java體系圖書(shū)作者。曾任LITEON公司J2EE技術(shù)主管,負(fù)責(zé)該公司的企業(yè)信息化平臺(tái)的架構(gòu)設(shè)計(jì)。    51CTO專(zhuān)家門(mén)診特邀嘉賓。    曾任廣州電信、廣東龍泉科技等公司的技術(shù)培訓(xùn)導(dǎo)師,廣東技術(shù)師范學(xué)院計(jì)算機(jī)科學(xué)系的兼職副教授。    培訓(xùn)的學(xué)生已在華為、IBM、阿里軟件、網(wǎng)易、電信盈科等名企就職。    國(guó)內(nèi)著名高端IT技術(shù)作家,已出版《瘋狂Java講義》、《瘋狂Android講義》、《輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)》、《瘋狂Ajax講義》、《瘋狂XML講義》、《經(jīng)典Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)》、《瘋狂HTML 5/CSS 3/JavaScript講義》、《Struts 2.x權(quán)威指南》等著作。其中瘋狂Java體系圖書(shū)均已得到廣泛的市場(chǎng)認(rèn)同,多次重印成為超級(jí)暢銷(xiāo)書(shū),并被多所“985”“211”院校選作教材。部分圖書(shū)已被翻譯成繁體中文版、授權(quán)到臺(tái)灣地區(qū)。

書(shū)籍目錄

第1章  數(shù)組及其內(nèi)存管理 11.1  數(shù)組初始化 21.1.1  Java數(shù)組是靜態(tài)的 21.1.2  數(shù)組一定要初始化嗎 51.1.3  基本類(lèi)型數(shù)組的初始化 71.1.4  引用類(lèi)型數(shù)組的初始化 91.2  使用數(shù)組 121.2.1  數(shù)組元素就是變量 121.2.2  沒(méi)有多維數(shù)組 141.3  本章小結(jié) 20第2章  對(duì)象及其內(nèi)存管理 212.1  實(shí)例變量和類(lèi)變量 222.1.1  實(shí)例變量和類(lèi)變量的屬性 232.1.2  實(shí)例變量的初始化時(shí)機(jī) 262.1.3  類(lèi)變量的初始化時(shí)機(jī) 302.2  父類(lèi)構(gòu)造器 322.2.1  隱式調(diào)用和顯式調(diào)用 322.2.2  訪(fǎng)問(wèn)子類(lèi)對(duì)象的實(shí)例變量 342.2.3  調(diào)用被子類(lèi)重寫(xiě)的方法 372.3  父子實(shí)例的內(nèi)存控制 392.3.1  繼承成員變量和繼承方法的區(qū)別 392.3.2  內(nèi)存中子類(lèi)實(shí)例 422.3.3  父、子類(lèi)的類(lèi)變量 472.4  final修飾符 482.4.1  final修飾的變量 482.4.2  執(zhí)行“宏替換”的變量 532.4.3  final方法不能被重寫(xiě) 572.4.4  內(nèi)部類(lèi)中的局部變量 592.5  本章小結(jié) 62第3章  常見(jiàn)Java集合的實(shí)現(xiàn)細(xì)節(jié) 633.1  Set和Map 643.1.1  Set和Map的關(guān)系 643.1.2  HashMap和HashSet 693.1.3  TreeMap和TreeSet 793.2  Map和List 853.2.1  Map的values()方法 853.2.2  Map和List的關(guān)系 913.3  ArrayList和LinkedList 923.3.1  Vector和ArrayList的區(qū)別 943.3.2  ArrayList和LinkedList的實(shí)現(xiàn)差異 973.3.3  ArrayList和LinkedList的性能分析及適用場(chǎng)景 1013.4  Iterator迭代器 1013.4.1  Iterator實(shí)現(xiàn)類(lèi)與迭代器模式 1023.4.2  迭代時(shí)刪除指定元素 1033.5  本章小結(jié) 106第4章  Java的內(nèi)存回收 1074.1  Java引用的種類(lèi) 1084.1.1  對(duì)象在內(nèi)存中的狀態(tài) 1084.1.2  強(qiáng)引用 1114.1.3  軟引用 1114.1.4  弱引用 1144.1.5  虛引用 1184.2  Java的內(nèi)存泄漏 1194.3  垃圾回收機(jī)制 1234.3.1  垃圾回收的基本算法 1234.3.2  堆內(nèi)存的分代回收 1254.3.3  與垃圾回收相關(guān)的附加選項(xiàng) 1274.3.4  常見(jiàn)的垃圾回收器 1274.4  內(nèi)存管理小技巧 1314.4.1  盡量使用直接量 1324.4.2  使用StringBuilder和StringBuffer進(jìn)行字符串連接 1324.4.3  盡早釋放無(wú)用對(duì)象的引用 1324.4.4  盡量少用靜態(tài)變量 1334.4.5  避免在經(jīng)常調(diào)用的方法、循環(huán)中創(chuàng)建Java對(duì)象 1334.4.6  緩存經(jīng)常使用的對(duì)象 1344.4.7  盡量不要使用finalize方法 1344.4.8  考慮使用SoftReference 1354.5  本章小結(jié) 135第5章  表達(dá)式中的陷阱 1365.1  關(guān)于字符串的陷阱 1375.1.1  JVM對(duì)字符串的處理 1375.1.2  不可變的字符串 1405.1.3  字符串比較 1425.2  表達(dá)式類(lèi)型的陷阱 1445.2.1  表達(dá)式類(lèi)型的自動(dòng)提升 1445.2.2  復(fù)合賦值運(yùn)算符的陷阱 1455.2.3  Java 7新增的二進(jìn)制整數(shù) 1475.3  輸入法導(dǎo)致的陷阱 1485.4  注釋字符必須合法 1495.5  轉(zhuǎn)義字符的陷阱 1495.5.1  慎用字符的Unicode轉(zhuǎn)義形式 1495.5.2  中止行注釋的轉(zhuǎn)義字符 1505.6  泛型可能引起的錯(cuò)誤 1515.6.1  原始類(lèi)型變量的賦值 1515.6.2  原始類(lèi)型帶來(lái)的擦除 1535.6.3  創(chuàng)建泛型數(shù)組的陷阱 1555.7  正則表達(dá)式的陷阱 1575.8  多線(xiàn)程的陷阱 1585.8.1  不要調(diào)用run方法 1585.8.2  靜態(tài)的同步方法 1605.8.3  靜態(tài)初始化塊啟動(dòng)新線(xiàn)程執(zhí)行初始化 1625.8.4  注意多線(xiàn)程執(zhí)行環(huán)境 1675.9  本章小結(jié) 171第6章  流程控制的陷阱 1726.1  switch語(yǔ)句陷阱 1736.1.1  default分支永遠(yuǎn)會(huì)執(zhí)行嗎 1736.1.2  break的重要性 1746.1.3  Java 7增強(qiáng)的switch表達(dá)式 1766.2  標(biāo)簽引起的陷阱 1776.3  if語(yǔ)句的陷阱 1786.3.1  else隱含的條件 1786.3.2  小心空語(yǔ)句 1816.4  循環(huán)體的花括號(hào) 1826.4.1  什么時(shí)候可以省略花括號(hào) 1826.4.2  省略花括號(hào)的危險(xiǎn) 1836.5  for循環(huán)的陷阱 1856.5.1  分號(hào)惹的禍 1856.5.2  小心循環(huán)計(jì)數(shù)器的值 1886.5.3  浮點(diǎn)數(shù)作循環(huán)計(jì)數(shù)器 1886.6  foreach循環(huán)的循環(huán)計(jì)數(shù)器 1906.7  本章小結(jié) 192第7章  面向?qū)ο蟮南葳?1937.1  instanceof運(yùn)算符的陷阱 1947.2  構(gòu)造器的陷阱 1987.2.1  構(gòu)造器之前的void 1987.2.2  構(gòu)造器創(chuàng)建對(duì)象嗎 1997.2.3  無(wú)限遞歸的構(gòu)造器 2037.3  持有當(dāng)前類(lèi)的實(shí)例 2057.4  到底調(diào)用哪個(gè)重載的方法 2067.5  方法重寫(xiě)的陷阱 2097.5.1  重寫(xiě)private方法 2097.5.2  重寫(xiě)其他訪(fǎng)問(wèn)權(quán)限的方法 2107.6  非靜態(tài)內(nèi)部類(lèi)的陷阱 2117.6.1  非靜態(tài)內(nèi)部類(lèi)的構(gòu)造器 2117.6.2  非靜態(tài)內(nèi)部類(lèi)不能擁有靜態(tài)成員 2137.6.3  非靜態(tài)內(nèi)部類(lèi)的子類(lèi) 2147.7  static關(guān)鍵字 2157.7.1  靜態(tài)方法屬于類(lèi) 2157.7.2  靜態(tài)內(nèi)部類(lèi)的限制 2177.8  native方法的陷阱 2177.9  本章小結(jié) 219第8章  異常處理的陷阱 2208.1  正確關(guān)閉資源的方式 2218.1.1  傳統(tǒng)關(guān)閉資源的方式 2218.1.2  使用Java 7增強(qiáng)的try語(yǔ)句關(guān)閉資源 2248.2  finally塊的陷阱 2268.2.1  finally的執(zhí)行規(guī)則 2268.2.2  finally塊和方法返回值 2278.3  catch塊的用法 2298.3.1  catch塊的順序 2298.3.2  不要用catch代替流程控制 2318.3.3  只有catch可能拋出的異常 2328.3.4  做點(diǎn)實(shí)際的修復(fù) 2358.4  繼承得到的異常 2378.5  Java 7增強(qiáng)的throw語(yǔ)句 2388.6  本章小結(jié) 240第9章  線(xiàn)性表 2419.1  線(xiàn)性表概述 2429.1.1  線(xiàn)性表的定義及邏輯結(jié)構(gòu) 2429.1.2  線(xiàn)性表的基本操作 2439.2  順序存儲(chǔ)結(jié)構(gòu) 2439.3  鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu) 2489.3.1  單鏈表上的基本運(yùn)算 2499.3.2  循環(huán)鏈表 2559.3.3  雙向鏈表 2569.4  線(xiàn)性表的分析 2629.4.1  線(xiàn)性表的實(shí)現(xiàn)分析 2629.4.2  線(xiàn)性表的功能 2639.5  本章小結(jié) 264第10章  棧和隊(duì)列 26510.1  棧 26610.1.1  棧的基本定義 26610.1.2  棧的常用操作 26710.1.3  棧的順序存儲(chǔ)結(jié)構(gòu)及實(shí)現(xiàn) 26710.1.4  棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)及實(shí)現(xiàn) 27210.1.5  Java集合中的棧 27510.2  隊(duì)列 27510.2.1  隊(duì)列的基本定義 27510.2.2  隊(duì)列的常用操作 27610.2.3  隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)及實(shí)現(xiàn) 27610.2.4  循環(huán)隊(duì)列 28010.2.5  隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)及實(shí)現(xiàn) 28410.2.6  Java集合中的隊(duì)列 28710.3  雙端隊(duì)列 28810.4  本章小結(jié) 289第11章  樹(shù)和二叉樹(shù) 29011.1  樹(shù)的概述 29111.1.1  樹(shù)的定義和基本術(shù)語(yǔ) 29111.1.2  樹(shù)的基本操作 29211.1.3  父節(jié)點(diǎn)表示法 29311.1.4  子節(jié)點(diǎn)鏈表示法 29611.2  二叉樹(shù) 30111.2.1  二叉樹(shù)的定義和基本概念 30111.2.2  二叉樹(shù)的基本操作 30211.2.3  二叉樹(shù)的順序存儲(chǔ) 30311.2.4  二叉樹(shù)的二叉鏈表存儲(chǔ) 30611.2.5  二叉樹(shù)的三叉鏈表存儲(chǔ) 31011.3  遍歷二叉樹(shù) 31311.3.1  先序遍歷 31411.3.2  中序遍歷 31411.3.3  后序遍歷 31511.3.4  廣度優(yōu)先(按層)遍歷 31611.4  轉(zhuǎn)換方法 31611.4.1  森林、樹(shù)和二叉樹(shù)的轉(zhuǎn)換 31711.4.2  樹(shù)的鏈表存儲(chǔ) 31811.5  哈夫曼樹(shù) 31811.5.1  哈夫曼樹(shù)的定義和基本概念 31911.5.2  創(chuàng)建哈夫曼樹(shù) 31911.5.3  哈夫曼編碼 32211.6  排序二叉樹(shù) 32311.7  紅黑樹(shù) 33111.7.1  插入操作 33211.7.2  刪除操作 33511.8  本章小結(jié) 344第12章  常用的內(nèi)部排序 34512.1  排序的基本概念 34612.1.1  排序概述 34612.1.2  內(nèi)部排序的分類(lèi) 34712.2  選擇排序法 34712.2.1  直接選擇排序 34712.2.2  堆排序 35112.3  交換排序 35612.3.1  冒泡排序 35612.3.2  快速排序 35812.4  插入排序 36012.4.1  直接插入排序 36012.4.2  折半插入排序 36212.4.3  Shell排序 36412.5  歸并排序 36712.6  桶式排序 37012.7  基數(shù)排序 37212.8  本章小結(jié) 375第13章  程序開(kāi)發(fā)經(jīng)驗(yàn)談 37613.1  扎實(shí)的基本功 37713.1.1  快速的輸入能力 37713.1.2  編程實(shí)現(xiàn)能力 37913.1.3  快速排錯(cuò) 37913.2  程序開(kāi)發(fā)之前 38013.2.1  分析軟件的組件模型 38013.2.2  建立軟件的數(shù)據(jù)模型 38313.3  理清程序的實(shí)現(xiàn)流程 38413.3.1  各組件如何通信 38413.3.2  人機(jī)交互的實(shí)現(xiàn) 38613.3.3  復(fù)雜算法的分析 38813.4  編寫(xiě)開(kāi)發(fā)文檔 39113.4.1  繪制建模圖、流程圖 39113.4.2  提供簡(jiǎn)要說(shuō)明 39313.4.3  編寫(xiě)偽碼實(shí)現(xiàn) 39313.5  編碼實(shí)現(xiàn)和開(kāi)發(fā)心態(tài) 39413.5.1  開(kāi)發(fā)是復(fù)雜的 39413.5.2  開(kāi)發(fā)過(guò)程是漫長(zhǎng)的 39413.6  本章小結(jié) 395第14章  程序調(diào)試經(jīng)驗(yàn)談 39614.1  程序的可調(diào)試性 39714.1.1  增加注釋 39714.1.2  使用log 39714.2  程序調(diào)試的基本方法 40514.2.1  借助編譯器的代碼審查 40514.2.2  跟蹤程序執(zhí)行流程 40814.2.3  斷點(diǎn)調(diào)試 40914.2.4  隔離調(diào)試 41114.2.5  錯(cuò)誤重現(xiàn) 41214.3  記錄常見(jiàn)錯(cuò)誤 41414.3.1  常見(jiàn)異??赡艿腻e(cuò)誤原因 41414.3.2  常見(jiàn)運(yùn)行時(shí)異常可能的錯(cuò)誤原因 41614.4  程序調(diào)試的整體思路 41714.4.1  分段調(diào)試 41814.4.2  分模塊調(diào)試 41914.5  調(diào)試心態(tài) 41914.5.1  誰(shuí)都會(huì)出錯(cuò) 42014.5.2  調(diào)試比寫(xiě)程序更費(fèi)時(shí) 42014.6  本章小結(jié) 420第15章  IDE工具心法談 42115.1  何時(shí)開(kāi)始利用IDE工具 42215.2  IDE工具概述 42315.2.1  IDE工具的基本功能 42415.2.2  常見(jiàn)的Java IDE工具 42515.3  項(xiàng)目管理 42815.3.1  建立項(xiàng)目 42815.3.2  自動(dòng)編譯 43415.3.3  自動(dòng)部署、運(yùn)行 43515.4  代碼管理 43615.4.1  向?qū)降拇a生成 43615.4.2  代碼生成器 43815.4.3  代碼提示 43915.4.4  自動(dòng)代碼補(bǔ)齊 44115.4.5  實(shí)時(shí)錯(cuò)誤提示 44115.5  項(xiàng)目調(diào)試 44215.5.1  設(shè)置斷點(diǎn) 44215.5.2  單步調(diào)試 44415.5.3  步入、步出 44515.6  團(tuán)隊(duì)協(xié)作功能 44615.7  本章小結(jié) 450第16章  軟件測(cè)試經(jīng)驗(yàn)談 45116.1  軟件測(cè)試概述 45216.1.1  軟件測(cè)試的概念和目的 45216.1.2  軟件測(cè)試的分類(lèi) 45416.1.3  開(kāi)發(fā)活動(dòng)和測(cè)試活動(dòng) 45416.1.4  常見(jiàn)的Bug管理工具 45516.2  單元測(cè)試 45616.2.1  單元測(cè)試概述 45616.2.2  單元測(cè)試的邏輯覆蓋 45816.2.3  JUnit介紹 46116.2.4  JUnit的用法 46116.3  系統(tǒng)測(cè)試和自動(dòng)化測(cè)試 46716.3.1  系統(tǒng)測(cè)試概述 46716.3.2  自動(dòng)化測(cè)試 46816.3.3  常見(jiàn)的自動(dòng)化測(cè)試工具 46916.4  性能測(cè)試 47016.4.1  性能測(cè)試概述 47016.4.2  性能測(cè)試的相關(guān)概念 47116.4.3  常見(jiàn)的性能測(cè)試工具 47216.5  本章小結(jié) 472

編輯推薦

李剛編著的《瘋狂Java程序員的基本修養(yǎng)》第一部分主要介紹Java內(nèi)存管理相關(guān)方面的知識(shí),內(nèi)存管理既是Java程序員容易忽視的地方,又是Java編程的重點(diǎn)。    本書(shū)第三部分所介紹的常見(jiàn)數(shù)據(jù)結(jié)構(gòu)、排序算法的Java實(shí)現(xiàn),則是筆者一直想介紹的內(nèi)容——也許你初涉編程時(shí)感受不到這些經(jīng)典算法的用途,因?yàn)槟憧梢灾苯永脛e人的實(shí)現(xiàn);但如果你希望突破自己,上升到另外一個(gè)高度時(shí),你就不可避免地需要自己開(kāi)發(fā)類(lèi)庫(kù),而不是總使用別人的類(lèi)庫(kù),那這些經(jīng)典算法的作用就顯現(xiàn)出來(lái)了。    本書(shū)第二部分收集了Java編程中各種常見(jiàn)的陷阱;第四部分的內(nèi)容則解決了他們進(jìn)入實(shí)際開(kāi)發(fā)之前的困擾,包括程序開(kāi)發(fā)的基本方法,有效進(jìn)行程序調(diào)試的方法,如何看待、使用IDE工具,軟件測(cè)試等相關(guān)內(nèi)容。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    瘋狂Java程序員的基本修養(yǎng) PDF格式下載


用戶(hù)評(píng)論 (總計(jì)15條)

 
 

  •   適合有一定基礎(chǔ)的開(kāi)發(fā)人員,也可以作為求職的工具書(shū),寫(xiě)的很不錯(cuò),看完有種茅塞頓開(kāi)的趕腳
  •   書(shū)籍比較不錯(cuò),值得看,但還沒(méi)有達(dá)到期望值
  •   書(shū)的質(zhì)量很不錯(cuò),內(nèi)容也挺好的,很多平常不太注意的地方都有羅列出來(lái),做了很好的總結(jié)
  •   里面講的例子非常簡(jiǎn)單,很適合初學(xué)者,對(duì)我來(lái)說(shuō)貌似有點(diǎn)坑爹了....
  •   很多細(xì)節(jié),在工作中都遇到過(guò)。由于工作目的不一,有時(shí)候也沒(méi)有太多時(shí)間去挖得很深。很多在這本書(shū)都有涉及。文字描述很明顯都是作者認(rèn)真思考很整理過(guò)的,遠(yuǎn)比很多所謂的權(quán)威教材要更易懂。
  •   很不錯(cuò)的書(shū),值得典藏,呵呵
  •   講解細(xì)致,描述了程序猿的盲區(qū)
  •   與李剛老師的另外一本書(shū)內(nèi)容有重復(fù),不過(guò)講的挺好的,推薦有一定基礎(chǔ)的JAVA程序員閱讀
  •   內(nèi)功心法類(lèi)型的書(shū)籍
  •   還行吧..........
  •   Java程序員值得一看
  •   一本包含所有技術(shù)細(xì)節(jié)的手冊(cè)
  •   瘋狂 Java 程序員的基本修養(yǎng)
  •   非常適合Java開(kāi)發(fā)人員
  •   書(shū)很好啊,有1/3對(duì)我有用已經(jīng)很不錯(cuò)了
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7