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

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

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

定 價:¥99.00

作 者: 周明耀
出版社: 北京大學出版社
叢編項:
標 簽: 暫缺

ISBN: 9787301298930 出版時間: 2018-10-01 包裝: 平裝
開本: 16開 頁數(shù): 560 字數(shù):  

內容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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