[ 收藏 ] [ 繁体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  •  管理

     一般管理学
     市场/营销
     会计
     金融/投资
     经管音像
     电子商务
     创业企业与企业家
     生产与运作管理
     商务沟通
     战略管理
     商业史传
     MBA
     管理信息系统
     工具书
     外文原版/影印版
     管理类职称考试
     WTO
     英文原版书-管理
  •  投资理财

     证券/股票
     投资指南
     理财技巧
     女性理财
     期货
     基金
     黄金投资
     外汇
     彩票
     保险
     购房置业
     纳税
     英文原版书-投资理财
  •  经济

     经济学理论
     经济通俗读物
     中国经济
     国际经济
     各部门经济
     经济史
     财政税收
     区域经济
     统计 审计
     贸易政策
     保险
     经济数学
     各流派经济学说
     经济法
     工具书
     通货膨胀
     财税外贸保险类考试
     英文原版书-经济
  •  社会科学

     语言文字
     社会学
     文化人类学/人口学
     新闻传播出版
     社会科学总论
     图书馆学/档案学
     经典名家作品集
     教育
     英文原版书-社会科学
  •  哲学

     哲学知识读物
     中国古代哲学
     世界哲学
     哲学与人生
     周易
     哲学理论
     伦理学
     哲学史
     美学
     中国近现代哲学
     逻辑学
     儒家
     道家
     思维科学
     马克思主义哲学
     经典作品及研究
     科学哲学
     教育哲学
     语言哲学
     比较哲学
  •  宗教

  •  心理学

  •  古籍

     经部  史类  子部  集部  古籍管理  古籍工具书  四库全书  古籍善本影音本  中国藏书
  •  文化

     文化评述  文化随笔  文化理论  传统文化  世界各国文化  文化史  地域文化  神秘文化  文化研究  民俗文化  文化产业  民族文化  书的起源/书店  非物质文化遗产  文化事业  文化交流  比较文化学
  •  历史

     历史普及读物
     中国史
     世界史
     文物考古
     史家名著
     历史地理
     史料典籍
     历史随笔
     逸闻野史
     地方史志
     史学理论
     民族史
     专业史
     英文原版书-历史
     口述史
  •  传记

  •  文学

  •  艺术

     摄影
     绘画
     小人书/连环画
     书法/篆刻
     艺术设计
     影视/媒体艺术
     音乐
     艺术理论
     收藏/鉴赏
     建筑艺术
     工艺美术
     世界各国艺术概况
     民间艺术
     雕塑
     戏剧艺术/舞台艺术
     艺术舞蹈
     艺术类考试
     人体艺术
     英文原版书-艺术
  •  青春文学

  •  文学

     中国现当代随笔
     文集
     中国古诗词
     外国随笔
     文学理论
     纪实文学
     文学评论与鉴赏
     中国现当代诗歌
     外国诗歌
     名家作品
     民间文学
     戏剧
     中国古代随笔
     文学类考试
     英文原版书-文学
  •  法律

     小说
     世界名著
     作品集
     中国古典小说
     四大名著
     中国当代小说
     外国小说
     科幻小说
     侦探/悬疑/推理
     情感
     魔幻小说
     社会
     武侠
     惊悚/恐怖
     历史
     影视小说
     官场小说
     职场小说
     中国近现代小说
     财经
     军事
  •  童书

  •  成功/励志

  •  政治

  •  军事

  •  科普读物

  •  计算机/网络

     程序设计
     移动开发
     人工智能
     办公软件
     数据库
     操作系统/系统开发
     网络与数据通信
     CAD CAM CAE
     计算机理论
     行业软件及应用
     项目管理 IT人文
     计算机考试认证
     图形处理 图形图像多媒体
     信息安全
     硬件
     项目管理IT人文
     网络与数据通信
     软件工程
     家庭与办公室用书
  •  建筑

     执业资格考试用书  室内设计/装潢装修  标准/规范  建筑科学  建筑外观设计  建筑施工与监理  城乡规划/市政工程  园林景观/环境艺术  工程经济与管理  建筑史与建筑文化  建筑教材/教辅  英文原版书-建筑
  •  医学

     中医
     内科学
     其他临床医学
     外科学
     药学
     医技学
     妇产科学
     临床医学理论
     护理学
     基础医学
     预防医学/卫生学
     儿科学
     医学/药学考试
     医院管理
     其他医学读物
     医学工具书
  •  自然科学

     数学
     生物科学
     物理学
     天文学
     地球科学
     力学
     科技史
     化学
     总论
     自然科学类考试
     英文原版书-自然科学
  •  工业技术

     环境科学
     电子通信
     机械/仪表工业
     汽车与交通运输
     电工技术
     轻工业/手工业
     化学工业
     能源与动力工程
     航空/航天
     水利工程
     金属学与金属工艺
     一般工业技术
     原子能技术
     安全科学
     冶金工业
     矿业工程
     工具书/标准
     石油/天然气工业
     原版书
     武器工业
     英文原版书-工业技
  •  农业/林业

     园艺  植物保护  畜牧/狩猎/蚕/蜂  林业  动物医学  农作物  农学(农艺学)  水产/渔业  农业工程  农业基础科学  农林音像
  •  外语

  •  考试

  •  教材

  •  工具书

  •  中小学用书

  •  中小学教科书

  •  动漫/幽默

  •  烹饪/美食

  •  时尚/美妆

  •  旅游/地图

  •  家庭/家居

  •  亲子/家教

  •  两性关系

  •  育儿/早教

  •  保健/养生

  •  体育/运动

  •  手工/DIY

  •  休闲/爱好

  •  英文原版书

  •  港台图书

  •  研究生
     工学
     公共课
     经济管理
     理学
     农学
     文法类
     医学

  •  音乐
     音乐理论

     声乐  通俗音乐  音乐欣赏  钢琴  二胡  小提琴
  • Java開發坑點解析:從根因分析到最佳實踐
    該商品所屬分類:計算機/網絡 -> 程序設計
    【市場價】
    595-862
    【優惠價】
    372-539
    【作者】 朱曄 
    【所屬類別】 圖書  計算機/網絡  程序設計  Java 
    【出版社】人民郵電出版社 
    【ISBN】9787115630568
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    開本:128開
    紙張:膠版紙
    包裝:平裝-膠訂

    是否套裝:否
    國際標準書號ISBN:9787115630568
    作者:朱曄

    出版社:人民郵電出版社
    出版時間:2024年01月 

        
        
    "

    編輯推薦

    1.來自真實生產環境的100多個案例、150多個坑點。

    2.業務代碼開發層面近20個方面的坑,涉及多線程、數據訪問、池技術、日志異常、日期時間、IO和序列化、Spring框架等。

    3.項目技術設計層面6個方面的坑,涉及接口、緩存、異步、生產就緒、代碼重復、數據存儲。

    4.代碼開發層面常見的4個安全問題,包括客戶端數據可信問題、數據和代碼的隔離問題、資源防刷兜底問題,以及敏感數據的處理。

    5.坑點講解範式“知識介紹->還原業務場景->錯誤實現->正確實現->原理分析->小總結”。

     
    內容簡介

    本書從整個Java後端研發的視角,通過大量的案例分析日常開發過程中可能遇到的150多個坑點及其解決方案,並討論一些best實踐。這些坑點涵蓋編碼(不僅涉及Java語法層面,還涉及多線程、連接池、數據庫索引、事務、日志、Spring框架等層面)、繫統設計、代碼安全等方面。本書在剖析這些坑點時還會講解排查思路和相關工具的使用,讓讀者不僅能了解常見的坑點,還能具備一定的問題分析能力,以便日後自行排查更多的坑點。

    作者簡介

    朱曄,暉致醫藥架構師,從事互聯網行業(教育、遊戲、電商、O2O、P2P等領域)研發和架構設計工作超過15年,曾任職於育碧軟件、英孚教育、空中網、餓了麼、貝殼等公司,熟悉微服務架構,擅長高並發、高可用架構。從業以來一直沒有脫離編碼工作,參與過400多個應用的架構設計和開發,並且經常作為“救火隊員”在一線排查和分析各種故障,具備豐富的問題排查經驗,對如何設計健壯和安全的業務繫統也有著深刻的理解。

    目錄
    第 1章Java 8中常用的重要知識點1

    1.1在項目中使用Lambda表達式和流操作1

    1.2Lambda表達式2

    1.3使用Java 8簡化代碼4

    1.3.1使用流操作簡化集合操作4

    1.3.2使用可空類型簡化判空邏輯5

    1.3.3使用Java 8的一些新類、新方法獲得函數式編程體驗6

    第 1章Java 8中常用的重要知識點1

    1.1在項目中使用Lambda表達式和流操作1

    1.2Lambda表達式2

    1.3使用Java 8簡化代碼4

    1.3.1使用流操作簡化集合操作4

    1.3.2使用可空類型簡化判空邏輯5

    1.3.3使用Java 8的一些新類、新方法獲得函數式編程體驗6

    1.4並行流8

    1.5流操作詳解11

    1.5.1創建流12

    1.5.2filter14

    1.5.3map14

    1.5.4flatMap14

    1.5.5sorted15

    1.5.6distinct15

    1.5.7skip和limit15

    1.5.8collect16

    1.5.9groupingBy17

    1.5.10partitioningBy19

    1.6小結19

    1.7思考與討論19

    第 2章代碼篇23

    2.1使用了並發工具類庫,並不等於就沒有線程安全問題了23

    2.1.1沒有意識到線程重用導致用戶信息錯亂的bug23

    2.1.2使用了線程安全的並發工具,並不代表解決了所有線程安全問題25

    2.1.3沒有充分了解並發工具的特性,從而無法發揮其威力28

    2.1.4沒有認清並發工具的使用場景,因而導致性能問題30

    2.1.5小結32

    2.1.6思考與討論32

    2.2代碼加鎖:不要讓鎖成為煩心事33

    2.2.1加鎖前要清楚鎖和被保護的對像是不是一個層面的35

    2.2.2加鎖要考慮鎖的粒度和場景問題36

    2.2.3多把鎖要小心死鎖問題37

    2.2.4小結40

    2.2.5思考與討論40

    2.3線程池:業務代碼中最常用也最容易犯錯的組件41

    2.3.1線程池的聲明需要手動進行41

    2.3.2線程池線程管理策略詳解43

    2.3.3務必確認清楚線程池本身是不是復用的47

    2.3.4需要仔細斟酌線程池的混用策略48

    2.3.5小結51

    2.3.6思考與討論51

    2.3.7擴展閱讀52

    2.4連接池:別讓連接池幫了倒忙54

    2.4.1注意鋻別客戶端SDK是否基於連接池55

    2.4.2使用連接池務必確保復用60

    2.4.3連接池的配置不是一成不變的64

    2.4.4小結67

    2.4.5思考與討論67

    2.5HTTP調用:你考慮超時、重試、並發了嗎68

    2.5.1配置連接超時和讀取超時參數的學問69

    2.5.2Feign和Ribbon配合使用,你知道怎麼配置超時嗎70

    2.5.3你知道Ribbon會自動重試請求嗎73

    2.5.4並發限制了爬蟲的抓取能力75

    2.5.5小結77

    2.5.6思考與討論78

    2.5.7擴展閱讀78

    2.620%的業務代碼的Spring聲明式事務可能都沒處理正確80

    2.6.1小心Spring的事務可能沒有生效80

    2.6.2事務即便生效也不一定能回滾84

    2.6.3請確認事務傳播配置是否符合自己的業務邏輯86

    2.6.4小結89

    2.6.5思考與討論90

    2.6.6擴展閱讀93

    2.7數據庫索引:索引不是萬能藥94

    2.7.1InnoDB是如何存儲數據的95

    2.7.2聚簇索引和二級索引96

    2.7.3考慮額外創建二級索引的代價97

    2.7.4不是所有針對索引列的查詢都能用上索引99

    2.7.5數據庫基於成本決定是否走索引101

    2.7.6小結104

    2.7.7思考與討論104

    2.8判等問題:程序裡如何確定你就是你105

    2.8.1注意equals和==的區別106

    2.8.2實現一個equals沒有這麼簡單110

    2.8.3hashCode和equals要配對實現112

    2.8.4注意compareTo和equals的邏輯一致性114

    2.8.5小心Lombok生成代碼的坑115

    2.8.6小結117

    2.8.7思考與討論117

    2.8.8擴展閱讀118

    2.9數值計算:注意精度、舍入和溢出問題119

    2.9.1“危險”的Double120

    2.9.2考慮浮點數舍入和格式化的方式121

    2.9.3用equals做判等,就一定是對的嗎122

    2.9.4小心數值溢出問題123

    2.9.5小結125

    2.9.6思考與討論125

    2.9.7擴展閱讀126

    2.10集合類:坑滿地的List列表操作127

    2.10.1使用Arrays.asList把數據轉換為List的3個坑127

    2.10.2使用List.subList進行切片操作居然會導致OOM129

    2.10.3一定要讓合適的數據結構做合適的事情132

    2.10.4小結136

    2.10.5思考與討論137

    2.11空值處理:分不清楚的null和惱人的空指針138

    2.11.1修復和定位惱人的空指針問題138

    2.11.2POJO中屬性的null到底代表了什麼142

    2.11.3小心MySQL中有關NULL的3個坑146

    2.11.4小結147

    2.11.5思考與討論147

    2.12異常處理:別讓自己在出問題的時候變為盲人149

    2.12.1捕獲和處理異常容易犯的錯149

    2.12.2小心finally中的異常153

    2.12.3需要注意JVM針對異常性能優化導致棧信息丟失的坑155

    2.12.4千萬別把異常定義為靜態變量157

    2.12.5提交線程池的任務出了異常會怎樣158

    2.12.6小結161

    2.12.7思考與討論162

    2.12.8擴展閱讀163

    2.13日志:日志記錄真沒你想像得那麼簡單164

    2.13.1為什麼我的日志會重復記錄165

    2.13.2使用異步日志改善性能的坑169

    2.13.3使用日志占位符就不需要進行日志級別判斷了嗎175

    2.13.4小結176

    2.13.5思考與討論176

    2.13.6擴展閱讀178

    2.14文件I/O:實現高效正確的文件讀寫並非易事180

    2.14.1文件讀寫需要確保字符編碼一致180

    2.14.2使用Files類靜態方法進行文件操作注意釋放文件句柄182

    2.14.3注意讀寫文件要考慮設置緩衝區184

    2.14.4小結187

    2.14.5思考與討論187

    2.14.6擴展閱讀188

    2.15序列化:一來一回,你還是原來的你嗎190

    2.15.1序列化和反序列化需要確保算法一致191

    2.15.2MyBatisPlus讀取泛型List JSON字段的坑195

    2.15.3注意Jackson JSON反序列化對額外字段的處理198

    2.15.4反序列化時要小心類的構造方法200

    2.15.5枚舉作為API接口參數或返回值的兩個大坑201

    2.15.6小結207

    2.15.7思考與討論207

    2.16用好Java 8的日期時間類,少踩一些“老三樣”的坑208

    2.16.1初始化日期時間209

    2.16.2“惱人”的時區問題209

    2.16.3日期時間格式化和解析212

    2.16.4日期時間的計算215

    2.16.5小結217

    2.16.6思考與討論218

    2.16.7擴展閱讀219

    2.17別以為“自動擋”就不可能出現OOM220

    2.17.1太多份相同的對像導致OOM220

    2.17.2使用WeakHashMap不等於不會OOM223

    2.17.3Tomcat參數配置不合理導致OOM227

    2.17.4小結228

    2.17.5思考與討論229

    2.17.6擴展閱讀230

    2.18當反射、注解和泛型遇到OOP時,會有哪些坑231

    2.18.1反射調用方法不是以傳參決定重載231

    2.18.2泛型經過類型擦除多出橋接方法的坑232

    2.18.3注解可以繼承嗎237

    2.18.4小結239

    2.18.5思考與討論239

    2.18.6擴展閱讀241

    2.19Spring框架:IoC和AOP是擴展的核心243

    2.19.1單例的Bean如何注入Prototype的Bean244

    2.19.2監控切面因為順序問題導致Spring事務失效247

    2.19.3小結255

    2.19.4思考與討論255

    2.19.5知識擴展:同樣注意枚舉是單例的問題256

    2.20Spring框架:幫我們做了很多工作也帶來了復雜度258

    2.20.1Feign AOP切不到的詭異案例258

    2.20.2Spring程序配置的優先級問題264

    2.20.3小結273

    2.20.4思考與討論273

    2.20.5擴展閱讀275

    第3章繫統設計281

    3.1代碼重復:搞定代碼重復的3個絕招281

    3.1.1利用“工廠模式 模板方法模式”,消除if...else...和重復代碼281

    3.1.2利用“注解 反射”消除重復代碼287

    3.1.3利用屬性拷貝工具消除重復代碼291

    3.1.4小結293

    3.1.5思考與討論293

    3.2接口設計:繫統間對話的語言,一定要統一294

    3.2.1接口的響應要明確表示接口的處理結果294

    3.2.2要考慮接口變遷的版本控制策略300

    3.2.3接口處理方式要明確同步還是異步302

    3.2.4小結305

    3.2.5思考與討論305

    3.2.6擴展閱讀307

    3.3緩存設計:緩存可以錦上添花也可以落井下石307

    3.3.1不要把Redis當作數據庫308

    3.3.2注意緩存雪崩問題309

    3.3.3注意緩存擊穿問題312

    3.3.4注意緩存穿透問題314

    3.3.5注意緩存數據同步策略316

    3.3.6小結317

    3.3.7思考與討論317

    3.3.8擴展閱讀318

    3.4業務代碼寫完,就意味著生產就緒了嗎320

    3.4.1準備工作:配置Spring Boot Actuator321

    3.4.2健康監測需要觸達關鍵組件322

    3.4.3對外暴露應用內部重要組件的狀態327

    3.4.4指標是快速定位問題的“金鑰匙”330

    3.4.5小結339

    3.4.6思考與討論339

    3.5異步處理好用,但非常容易用錯342

    3.5.1異步處理需要消息補償閉環342

    3.5.2注意消息模式是廣播還是工作隊列346

    3.5.3別讓死信堵塞了消息隊列351

    3.5.4小結355

    3.5.5思考與討論356

    3.6數據存儲:NoSQL與RDBMS如何取長補短、相輔相成358

    3.6.1取長補短之Redis vs MySQL358

    3.6.2取長補短之InfluxDB vs MySQL361

    3.6.3取長補短之Elasticsearch vs MySQL364

    3.6.4結合NoSQL和MySQL應對高並發的復合數據庫架構369

    3.6.5小結371

    3.6.6思考與討論371

    第4章代碼安全問題373

    4.1數據源頭:任何客戶端的東西都不可信任373

    4.1.1客戶端的計算不可信373

    4.1.2客戶端提交的參數需要校驗375

    4.1.3不能信任請求頭裡的任何內容377

    4.1.4用戶標識不能從客戶端獲取378

    4.1.5小結380

    4.1.6思考與討論380

    4.2安全兜底:涉及錢時,必須考慮防刷、限量和防重381

    4.2.1開放平臺資源的使用需要考慮防刷381

    4.2.2虛擬資產並不能憑空產生無限使用382

    4.2.3錢的進出一定要和訂單掛鉤並且實現冪等384

    4.2.4小結386

    4.2.5思考與討論386

    4.2.6擴展閱讀386

    4.3數據和代碼:數據就是數據,代碼就是代碼387

    4.3.1SQL注入能干的事情比你想像得更多388

    4.3.2小心動態執行代碼時代碼注入漏洞393

    4.3.3XSS必須全方位嚴防死堵396

    4.3.4小結403

    4.3.5思考與討論403

    4.3.6擴展閱讀404

    4.4如何正確地保存和傳輸敏感數據405

    4.4.1如何保存用戶密碼406

    4.4.2如何保存姓名和身份證號碼409

    4.4.3用一張圖說清楚HTTPS416

    4.4.4小結418

    4.4.5思考與討論419

    第5章Java程序故障排查420

    5.1定位Java應用問題的排錯套路420

    5.1.1生產問題的排查很大程度依賴監控420

    5.1.2分析定位問題的套路421

    5.1.3分析和定位問題需要注意的9個點422

    5.1.4小結424

    5.1.5思考與討論424

    5.2分析定位Java問題,一定要用好這些工具425

    5.2.1使用JDK自帶工具查看JVM情況425

    5.2.2使用Wireshark分析SQL批量插入慢的問題433

    5.2.3使用MAT分析OOM問題438

    5.2.4使用Arthas分析高CPU問題444

    5.2.5小結448

    5.2.6思考與討論449

    5.3Java程序從虛擬機遷移到Kubernetes的一些坑452

    5.3.1Pod IP不固定帶來的坑452

    5.3.2程序因為OOM被殺進程的坑453

    5.3.3內存和CPU資源配置不適配容器的坑454

    5.3.4Pod重啟以及重啟後沒有現場的坑455

    5.3.5小結455

    5.3.6思考與討論456

    後記:寫代碼時,如何纔能盡量避免踩坑457









     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部