瘋狂Java

出版時(shí)間:2010-5  出版社:人民郵電出版社  作者:李剛  頁(yè)數(shù):454  字?jǐn)?shù):670000  
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語(yǔ)言入門簡(jiǎn)單有關(guān)。一個(gè)毫無(wú)編程基礎(chǔ)的初學(xué)者,只要有點(diǎn)數(shù)據(jù)庫(kù)和SOL的基礎(chǔ),大概花不到一個(gè)月時(shí)間就可以學(xué)會(huì)編寫.ISP頁(yè)面,說(shuō)不定這樣就可以找到一份Java編程的工作了。如果他肯再多下點(diǎn)功夫,學(xué)習(xí)一下編寫Struts Action類、配置Action,編寫Spring:Bean類和配置Bean,他甚至可以自我感覺(jué)很不錯(cuò)了。  問(wèn)題是:這種“快餐式”、“突擊式”的程序員真的能滿足要求嗎?如果僅僅滿足于這些簡(jiǎn)單的、重復(fù)式的開(kāi)發(fā),他們也許沒(méi)有太多的問(wèn)題,但他們可能很少有突破的機(jī)會(huì)。究其根本原因,很大程度上是因?yàn)樗麄兊幕竟Σ粔蛟鷮?shí)。對(duì)他們而言,與其說(shuō)Java是一種面向?qū)ο蟮恼Z(yǔ)言,不如說(shuō)更像一種腳本;他們從源代碼層次來(lái)看程序運(yùn)行(甚至只會(huì)從Ecli:pse等集成開(kāi)發(fā)環(huán)境中看程序運(yùn)行),完全無(wú)法從底層內(nèi)存分配的角度來(lái)看程序運(yùn)行;他們天天在用.Java類庫(kù)、用Struts、用Spring,但對(duì)這些東西的實(shí)現(xiàn)卻知之甚少——這又如何突破自己、獲得更好的提高呢?  鑒于此種現(xiàn)狀,筆者在“瘋狂Java實(shí)訓(xùn)營(yíng)”的訓(xùn)練中,除了采用大量實(shí)際項(xiàng)目來(lái)驅(qū)動(dòng)教學(xué)之外,往往會(huì)花很多時(shí)間、精力來(lái)培養(yǎng)學(xué)員的基本功。比如講授Spring框架時(shí),如果只關(guān)注如何編寫B(tài)ean類、配置Bean,那么一天的時(shí)間就足夠了。而筆者往往會(huì)深入Spring框架的底層實(shí)現(xiàn),帶領(lǐng)學(xué)生從工廠模式、策略模式、門面模式、代理模式、命令模式的角度來(lái)深度分析Spring框架實(shí)現(xiàn),然后進(jìn)行對(duì)比,總結(jié)Spring框架的優(yōu)勢(shì)到底在哪里?不使用Spring框架是否有替換解決方案?從而感受設(shè)計(jì)模式對(duì)實(shí)際開(kāi)發(fā)的幫助?! ∩厦孢@些內(nèi)容,看似“高深”,但其實(shí)質(zhì)依然離不開(kāi)Java編程的基本功。也可以這樣說(shuō):一旦讀者真正把基本功打扎實(shí)了,將可以看得更高、更透徹?! ≡谶@樣的背景下,偶然之間我獲得了這樣一個(gè)想法:把這些容易被Java程序員所忽視的內(nèi)容整理成一本書,也許可以幫助這些需要突破基本功的準(zhǔn)程序員、初級(jí)程序員。本書的寫法對(duì)筆者來(lái)說(shuō),是一種新的嘗試:筆者以前所寫之書,通常都會(huì)圍繞某方面知識(shí)“畫一個(gè)圓”——把這個(gè)方面的相關(guān)知識(shí),全面、詳細(xì)地向讀者介紹出來(lái)。本書并沒(méi)有采用這種寫法,本書的每課圍繞一個(gè)相對(duì)獨(dú)立的專題進(jìn)行講解,形式上有點(diǎn)類似于“針對(duì)性地補(bǔ)課”。當(dāng)讀者感覺(jué)自己在某些方面的基本功不夠扎實(shí)時(shí),可以直接選擇相應(yīng)的內(nèi)容進(jìn)行學(xué)習(xí),完全無(wú)須從頭到尾地按順序閱讀。

內(nèi)容概要

  本書是著名Java領(lǐng)域研究專家、Java語(yǔ)言培訓(xùn)大師、“瘋狂Java”創(chuàng)始人李剛老師的又一傾心力作?! ≡诒緯?,李剛老師一改枯燥的教學(xué)方式,專門面向Java初學(xué)者可能會(huì)遇到的各種學(xué)習(xí)問(wèn)題,由點(diǎn)及面,詳細(xì)討論了Java內(nèi)存管理、Java編程過(guò)程中常遇陷阱、常用數(shù)據(jù)結(jié)構(gòu)的Java實(shí)現(xiàn)和Java程序開(kāi)發(fā)的方法與經(jīng)驗(yàn)等內(nèi)容。  這些問(wèn)題,看似“司空見(jiàn)慣”,實(shí)際上卻是很多Java初學(xué)者在初學(xué)階段都會(huì)遇到的問(wèn)題和疑難。李剛老師在本書中,正是試圖為讀者們展現(xiàn)出這些疑點(diǎn)、難點(diǎn)的實(shí)質(zhì),讓讀者能在瞬息之間,徹底掌握住這門語(yǔ)言的“內(nèi)功心法”。  這不是一本包容了所有技術(shù)細(xì)節(jié)的手冊(cè),而是一本Java前輩對(duì)于晚輩們的提點(diǎn)和教導(dǎo)。書中很多內(nèi)容,是李剛老師和他的眾多學(xué)子曾親身體驗(yàn)過(guò)的桎梏,非常具有參考意義。本書承載了無(wú)數(shù)前輩的諄諄教導(dǎo)之言,向你展示著一個(gè)痛并快樂(lè)著的Java世界。

書籍目錄

第1課 數(shù)組與內(nèi)存控制  1.1 數(shù)組初始化   1.1.1 Java數(shù)組是靜態(tài)的   1.1.2 數(shù)組一定要初始化嗎   1.1.3 基本類型數(shù)組的初始化   1.1.4 引用類型數(shù)組的初始化  1.2 使用數(shù)組   1.2.1 數(shù)組元素就是變量   1.2.2 沒(méi)有多維數(shù)組  1.3 小結(jié) 第2課 對(duì)象與內(nèi)存控制  2.1 實(shí)例變量和類變量   2.1.1 實(shí)例變量和類變量的屬性   2.1.2 實(shí)例變量的初始化時(shí)機(jī)   2.1.3 類變量的初始化時(shí)機(jī)  2.2 父類構(gòu)造器   2.2.1 隱式調(diào)用和顯式調(diào)用   2.2.2 訪問(wèn)子類對(duì)象的實(shí)例變量   2.2.3 調(diào)用被子類重寫的方法  2.3 父子實(shí)例的內(nèi)存控制    2.3.1 繼承成員變量和繼承方法的區(qū)別   2.3.2 內(nèi)存中子類實(shí)例   2.3.3 父、子類的類變量  2.4 final修飾符   2.4.1 final修飾的變量   2.4.2 執(zhí)行“宏替換”的變量   2.4.3 final方法不能被重寫   2.4.4 內(nèi)部類中的局部變量  2.5 小結(jié) 第3課 常見(jiàn)Java集合的實(shí)現(xiàn)細(xì)節(jié)  3.1 Set和Map   3.1.1 Set和Map的關(guān)系   3.1.2 HashMap和HashSet   3.1.3 TreeMap和TreeSet  3.2 Map和List   3.2.1 Map的values()方法   3.2.2 Map和List的關(guān)系  3.3 ArrayList和LinkedList   3.3.1 Vector和ArrayList的區(qū)別   3.3.2 ArrayList和LinkedList的實(shí)現(xiàn)差異   3.3.3 ArrayList和LinkedList的性能分析和適用場(chǎng)景  3.4 Iterator迭代器  3.5 小結(jié) 第4課 Java的內(nèi)存回收  4.1 Java引用的種類   4.1.1 對(duì)象在內(nèi)存中狀態(tài)   4.1.2 強(qiáng)引用   4.1.3 軟引用   4.1.4 弱引用   4.1.5 虛引用  4.2 Java的內(nèi)存泄漏  4.3 垃圾回收機(jī)制   4.3.1 垃圾回收的基本算法   4.3.2 堆內(nèi)存的分代回收   4.3.3 與垃圾回收的附加選項(xiàng)   4.3.4 常見(jiàn)垃圾回收器  4.4 內(nèi)存管理的小技巧   4.4.1 盡量使用直接量   4.4.2 使用StringBuilder和StringBuffer進(jìn)行字符串連接   4.4.3 盡早釋放無(wú)用對(duì)象的引用   4.4.4 盡量少用靜態(tài)變量   4.4.5 避免在經(jīng)常調(diào)用的方法、循環(huán)中創(chuàng)建Java對(duì)象   4.4.6 緩存經(jīng)常使用的對(duì)象   4.4.7 盡量不要使用finalize方法   4.4.8 考慮使用SoftReference  4.5 小結(jié) 第5課 表達(dá)式中的陷阱 第6課 流程控制的陷阱 第7課 面向?qū)ο蟮南葳濉〉?課 異常捕捉的陷阱 第9課 線性表 第10課 棧和隊(duì)列 第11課 樹和二叉樹 第12課 常用的內(nèi)部排序 第13課 程序開(kāi)發(fā) 第14課 程序調(diào)試 第15課 使用IDE工具 第16課 軟件測(cè)試 

章節(jié)摘錄

  Java數(shù)組并不是什么很難的知識(shí),如果單從用法的角度來(lái)看,數(shù)組的用法并不難,只是很多程序員雖然一直使用Java數(shù)組,但他們往往對(duì)Java數(shù)組的內(nèi)存分配把握并不準(zhǔn)確。本章正是為了彌補(bǔ)程序員的這部分基本功而做的深入探討?! ”菊n將會(huì)深入探討Java數(shù)組的靜態(tài)特征。使用Java數(shù)組之前必須先對(duì)數(shù)組對(duì)象進(jìn)行初始化。當(dāng)數(shù)組的所有元素都被分配了合適的內(nèi)存空間,并指定了初始值時(shí),數(shù)組初始化完成。程序以后將不能重新改變數(shù)組對(duì)象在內(nèi)存中的位置和大小。從用法角度來(lái)看,數(shù)組元素相當(dāng)于普通變量,程序既可把數(shù)組元素的值賦給普通變量,也可把普通變量的值賦給數(shù)組元素。  本課還將深入分析多維數(shù)組的實(shí)質(zhì),深入講解多維數(shù)組和一維數(shù)組之間的關(guān)聯(lián),并通過(guò)程序示范如何將一維數(shù)組擴(kuò)展成多維數(shù)組?! ?.1數(shù)組初始化  數(shù)組是大多數(shù)編程語(yǔ)言都提供一種的復(fù)合結(jié)構(gòu),如果程序需要多個(gè)類型相同的變量時(shí),就可以考慮定義一個(gè)數(shù)組。Java語(yǔ)言的數(shù)組變量是引用類型的變量,因此具有Java獨(dú)有的特性。  1.1.1 Java數(shù)組是靜態(tài)的  Java語(yǔ)言是典型的靜態(tài)語(yǔ)言,因此Java的數(shù)組是靜態(tài)的,即當(dāng)數(shù)組被初始化之后,該數(shù)組的長(zhǎng)度是不可變的。Java程序中的數(shù)組必須經(jīng)初始化才可使用。所謂初始化,就是為數(shù)組對(duì)象的元素分配內(nèi)存空間,并為每個(gè)數(shù)組元素指定初始值。

媒體關(guān)注與評(píng)論

  李剛老師的著作原汁原味,語(yǔ)言嚴(yán)謹(jǐn)樸實(shí),章節(jié)排列由淺入深,案例代碼可調(diào)試,學(xué)習(xí)成本低,每本著作中融入了作者越來(lái)越多的思想總結(jié),逐漸形成一套瘋狂Java的套路,不論是初學(xué)者還是開(kāi)發(fā)者,都可以借鑒作者的思想和精益求精的態(tài)度?!  W(wǎng)易 李樂(lè)  我曾師從李剛老師,他為人正直,以學(xué)生為本。他循進(jìn)漸進(jìn)、案例詳盡、化抽象為通俗、生動(dòng)靈活的授課方式深受我們喜歡。  ——21CN 袁火青  赴美留學(xué)前曾進(jìn)入李剛老師的瘋狂JaVa實(shí)訓(xùn)營(yíng)進(jìn)行強(qiáng)化學(xué)習(xí)。給我留下最深刻印象的是他對(duì)技術(shù)的極度偏執(zhí)和務(wù)實(shí)、求真的教學(xué)風(fēng)格。三個(gè)多月的強(qiáng)化訓(xùn)練鞏固了我的編程基礎(chǔ),更讓我懂得了作為一個(gè)一線開(kāi)發(fā)人員應(yīng)有的思維方式和對(duì)技術(shù)的執(zhí)著?!  狝ctuate Corporation(NASDAQ:ACTU)臧青  跟李剛老師學(xué)習(xí)的時(shí)候,他對(duì)每個(gè)知識(shí)點(diǎn)都能深入淺出地講解,讓學(xué)生能從原理上掌握并應(yīng)用它們,這一點(diǎn)給我畢業(yè)時(shí)的面試很大幫助。同樣地,李剛老師的書也繼承了這些優(yōu)點(diǎn),書中所有內(nèi)容的組織非常有條理性,可以讓學(xué)習(xí)者容易地理艇核心,從中受益?!  ⒗镘浖?李現(xiàn)杭  我認(rèn)為一本好的計(jì)算機(jī)工具書本來(lái)就不一定要有多么精彩的文筆,或是多么巧妙的構(gòu)思,或是多么獨(dú)到的觀點(diǎn)。我需要的是可以在最短的時(shí)間內(nèi)掌握從沒(méi)有接觸過(guò)的知識(shí),在我遇到問(wèn)題時(shí)能最快地找出解決方法,這些方面李剛老師的書確實(shí)做到了?!  娦庞?陳杰超  李剛老師是“瘋狂Java”的代名詞,他就是一部活字典,不僅能讓你全方位體驗(yàn)Java,他講課的激情更是讓人感受到學(xué)習(xí)的樂(lè)趣與瘋狂,他是我遇到過(guò)最杰出的傳道授業(yè)解惑的名師?!  獏R豐軟件 陳健進(jìn)  李老師善于從學(xué)生所提出的問(wèn)題中發(fā)現(xiàn)相關(guān)知識(shí)點(diǎn),然后利用其豐富的知識(shí)擴(kuò)展學(xué)生的問(wèn)題,引導(dǎo)著學(xué)生面對(duì)問(wèn)題時(shí)舉一反三。李老師的書同樣具有這樣特點(diǎn),總能帶給人簡(jiǎn)單明了的感覺(jué),這是由于他站得更高的緣故?!  獞涥?yáng) 羅文強(qiáng)  李老師的圖書對(duì)知識(shí)點(diǎn)的把握全面透徹、言簡(jiǎn)意賅、深入淺出,所舉的例子易懂且具有典型性,讓人容易舉一反三。給我印象最深的是他授課時(shí)對(duì)EJB的講解,既讓初學(xué)者茅塞頓開(kāi),又讓想深入提高者豁然開(kāi)朗。  ——普信 郭彬

編輯推薦

  你是否在求職時(shí)被鄙視“基本功不扎實(shí)”而萬(wàn)分慚愧?《瘋狂Java:突破程序員基本功的16課》能檢驗(yàn)?zāi)愕幕竟?,并讓你彌補(bǔ)不足?!动偪馢ava:突破程序員基本功的16課》歸納了Java學(xué)習(xí)者、工作者在學(xué)習(xí)、工作過(guò)程中最欠缺的技術(shù)短板。形成內(nèi)存管理、常見(jiàn)的陷阱、數(shù)據(jù)結(jié)構(gòu)、程序調(diào)試、軟件測(cè)試等16堂必須課!你是否深入研究過(guò)它們,是否深入掌握它們?謹(jǐn)以此書獻(xiàn)給打算以編程為職業(yè),并愿意為之瘋狂的人。

圖書封面

圖書標(biāo)簽Tags

無(wú)

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


    瘋狂Java PDF格式下載


用戶評(píng)論 (總計(jì)19條)

 
 

  •   學(xué)習(xí)java忽略了很多東西。這本書深入的講了概念的深層問(wèn)題 值得學(xué)習(xí)。
    但是不知道是不是面試真的都會(huì)考這些細(xì)節(jié)問(wèn)題??
  •   對(duì)于JAVA初學(xué)者,可以鍛煉不錯(cuò)的基本功
  •   因?yàn)橘I的2本j2ee,java都是老沉的大部頭,所以一開(kāi)始對(duì)這本書沒(méi)報(bào)多大希望
    但是沒(méi)想到這本書這么好
    講到了java中很多不為人知的細(xì)節(jié)
    適合反復(fù)閱讀
    感覺(jué)很適合剛畢業(yè)或剛?cè)肼毜呐笥?/li>
  •   這本書非常值得有一定java基礎(chǔ)但是基本功不扎實(shí)的朋友來(lái)閱讀~
  •   建議把JAVA用熟練后再看??!初學(xué)者不推薦?。?!
  •   非常好的一本書,講的很到位,物有所值啊,對(duì)程序員來(lái)說(shuō),是難得的好書,很多東西講的明白透徹,易懂~推薦購(gòu)買,李剛的書一直都很贊
  •   還沒(méi)有看完,不過(guò)李剛的書怎能錯(cuò)過(guò)呢~~~~~~
  •   不錯(cuò),反正我是菜鳥級(jí)別的。看著蠻好的,面試過(guò)幾次,被鄙視了幾次,要好好看看這書了。扎實(shí)基礎(chǔ)
  •   牛書。。。。。
  •   需要反復(fù)多看幾遍
  •   我給同學(xué)買的,他說(shuō)當(dāng)工具書用
  •   內(nèi)容不錯(cuò),對(duì)提高代碼能力有很大的幫助
    文筆尚欠, 有些句子讀起來(lái)很繞口,不如分成兩句或者更多
    里面寫的一些地方,比如第2章,幫助理解內(nèi)幕是好的,但是要說(shuō)清楚這些是編碼時(shí)應(yīng)該避免的地方。有些示例代碼是為了講清楚問(wèn)題的,編碼時(shí)絕對(duì)不要那樣寫。書里面如果這樣提示一下就好了。
    一家之言,說(shuō)的不對(duì)請(qǐng)見(jiàn)諒
  •   內(nèi)容還行,就是里面有印刷錯(cuò)誤,該粗體的沒(méi)用粗體,還有些字啊什么錯(cuò)誤!
  •   質(zhì)量不錯(cuò),注重實(shí)例的講解!
  •   還行,作為參考書看。有些東西也是需要了才看的。
  •   內(nèi)容還不錯(cuò)了,就是編排有問(wèn)題,到現(xiàn)在還沒(méi)改過(guò)來(lái)
  •   要是全部自習(xí)弄明白,應(yīng)屆生找個(gè)好工作還是很容易的
  •   實(shí)踐后回歸一下理論很有用.
  •   都還行,還有幾頁(yè)都沒(méi)開(kāi)頁(yè),這都沒(méi)啥,物流搞得太慢了

推薦圖書


 

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

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