注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計(jì)程序員煉成記 從小白到工程師

程序員煉成記 從小白到工程師

程序員煉成記 從小白到工程師

定 價(jià):¥99.00

作 者: 周明耀
出版社: 北京大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787301298930 出版時(shí)間: 2018-10-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 560 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《程序員煉成記:從小工到工程師》主要介紹了作為一名軟件工程師應(yīng)具備的能力。內(nèi)容主要包括Java的基礎(chǔ)知識(shí)和JVM、死鎖、CPP技術(shù)、Java8技術(shù)、G1?GC的實(shí)踐、Java的優(yōu)化方向、代碼規(guī)范深度解讀等深度知識(shí),Spring?Boot、Spring?Cloud、Spring里的設(shè)計(jì)模式,關(guān)系型數(shù)據(jù)庫(kù)的代表PostgresSQL和NoSQL數(shù)據(jù)庫(kù)的代表Cassandra,分布式技術(shù)、消息中間件、大數(shù)據(jù)框架、搜索引擎、事務(wù)、Linux隔離技術(shù)、Go語(yǔ)言入門等高端技術(shù)。最后一章,包含了作者多年的經(jīng)驗(yàn)總結(jié),列舉了可能會(huì)遇到的問(wèn)題,并提出了解決思路。 本書適合所有軟件工程師,尤其適合工作兩年以下的人,力求覆蓋應(yīng)用軟件開(kāi)發(fā)崗位的校招面試范圍。

作者簡(jiǎn)介

  周明耀,2004年畢業(yè)于浙江大學(xué),工學(xué)碩士。13年軟件研發(fā)經(jīng)驗(yàn),近10年技術(shù)團(tuán)隊(duì)管理經(jīng)驗(yàn),4年分布式計(jì)算、大數(shù)據(jù)技術(shù)經(jīng)驗(yàn)。出版書籍包括《大話Java性能優(yōu)化》《深入理解JVM&G1 GC》《技術(shù)領(lǐng)導(dǎo)力:程序員如何才能帶團(tuán)隊(duì)》。

圖書目錄

了解這份職業(yè) 001
1.1 寫在前面 002
1.2 入行前 002
1.2.1?對(duì)于ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽的理解 002
1.2.2?參加校招 003
1.3 入行后 004
1.3.1?深度思考 004
1.3.2?工作時(shí)間 004
1.3.3?公司的選擇 005
1.3.4?為什么軟件基礎(chǔ)設(shè)施技術(shù)人員話語(yǔ)權(quán)不高 005
1.3.5?為什么去做高難度的技術(shù) 005
1.3.6?技術(shù)人員的上升通道 006
1.3.7?跟進(jìn)最新技術(shù)的重要性 006
1.4 自勉 007
 學(xué)習(xí)準(zhǔn)備 008
2.1 軟件安裝 009
2.1.1?JDK安裝 009
2.1.2?Eclipse安裝與卸載 013
2.1.3?Eclipse快捷鍵介紹 017
2.1.4?虛擬機(jī)安裝 020
2.2 數(shù)據(jù)結(jié)構(gòu) 027
2.2.1?算法簡(jiǎn)介 027
2.2.2?數(shù)據(jù)類型簡(jiǎn)介 029
2.2.3?面向?qū)ο蟪绦蛟O(shè)計(jì) 029
2.2.4?算法效能分析 030
2.2.5?線性表 032
2.2.6?鏈表 033
2.2.7?堆棧 067
2.2.8?算術(shù)表達(dá)式的求值法 075
2.2.9?隊(duì)列 078
2.3 難題解釋 091
2.3.1?兩個(gè)數(shù)字相加 091
2.3.2?尋找兩個(gè)數(shù)組的中間數(shù) 093
2.3.3?查找字符串中最長(zhǎng)非重復(fù)的子字符串 097
2.3.4?合并兩個(gè)鏈表 098
2.3.5?漢諾塔問(wèn)題 099
2.3.6?迷宮問(wèn)題 105
2.3.7?八皇后問(wèn)題 110
 Java基礎(chǔ)知識(shí) 114
3.1 switch關(guān)鍵字 115
3.1.1?Java 6中的使用方式 115
3.1.2?Java 7中的使用方式 116
3.1.3?新特性的優(yōu)缺點(diǎn) 118
3.2 設(shè)計(jì)模式之單例模式 119
3.2.1?引言 119
3.2.2?詳細(xì)介紹 119
3.3 設(shè)計(jì)模式之代理模式 125
3.3.1?引言 125
3.3.2?延遲加載 126
3.4 設(shè)計(jì)模式之適配器模式 132
3.4.1?引言 132
3.4.2?詳細(xì)介紹 132
3.4.3?適配器模式在開(kāi)源項(xiàng)目中的應(yīng)用 137
3.4.4?適配器模式的使用 145
3.5 字符串操作優(yōu)化 146
3.5.1?字符串對(duì)象 146
3.5.2?SubString使用技巧 147
3.5.3?切分字符串 148
3.5.4?合并字符串 150
3.6 數(shù)據(jù)定義和運(yùn)算邏輯優(yōu)化 154
3.6.1?使用局部變量 154
3.6.2?位運(yùn)算代替乘除法 154
3.6.3?替換switch 155
3.6.4?一維數(shù)組代替二維數(shù)組 156
3.6.5?提取表達(dá)式 158
3.6.6?優(yōu)化循環(huán) 159
3.6.7?布爾運(yùn)算代替位運(yùn)算 160
3.6.8?使用arraycopy() 162
3.7 Java I/O相關(guān)知識(shí) 163
3.7.1?Java I/O 163
3.7.2?Java NIO 164
3.7.3?Java AIO 174
3.8 數(shù)據(jù)復(fù)用 178
3.8.1?緩沖區(qū) 178
3.8.2?緩存 184
3.8.3?對(duì)象復(fù)用池 185
3.8.4?計(jì)算方式轉(zhuǎn)換 187
3.9 集合類優(yōu)化 189
3.9.1?集合類之間關(guān)系 189
3.9.2?集合接口 190
3.9.3?集合類介紹 192
3.9.4?集合類實(shí)踐 194
3.10  Java 8迭代器模型 202
3.10.1?迭代器模式 202
3.10.2?Lambda表達(dá)式 204
3.10.3?Java 8全新集合遍歷方式 204
3.11  Java 9入門 209
3.11.1?模塊化編程 209
3.11.2?模塊化系統(tǒng)目標(biāo) 211
3.11.3?模塊化的JDK 212
3.11.4?模塊資源介紹 212
3.11.5?HelloWorld案例 213
3.12  常見(jiàn)面試題 214
 Java深度知識(shí) 222
4.1 JVM內(nèi)存區(qū)域 223
4.1.1?程序計(jì)數(shù)器 224
4.1.2?虛擬機(jī)棧 224
4.1.3?本地方法棧 228
4.1.4?Java堆 229
4.1.5?方法區(qū) 234
4.2 JVM為什么需要GC 235
4.2.1?JVM發(fā)展歷史簡(jiǎn)介 235
4.2.2?GC發(fā)展歷史簡(jiǎn)介 236
4.2.3?G1 GC基本思想? 237
4.2.4?G1 GC垃圾回收機(jī)制? 237
4.2.5?G1的區(qū)間設(shè)計(jì)靈感 238
4.3 如何使用SA工具 239
4.4 死鎖及處理方式 246
4.4.1?死鎖描述 246
4.4.2?死鎖情況診斷 251
4.4.3?死鎖解決方案 254
4.5 JavaCPP技術(shù) 256
4.5.1?JavaCPP示例 257
4.5.2?JavaCPP-presets簡(jiǎn)介 259
4.5.3?JavaCPP-presets示例 261
4.5.4?JavaCPP性能測(cè)試 270
4.6 Java 8解決的若干問(wèn)題 271
4.6.1?HashMap 271
4.6.2?行為參數(shù)化 273
4.6.3?讀取文件 276
4.6.4?Stream 277
4.7 JDK 8與G1 GC實(shí)踐 291
4.7.1?基礎(chǔ)解釋 291
4.7.2?G1 GC參數(shù)講解 292
4.8 Java的優(yōu)化方向 303
4.8.1?Java EE 303
4.8.2?函數(shù)式語(yǔ)言 305
4.8.3?VM啟動(dòng)時(shí)間優(yōu)化 307
4.8.4?JIT編譯器 308
4.9 代碼規(guī)范深度解讀 308
4.9.1?下畫線或美元符號(hào) 309
4.9.2?拼音與英文混合 309
4.9.3?類命名 309
4.9.4?方法名、參數(shù)名和變量名 310
4.9.5?常量命名 312
4.9.6?抽象類的命名 312
4.9.7?避免常量魔法值的使用 312
4.9.8?變量值范圍 313
4.9.9?大括號(hào)的使用規(guī)定 313
4.9.10?單行字符數(shù)限制 314
4.9.11?靜態(tài)變量及方法調(diào)用 315
4.9.12?可變參數(shù)編程 316
4.9.13?單元測(cè)試應(yīng)該自動(dòng)執(zhí)行 318
4.9.14?單元測(cè)試應(yīng)該是獨(dú)立的 318
4.9.15?BCDE原則 318
4.9.16?數(shù)據(jù)類型精度考量 319
4.9.17?使用Char 321
 Spring相關(guān)知識(shí) 323
5.1 Spring Boot 324
5.1.1?初始Spring Boot 324
5.1.2?Spring Boot示例 337
5.1.3?Spring Boot創(chuàng)建Restful API示例 341
5.1.4?Spring Boot使用JavaMailSender發(fā)送郵件 344
5.1.5?Spring Boot 1.5.x新特性 347
5.2 Spring Cloud 349
5.2.1?Spring Cloud簡(jiǎn)介 349
5.2.2?Spring Cloud Eureka 350
5.2.3?Spring Cloud Consul 353
5.2.4?分布式配置中心 354
5.3 Spring中的設(shè)計(jì)模式 358
5.3.1?解釋器設(shè)計(jì)模式 358
5.3.2?構(gòu)造器設(shè)計(jì)模式 358
5.3.3?工廠方法設(shè)計(jì)模式 362
5.3.4?抽象工廠設(shè)計(jì)模式 364
5.3.5?代理設(shè)計(jì)模式 366
5.3.6?策略設(shè)計(jì)模式 368
5.3.7?模板設(shè)計(jì)模式 370
 數(shù)據(jù)庫(kù)知識(shí) 374
6.1 關(guān)系型數(shù)據(jù)庫(kù)和NoSQL數(shù)據(jù)庫(kù) 375
6.1.1?關(guān)系型數(shù)據(jù)庫(kù) 375
6.1.2?NoSQL數(shù)據(jù)庫(kù) 378
6.2 PostgreSQL相關(guān)知識(shí) 380
6.2.1?基本操作 380
6.2.2?系統(tǒng)視圖表 381
6.2.3?索引 384
6.2.4?查詢計(jì)劃 388
6.3 Cassandra相關(guān)知識(shí) 393
6.3.1?基本介紹 393
6.3.2?數(shù)據(jù)模型 393
6.3.3?關(guān)鍵特性 394
6.3.4?訪問(wèn)服務(wù)端 397
6.3.5?無(wú)中心化實(shí)現(xiàn)因素 403
6.3.6?性能測(cè)試工具 408
 高端技術(shù)匯總 411
7.1 分布式系統(tǒng) 412
7.1.1?店長(zhǎng)負(fù)責(zé)制 412
7.1.2?訂單處理方式 414
7.1.3?員工角色拆分 415
7.1.4?多個(gè)任務(wù)接收 416
7.1.5?訂單處理過(guò)程上屏 416
7.1.6?異常數(shù)據(jù)干擾 417
7.1.7?座位設(shè)計(jì)模式 418
7.2 選舉算法的機(jī)制 419
7.2.1?最簡(jiǎn)單的選舉算法 419
7.2.2?拜占庭問(wèn)題 420
7.2.3?Paxos算法 422
7.2.4?ZAB協(xié)議 424

本目錄推薦

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