预购商品
书目分类
特别推荐
Java開發一直是當前互聯網領域最火熱的開發技能之一,Java工程師也一直是需求量非常大的開發職位。本書主要針對一名合格的Java工程師的必備技能做了大綱性的總結和闡述。本書內容包括了工程化、常用開發框架、數據存儲、數據傳輸、Java編程高級知識、性能優化、安全技術等內容,基本涵蓋了Java工程師需要掌握的絕大部分技能點。杭建,重度Java使用者,具有近10年的Java后端開發經驗,一直專注於Java EE、系統架構、大數據等后端技術。現任隨身雲(中華萬年歷)技術總監,負責公司的技術培訓、系統架構、研發管理等工作,帶領研發團隊完成了大數據平台、推薦系統、廣告平台、傳媒平台等系統,以及分布式調度、應用性能監測等基礎框架的開發,支撐起了中華萬年歷、微歷、牛嗶的對話等高達三億多用戶訪問量的應用。作者之前曾就職於網易杭州研究院從事基礎平台、雲計算相關技術的開發工作,參與了易信公眾平台、網易雲計算動態負載均衡等項目的研發。
第1章 后端技術導言1.1 后端基礎設施1.1.1 請求統一入口——API網關1.1.2 業務應用和后端基礎框架1.1.3 緩存、數據庫、搜索引擎、消息隊列1.1.4 文件存儲1.1.5 統一認證中心1.1.6 單點登錄系統1.1.7 統一配置中心1.1.8 服務治理框架1.1.9 統一調度中心1.1.10 統一日志服務1.1.11 數據基礎設施1.1.12 故障監控1.2 Java后端技術概覽1.2.1 軟件開發的核心原則1.2.2 軟件開發的軟件過程1.2.3 日常開發常用工具1.2.4 應用的運行環境1.2.5 常用第三方服務1.2.6 計算機基礎科學知識1.2.7 數據處理相關技能1.2.8 Java編程知識1.2.9 系統架構演化1.2.10 典型的部署架構1.3 如何學習后端技術1.3.1 扎實的計算機基礎知識1.3.2 知其然更要知其所以然1.3.3 動手實踐1.3.4 頻繁練習1.3.5 持續學習1.3.6 自我總結1.3.7 如何學習一門新技術1.3.8 總結第2章 Java項目與工程化2.1 項目構建2.1.1 傳統構建工具——Ant2.1.2 主流構建工具——Maven2.1.3 新興構建工具——Gradle2.2 代碼版本控制2.2.1 集中式代碼版本管理——SVN2.2.2 分布式代碼版本管理——Git2.2.3 提交日志的規范2.3 代碼質量保證2.3.1 使用單元測試保證代碼質量2.3.2 衡量單元測試的標准2.3.3 開發規范與建議第3章 開發框架3.1 依賴注入3.1.1 JSR-330依賴注入規范3.1.2 Guice3.1.3 PicoContainer3.1.4 Dagger3.1.5 Spring Framework3.1.6 循環依賴問題3.2 對象關系映射3.2.1 表元數據的映射3.2.2 CRUD以及屬性的查詢3.2.3 查詢緩存的使用3.2.4 結果的映射3.2.5 規范SQL書寫的語句構建器3.2.6 使用提示3.3 日志3.3.1 JDK Logging3.3.2 Log4j3.3.3 Log4j23.3.4 Logback3.3.5 統一日志API的門面框架3.3.6 統一日志框架的使用3.4 Web MVC3.4.1 為什麼是Spring MVC3.4.2 Spring MVC的請求處理流程3.4.3 典型的配置方式3.4.4 無XML的配置方式3.4.5 對MVC應用做單元測試3.4.6 驗證Web請求的參數3.4.7 使用異步Servlet3.4.8 使用提示第4章 Spring4.1 Spring核心組件4.1.1 Spring的雙親上下文機制4.1.2 Spring中的事件機制4.1.3 Bean的初始化和銷毀4.1.4 Bean的動態構造4.1.5 注入集合、枚舉、類的靜態字段4.1.6 面向方面編程——AOP4.1.7 進階XML的配置4.1.8 無XML的配置方式4.2 Spring數據操作框架4.2.1 Spring JDBC4.2.2 Spring Data Redis4.2.3 Spring Data MongoDB4.3 Spring Boot4.3.1 Spring Boot使用示例4.3.2 Spring Boot的運行原理4.3.3 Spring Boot的組成模塊4.3.4 小結4.4 Spring常用組件4.4.1 表達式引擎——Spring Expression Language4.4.2 遠程過程訪問的支持——Spring Remoting4.4.3 Spring與JMX的集成4.4.4 定時任務的支持——Spring Quartz4.4.5 跨域請求的支持——Spring CORS4.5 總結第5章 數據存儲5.1 關系型數據庫——MySQL5.1.1 存儲引擎5.1.2 字符集和校對規則5.1.3 索引的使用5.1.4 查詢緩存的使用5.1.5 數據同步中的Binlog5.1.6 事務機制5.1.7 大表優化5.1.8 高可用支持5.1.9 使用提示5.2 非關系型數據庫5.2.1 KV數據庫5.2.2 文檔數據庫——MongoDB5.2.3 列數據庫——HBase5.3 緩存5.3.1 本地緩存5.3.2 分布式緩存——Redis5.3.3 緩存設計的典型方案5.4 搜索引擎——Elasticsearch5.4.1 開源全文檢索庫——Apache Lucene5.4.2 關鍵概念5.4.3 查詢的優化5.4.4 內存的使用優化5.4.5 開源日志管理方案——ELK第6章 數據通信6.1 RESTful架構風格6.1.1 支持的操作6.1.2 返回碼6.1.3 資源概念6.1.4 數據的安全保障6.1.5 請求的限流6.1.6 超文本API6.1.7 編寫文檔6.1.8 RESTful API實現6.2 遠程過程調用——RPC6.2.1 JDK自帶的RPC——RMI6.2.2 Hessian6.2.3 Thrift6.2.4 Dubbo6.2.5 數據的序列化機制6.2.6 使用提示6.3 消息中間件6.3.1 簡單消息中間件——ActiveMQ6.3.2 通用消息中間件——RabbitMQ6.3.3 日志消息中間件——Kafka6.3.4 本地消息隊列第7章 Java編程進階7.1 Java內存管理7.1.1 JVM虛擬機內存7.1.2 垃圾回收理論7.1.3 常用垃圾回收器7.2 Java網絡編程7.2.1 常見網絡I/O模型7.2.2 Java網絡編程模型7.3 Java並發編程7.3.1 並發原理7.3.2 並發思路7.3.3 並發工具7.3.4 並發編程建議7.4 Java開發利器7.4.1 Apache工具庫——Apache Commons7.4.2 Google工具庫——Guava7.4.3 最好用的時間庫——Joda Time7.4.4 高效JSON處理庫——FastJson7.4.5 高效Bean映射框架——Orika7.5 Java新版本的特性7.5.1 Java 77.5.2 Java 87.5.3 Java 97.6 總結第8章 性能調優8.1 調優准備8.1.1 HotSpot虛擬機體系結構8.1.2 操作系統的性能調優8.1.3 系統常用診斷工具8.1.4 JDK常用診斷工具8.2 性能分析8.2.1 CPU分析8.2.2 內存分析8.2.3 I/O分析8.2.4 其他分析工具8.3 性能調優8.3.1 CPU調優8.3.2 內存調優8.3.3 I/O調優8.3.4 其他優化建議8.3.5 JVM參數配置8.3.6 JVM性能增強第9章 安全技術9.1 Java加密9.1.1 單向加密算法9.1.2 對稱加密算法9.1.3 非對稱加密算法9.2 安全H T T P——H T T P S9.2.1 安全協議——SSL/TLS9.2.2 證書中心——CA9.2.3 請求交互過程9.2.4 性能優化9.3 Web安全9.3.1 跨站點腳本攻擊9.3.2 跨站點請求偽造9.3.3 SQL注入攻擊9.3.4 基於約束條件的SQL攻擊9.3.5 分布式拒絕服務攻擊——DDOS9.3.6 會話固定攻擊——Session fixation附錄A 代碼構建常用命令附錄B Git常用命令附錄C MySQL常用命令附錄D MongoDB常用命令附錄E Java調優常用命令
客服公告
热门活动
订阅电子报