注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)綜合Java特種兵(上冊(cè))

Java特種兵(上冊(cè))

Java特種兵(上冊(cè))

定 價(jià):¥79.00

作 者: 謝宇 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 編程語言與程序設(shè)計(jì) 計(jì)算機(jī)與互聯(lián)網(wǎng)

ISBN: 9787121239359 出版時(shí)間: 2014-09-01 包裝: 平裝
開本: 頁數(shù): 492 字?jǐn)?shù):  

內(nèi)容簡介

  《Java特種兵》分上、下冊(cè),上冊(cè)強(qiáng)調(diào)個(gè)人修為的提升,也是本書主旨所在,希望能幫助各位讀者朋友提升“功力”;下冊(cè)將基于上冊(cè)的內(nèi)容融入設(shè)計(jì)、實(shí)現(xiàn)的細(xì)節(jié)?!禞ava特種兵(上冊(cè))》上冊(cè)共10章,主要內(nèi)容包括:從簡單的角度來驗(yàn)證功底,通過一些簡單的例子來說明我們應(yīng)當(dāng)如何去掌握J(rèn)ava的基礎(chǔ);關(guān)于計(jì)算機(jī)的工作原理和Java虛擬機(jī)的基礎(chǔ)知識(shí);Java通信;Java并發(fā);數(shù)據(jù)庫知識(shí);源碼基礎(chǔ),說明Java常見的框架基礎(chǔ)知識(shí),比如反射、AOP、ORM、Annotation和配置文件的原理;JDBC、Spring的源碼講解,通過幾種不同類型的框架源碼,希望讀者能體會(huì)源碼之中的思維方式、設(shè)計(jì)、架構(gòu),以及了解到不同源碼的區(qū)別所在;最后是知識(shí)總結(jié)。

作者簡介

  2008.6~2009.5 東軟集團(tuán)有限公司2009.5~2010.10 亞信聯(lián)創(chuàng)科技2010.10~至今 淘寶(中國)軟件有限公司

圖書目錄

第1篇 Java功底篇
第1章 扎馬:看看功底如何
1.1 String的例子,見證下我們的功底
1.1.1 關(guān)于“==”
1.1.2 關(guān)于“equals”
1.1.3 編譯時(shí)優(yōu)化方案
1.1.4 補(bǔ)充一個(gè)例子
1.1.5 跟String較上勁了
1.1.6 intern/equals
1.1.7 StringBuilder.a(chǎn)ppend與String“+”的PK
1.2 一些簡單算法,你會(huì)如何理解
1.2.1 從一堆數(shù)據(jù)中找max和min
1.2.2 從100萬個(gè)數(shù)字中找最大的10個(gè)數(shù)字
1.2.3 關(guān)于排序,實(shí)際場景很重要
1.2.4 數(shù)據(jù)庫是怎么找數(shù)據(jù)的
1.2.5 Hash算法的形象概念
1.3 簡單數(shù)字游戲玩一玩
1.3.1 變量A、B交換有幾種方式
1.3.2 將無序數(shù)據(jù)Hash到指定的板塊
1.3.3 大量判定“是|否”的操作
1.3.4 簡單的數(shù)據(jù)轉(zhuǎn)換
1.3.5 數(shù)字太大,long都存放不下
1.4 功底概述
1.4.1 什么是功底
1.4.2 功底有何用途
1.4.3 如何磨練功底
1.5 功底補(bǔ)充
1.5.1 原生態(tài)類型
1.5.2 集合類
1.6 常見的目錄與工具包
1.7 面對(duì)技術(shù),我們糾結(jié)的那些事兒
1.7.1 為什么我這里好用,哪里不好用
1.7.2 你的程序不好用,你會(huì)不會(huì)用,環(huán)境有問題
1.7.3 經(jīng)驗(yàn)是否能當(dāng)飯吃
1.8 老A是在逆境中迎難而上者
第2章 Java程序員要知道計(jì)算機(jī)工作原理
2.1 Java程序員需要知道計(jì)算機(jī)工作原理嗎
2.2 CPU的那些事兒
2.2.1 從CPU聯(lián)系到Java
2.2.2 多核
2.2.3 Cache line
2.2.4 緩存一致性協(xié)議
2.2.5 上下文切換
2.2.6 并發(fā)與征用
2.3 內(nèi)存
2.4 磁盤
2.5 緩存
2.5.1 緩存的相對(duì)性
2.5.2 緩存的用途和場景
2.6 關(guān)于網(wǎng)絡(luò)與數(shù)據(jù)庫
2.6.1 Java基本I/O
2.6.2 Java的網(wǎng)絡(luò)基本原則
2.6.3 Java與數(shù)據(jù)庫的交互
2.7 總結(jié)
第3章 JVM,Java程序員的OS
3.1 學(xué)習(xí)Java虛擬機(jī)對(duì)我們有什么好處
3.2 跨平臺(tái)與字節(jié)碼基本原理
3.2.1 javap命令工具
3.2.2 Java字節(jié)碼結(jié)構(gòu)
3.2.3 Class字節(jié)碼的加載
3.2.4 字節(jié)碼增強(qiáng)
3.3 從虛擬機(jī)的板塊開始
3.3.1 Hotspot VM板塊劃分
3.3.2 “對(duì)象存放位置”小總結(jié)
3.3.3 關(guān)于永久代
3.4 常見的虛擬機(jī)回收算法
3.4.1 串行GC
3.4.2 ParallelGC與ParallelOldGC
3.4.3 CMS GC與未來的G1
3.4.4 簡單總結(jié)
3.4.5 小小補(bǔ)充
3.5 淺析Java對(duì)象的內(nèi)存結(jié)構(gòu)
3.5.1 原始類型與對(duì)象的自動(dòng)拆裝箱
3.5.2 對(duì)象內(nèi)存結(jié)構(gòu)
3.5.3 對(duì)象嵌套
3.5.4 常見類型 & 集合類的內(nèi)存結(jié)構(gòu)
3.5.5 程序中內(nèi)存拷貝和垃圾
3.5.6 如何計(jì)算對(duì)象大小
3.5.7 輕松玩一玩int[2][100]PK int[100][2]
3.6 常見的OOM現(xiàn)象
3.6.1 HeapSize OOM
3.6.2 PermGen OOM
3.6.3 DirectBuffer OOM
3.6.4 StackOverflowError
3.6.5 其他的一些內(nèi)存溢出現(xiàn)象
3.7 常見的Java工具
3.7.1 jps
3.7.2 jstat
3.7.3 jmap
3.7.4 jstack
3.7.5 jinfo
3.7.6 JConsole
3.7.7 Visual VM
3.7.8 MAT(Memory Analyzer Tool)
3.7.9 BTrace
3.7.10 HSDB
3.7.11 工具總結(jié)
3.8 總結(jié)
3.8.1 寫代碼
3.8.2 心理上戰(zhàn)勝虛擬機(jī)帶來的恐懼
第4章 Java通信,交互就需要通信
4.1 通信概述
4.1.1 Java通信的基本過程
4.1.2 Java通信的協(xié)議包裝
4.1.3 編寫自定義通信協(xié)議
4.1.4 Java的I/O流是不是很難學(xué)
4.2 Java I/O與內(nèi)存的那些事
4.2.1 常規(guī)I/O操作的運(yùn)作過程
4.2.2 DirectBuffer的使用
4.2.3 關(guān)于Buffer
4.2.4 FileChannel的加鎖
4.3 通信調(diào)度方式
4.3.1 同步與異步
4.3.2 阻塞與非阻塞
4.3.3 Linux OS調(diào)度IO模型
4.3.4 Java中的BIO、NIO
4.3.5 Java AIO
4.4 Tomcat中對(duì)I/O的請(qǐng)求處理
4.4.1 Tomcat的配置&一個(gè)請(qǐng)求的響應(yīng)
4.4.2 Request、Response對(duì)象生成
4.4.3 拉與推
第5章 Java并發(fā),你會(huì)遇到嗎
5.1 基礎(chǔ)介紹
5.1.1 線程基礎(chǔ)
5.1.2 多線程
5.1.3 線程狀態(tài)
5.1.4 反面教材suspend、resume、stop
5.1.5 調(diào)度優(yōu)先級(jí)
5.1.6 線程合并(Join)
5.1.7 線程補(bǔ)充小知識(shí)
5.2 線程安全
5.2.1 并發(fā)內(nèi)存模型概述
5.2.2 一些并發(fā)問題描述
5.2.3 volatile
5.2.4 final
5.2.5 棧封閉
5.2.6 ThreadLocal
5.3 原子性與鎖
5.3.1 synchronized
5.3.2 什么是樂觀鎖
5.3.3 并發(fā)與鎖
5.3.4 Atomic
5.3.5 Lock
5.3.6 并發(fā)編程核心AQS原理
5.3.7 鎖的自身優(yōu)化方法
5.4 JDK 1.6并發(fā)編程的一些集合類
5.5 常見的并發(fā)編程工具
5.5.1 CountDownLatch
5.5.2 CyclicBarrier
5.5.3 Semaphor
5.5.4 其他工具簡介
5.6 線程池&調(diào)度池
5.6.1 阻塞隊(duì)列模型
5.6.2 ThreadPoolExecutor
5.6.3 調(diào)度器ScheduleThread PoolExecutor
5.7 總結(jié):編寫并發(fā)程序要注意些什么
5.7.1 鎖粒度
5.7.2 死鎖
5.7.3 “坑”很多
5.7.4 并發(fā)效率一定高嗎
5.8 其他的并發(fā)編程知識(shí)
5.8.1 ShutdownHook(鉤子線程)
5.8.2 Future
5.8.3 異步并不等價(jià)于多線程
第6章 好的程序員應(yīng)當(dāng)知道數(shù)據(jù)庫基本原理
6.1 開發(fā)人員為什么要知道數(shù)據(jù)庫原理
6.2 從開發(fā)人員角度看數(shù)據(jù)庫原理
6.2.1 實(shí)例與存儲(chǔ)
6.2.2 數(shù)據(jù)庫基本原理
6.2.3 索引基本原理
6.2.4 數(shù)據(jù)庫主從基本原理
6.2.5 我們經(jīng)常相信的那些經(jīng)驗(yàn)
6.3 從程序員角度看數(shù)據(jù)庫優(yōu)化方法
6.3.1 不同領(lǐng)域的SQL區(qū)別
6.3.2 執(zhí)行計(jì)劃
6.3.3 SQL邏輯的例子
6.3.4 模型結(jié)構(gòu)設(shè)計(jì)的優(yōu)化
6.3.5 臨時(shí)表
6.3.6 分頁知識(shí)補(bǔ)充
6.3.7 計(jì)算count值
6.3.8 分布式事務(wù)探討
6.3.9 其他
6.4 學(xué)會(huì)最基本的性能診斷
6.4.1 進(jìn)入云數(shù)據(jù)庫時(shí)代
6.4.2 從程序員角度關(guān)注的數(shù)據(jù)庫診斷信息
6.5 數(shù)風(fēng)流存儲(chǔ),還看今朝
第2篇 源碼篇
第7章 源碼基礎(chǔ)
7.1 為何會(huì)出現(xiàn)框架
7.2 閱讀框架前的技術(shù)儲(chǔ)備
7.2.1 反射基礎(chǔ)知識(shí)
7.2.2 AOP基礎(chǔ)
7.2.3 ORM基礎(chǔ)
7.2.4 Annotation與配置文件
第8章 部分JDBC源碼講解
8.1 JDBC通用接口規(guī)范
8.2 JDBC Driver注冊(cè)
8.3 創(chuàng)建Connection
8.4 SQL執(zhí)行及處理
8.4.1 創(chuàng)建Statement
8.4.2 Batch設(shè)置批處理
8.4.3 fetchSize與maxRows
8.4.4 setQueryTimeout與cancel
第9章 部分Spring源碼講解
9.1 Spring MVC
9.1.1 Spring加載
9.1.2 Spring MVC處理一個(gè)簡單請(qǐng)求
9.2 Spring事務(wù)管理器
9.2.1 JDBC事務(wù)的基本思想
9.2.2 Spring事務(wù)管理器的基本架構(gòu)
9.2.3 Spring如何保存Connection
9.2.4 Spring如何保證程序中多次獲取到的連接是同一個(gè)
9.3 思考:自己做框架有眉目了嗎
第10章 看源碼的一些總結(jié)
10.1 高手看API的能力
10.2 通過源碼能否量化性能與穩(wěn)定性
10.3 思考相似方案和技術(shù)的優(yōu)缺點(diǎn)
10.4 明確場景和業(yè)務(wù),不做技術(shù)控
10.4.1 談?wù)劶夹g(shù)控的那些事
10.4.2 明確業(yè)務(wù)背景的例子
10.5 胖哥對(duì)框架的淺析
10.5.1 框架由來的一個(gè)補(bǔ)充
10.5.2 開源框架與擴(kuò)展
10.5.3 框架與解決問題
10.6 學(xué)海無涯,心境無限

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)