--- title: Java å¿ è¯»ç»å ¸ä¹¦ç± category: è®¡ç®æºä¹¦ç± icon: "java" --- ## Java åºç¡ **[ãHead First Javaã](https://book.douban.com/subject/2000732/)**  ãHead First Javaãè¿æ¬ä¹¦çå 容å¾è½»æ¾æè¶£ï¼å¯ä»¥è¯´æ¯æå¦ä¹ ç¼ç¨åææå欢çå æ¬ä¹¦ä¹ä¸äºãåæ¶ï¼è¿æ¬ä¹¦ä¹æ¯æç Java å¯è书ç±ãæå¨å¦ä¹ Java çåæå¤äºäºè¿æ¬ä¹¦ç帮å©ï¼èªå·±æç®æ¯è·¨è¿ Java è¯è¨ç大é¨ã æè§å¾æå¨ Java è¿åè½å¤åæä¸æ¥ï¼è¿æ¬ä¹¦æå¾å¤§çåå³ãæèº«è¾¹ççå¾å¤æåå¦ä¹ Java åæé½æ¯ççè¿æ¬ä¹¦ã æå¾å¤å°ä¼ä¼´å°±ä¼é®äºï¼**è¿æ¬ä¹¦éä¸éåç¼ç¨æ°æé 读å¢ï¼** æä¸ªäººè§å¾è¿æ¬ä¹¦è¿æ¯æºéåç¼ç¨æ°æé 读çï¼æ¯ç«æ¯ âHead Firstâ ç³»åã **[ãJava æ ¸å¿ææ¯å· 1 + å· 2ã](https://book.douban.com/subject/34898994/)**  è¿ä¸¤æ¬ä¹¦ä¹é常ä¸éãä¸è¿ï¼è¿ä¸¤æ¬ä¹¦çå 容å¾å¤ï¼å ¨ççè¯æ¯è¾è´¹æ¶é´ãæç°å¨æ¯æè¿ä¸¤æ¬ä¹¦å½åå·¥å ·ä¹¦æ¥ç¨ï¼å°±æ¯å¦æå¹³æ¶åæç« çæ¶åï¼ç¢°å°ä¸äº Java åºç¡æ¹é¢çé®é¢ï¼ç»å¸¸å°±ç¿»çè¿ä¸¤æ¬æ¥å½ååèï¼ æå½æ¶å¨å¤§å¦çæ¶å就买äºä¸¤æ¬æ¾å¨å¯å®¤ï¼æ²¡äºçæ¶å就翻翻ã建议æç¹ Java åºç¡ä¹åå读ï¼ä»ç»çè¿æ¯æ¯è¾æ·±å ¥åå ¨é¢çï¼é常æ¨èã **[ãJava ç¼ç¨ææ³ã](https://book.douban.com/subject/2130190/)**  è¿æ¬ä¹¦è¢«å¾å¤äººç§°ä¹ä¸º Java é¢åçå£ç»ï¼_æè§æç¹è¿äº~~~_ï¼ãä¸å¤ªæ¨èç¼ç¨åå¦è é è¯»ï¼æç¹åéçå³éï¼ç¨å¾®æç¹åºç¡åé 读æ´å¥½ã æç¬¬ä¸æ¬¡ççæ¶åè¿è§å¾æç¹æ¯ç¥ï¼é£æ¶åè¿å¨ä¸å¤§äºï¼çäº 1/3 就没çä¸å»äºã **[ãJava 8 宿ã](https://book.douban.com/subject/26772632/)**  Java 8 ç®æ¯ä¸ä¸ªéç¨ç¢å¼ççæ¬ï¼ç°å¨ä¸è¬ä¼ä¸è¿æ¯ç¨ Java 8 æ¯è¾å¤ãææ¡ Java 8 çä¸äºæ°ç¹æ§æ¯å¦ LambdaãStream API è¿æ¯æºæå¿ è¦çãè¿åçè¯ï¼ææ¨è **[ãJava 8 宿ã](https://book.douban.com/subject/26772632/)** è¿æ¬ä¹¦ã ## Java å¹¶å **[ãJava å¹¶åç¼ç¨ä¹ç¾ã](https://book.douban.com/subject/30351286/)**  _è¿æ¬ä¹¦è¿æ¯é常éåæä»¬ç¨æ¥å¦ä¹ Java å¤çº¿ç¨çãè¿æ¬ä¹¦ç讲解é常éä¿ææï¼ä½è ä»å¹¶åç¼ç¨åºç¡å°å®æé½æ¯ä¿¡æææ¥ã_ å¦å¤ï¼è¿æ¬ä¹¦çä½è å å¤èªèº«ä¹ä¼ç»å¸¸å¨ç½ä¸åå¸åç§ææ¯æç« ãè¿æ¬ä¹¦ä¹æ¯å å¤å¤§ä½¬è¿ä¹å¤å¹´å¨å¤çº¿ç¨é¢åçæ²æ·æå¾çç»æå§ï¼ä»ä¹¦ä¸çå å®¹åºæ¬é½æ¯ç»å代ç 讲解ï¼é常æè¯´æåï¼ **[ã宿 Java é«å¹¶åç¨åºè®¾è®¡ã](https://book.douban.com/subject/30358019/)**  è¿ä¸ªæ¯æç¬¬äºæ¬è¦æ¨èç书ç±ï¼æ¯è¾éåä½ä¸ºå¤çº¿ç¨å ¥é¨/è¿é¶ä¹¦ç±æ¥çãè¿æ¬ä¹¦å å®¹åæ ·æ¯ç论ç»å宿ï¼å¯¹äºæ¯ä¸ªç¥è¯ç¹çè®²è§£ä¹æ¯è¾éä¿ææï¼æ´ä½ç»æä¹æ¯è¾æ¸ ã **[ãæ·±å ¥æµ åº Java å¤çº¿ç¨ã](https://github.com/RedSpider1/concurrent)**  è¿æ¬å¼æºä¹¦ç±æ¯å ä½å¤§åç大佬弿ºçãè¿å ä½ä½è 为äºåå¥½ãæ·±å ¥æµ åº Java å¤çº¿ç¨ãè¿æ¬ä¹¦é 读äºå¤§éç Java å¤çº¿ç¨æ¹é¢ç书ç±åå客ï¼ç¶ååå ä¸ä»ä»¬çç»éªæ»ç»ãDemo å®ä¾ãæºç è§£æï¼æç»æå½¢æäºè¿æ¬ä¹¦ã è¿æ¬ä¹¦çè´¨é乿¯é常è¿ç¡¬ï¼ç»ä½è 们ç¹ä¸ªèµï¼è¿æ¬ä¹¦æç»ä¸çæçè§ååè¯è¨é£æ ¼ãæ¸ æ°ç表达æ¹å¼åé»è¾ã并䏿¯ç¯æç« å稿åå®åï¼ä½è 们就ä¼äºç¸å®¡æ ¡ï¼åå¹¶å°ä¸»åæ¯æ¶æææåä¼åæ¬¡å®¡æ ¡ï¼æååéç¯ä¿®è®¢äºä¸éã å¨çº¿é 读ï¼[https://redspider.gitbook.io/concurrent/](https://redspider.gitbook.io/concurrent/) ã **[ãJava å¹¶åå®ç°åçï¼JDK æºç åæã](https://book.douban.com/subject/35013531/)**  è¿æ¬ä¹¦æ¯ 2020 å¹´æ°åºçï¼æä»¥ï¼ç°å¨ç¥éç人è¿ä¸æ¯å¾å¤ã è¿æ¬ä¹¦ä¸»è¦æ¯å¯¹ Java Concurrent å ä¸ä¸äºæ¯è¾éè¦çæºç è¿è¡äºè®²è§£ï¼å¦å¤ï¼å JMMãhappen-beforeãCAS ççæ¯è¾éè¦çå¹¶åç¥è¯è¿æ¬ä¹¦ä¹é½ä¼ä¸å¹¶ä»ç»å°ã ä¸è®ºæ¯ä½ æ³è¦æ·±å ¥ç ç©¶ Java å¹¶åï¼è¿æ¯è¯´è¦åå¤é¢è¯ï¼ä½ é½å¯ä»¥ççè¿æ¬ä¹¦ã ## JVM **[ãæ·±å ¥çè§£ Java èææºã](https://book.douban.com/subject/34907497/)**  è¿æ¬ä¹¦å°±ä¸å¥è¯å½¢å®¹ï¼**å½äº§ä¹¦ç±ä¸çæææºï¼å®å®å¨å¨çä¼ç§ï¼** ï¼çå¿å¸æå½å è½ææ´å¤è¿æ ·çä¼è´¨ä¹¦ç±åºç°ï¼å æ²¹ï¼ðªï¼ è¿æ¬ä¹¦ç第 3 ç 2019 å¹´åºå·²ç»åºæ¥äºï¼æ°å¢äºå¾å¤å®å¨çå 容æ¯å¦ ZGC çæ°ä¸ä»£ GC çåçåæãç®åè±ç£ä¸æ¯ 9.5 çé«åï¼ð ä¸ ð æå°±ä¸å¤è¯´äºï¼ ä¸è®ºæ¯ä½ é¢è¯è¿æ¯ä½ æ³è¦å¨ Java é¢åå¦ä¹ çæ´æ·±ï¼ä½ é½ç¦»ä¸å¼è¿æ¬ä¹¦ç±ãè¿æ¬ä¹¦ä¸å è¦çï¼ä½ è¿è¦å¤çå éï¼éé¢é½æ¯å¹²è´§ãè¿æ¬ä¹¦éé¢è¿æä¸äºéè¦èªå·±å®è·µçä¸è¥¿ï¼æå»ºè®®ä½ ä¹è·çå®è·µä¸ä¸ã 类似ç书ç±è¿æ **[ã宿 Java èææºã](https://book.douban.com/subject/26354292/)**ã**[ãèææºè®¾è®¡ä¸å®ç°:以 JVM 为ä¾ã](https://book.douban.com/subject/34935105/)** ï¼è¿ä¸¤æ¬é½æ¯é常ä¸éçï¼   å¦æä½ å¯¹å®ææ¯è¾æå ´è¶£ï¼æ³è¦èªå·±å¨æåä¸ä¸ªç®æç JVM çè¯ï¼å¯ä»¥çç **[ãèªå·±å¨æå Java èææºã](https://book.douban.com/subject/26802084/)** è¿æ¬ä¹¦ã  书ä¸çä»£ç æ¯åºäº Go è¯è¨å®ç°çï¼ææäºåçä¹åï¼ä½ å¯ä»¥ä½¿ç¨ Java è¯è¨æ¨¡ä»¿çåä¸ä¸ªï¼ä¹ç®æ¯ç»ç»æï¼ å¦æä½ å½å没æè½åç¬ç«ä½¿ç¨ Java è¯è¨æ¨¡ä»¿çåä¸ä¸ªçè¯ï¼ä½ ä¹å¯ä»¥å¨ç½ä¸æ¾å°å¾å¤åºäº Java è¯è¨çæ¬çå®ç°ï¼æ¯å¦[ãzachaxy çæå JVM ç³»åã](https://zachaxy.github.io/tags/JVM/) ã è¿æ¬ä¹¦ç®åå¨è±ç£æ 8.2 çè¯åï¼æä¸ªäººè§å¾å¼ ç§å®èå¸åçæºå¥½çï¼è¿æ¬ä¹¦å¼å¾æ´é«çè¯åã å¦å¤ï¼R 大å¨è±ç£åç[ãä»è¡¨å°éå¦ä¹ JVM å®ç°ã](https://www.douban.com/doulist/2545443/)è¿ç¯æç« ä¸ä¹æ¨èäºå¾å¤ä¸éç JVM ç¸å ³ç书ç±ï¼æ¨èå°ä¼ä¼´ä»¬å»ççã 忍è两个è§é¢ç»å欢çè§é¢å¦ä¹ çå°ä¼ä¼´ã 第 1 个æ¯å°ç¡ è°·çå®çº¢åº·èå¸è®²ç[ãJVM å ¨å¥æç¨ã](https://www.bilibili.com/video/BV1PJ411n7xZ)ãè¿ä¸ªè¯¾ç¨çå 容é常硬ï¼ä¸å ±ææ¥è¿ 400 å°èã 课ç¨çå 容å为 3 é¨åï¼ 1. ãå åä¸åå¾åæ¶ç¯ã 2. ãåèç ä¸ç±»çå è½½ç¯ã 3. ãæ§è½çæ§ä¸è°ä¼ç¯ã 第 2 个æ¯ä½ å笨大佬ç **[ãJVM åæ°ãMemory ç¯ãã](https://club.perfma.com/course/438755/list)** æç¨ï¼å¾å害äºï¼  ## 常ç¨å·¥å · é常éè¦ï¼é常éè¦ï¼ç¹å«æ¯ Git å Dockerã - **IDEA**ï¼çæåºæ¬æä½ä»¥å常ç¨å¿«æ·ãä½ å¯ä»¥éè¿ GitHub ä¸ç弿ºæç¨ [ãIntelliJ IDEA ç®ä½ä¸æä¸é¢æç¨ã](https://github.com/judasn/IntelliJ-IDEA-Tutorial) æ¥å¦ä¹ IDEA ç使ç¨ã - **Maven**ï¼å¼ºç建议å¦ä¹ å¸¸ç¨æ¡æ¶ä¹åå¯ä»¥æåè±å 天æ¶é´å¦ä¹ ä¸ä¸**Maven**ç使ç¨ãï¼å°å¤æ¾ Jar å ï¼ä¸è½½ Jar å æ¯çç麻ç¦è´¹äºï¼ä½¿ç¨ Maven å¯ä»¥ä¸ºä½ çå¾å¤äºæ ï¼ã - **Git**ï¼åºæ¬ç Git æè½ä¹æ¯å¿ å¤çï¼è¯çå¨å¦ä¹ çè¿ç¨ä¸å°èªå·±çä»£ç æç®¡å¨ Github ä¸ãä½ å¯ä»¥ççè¿ç¯ Github ä¸å¼æºç [ãGit æç®å ¥é¨ã](https://snailclimb.gitee.io/javaguide/#/docs/tools/Git) ã - **Docker**ï¼å¦çç¨ Docker å®è£ å¦ä¹ ä¸éè¦ç¨å°ç软件æ¯å¦ MySQL ,è¿æ ·æ¹ä¾¿å¾å¤ï¼å¯ä»¥ä¸ºä½ èçä¸å°æ¶é´ãä½ å¯ä»¥ççè¿ç¯ Github ä¸å¼æºç [ãDocker åºæ¬æ¦å¿µè§£è¯»ã](https://snailclimb.gitee.io/javaguide/#/docs/tools/Docker) ã[ãä¸æææ Docker éåçå¸¸ç¨æä½ï¼ã](https://snailclimb.gitee.io/javaguide/#/docs/tools/Docker-Image) é¤äºè¿äºå·¥å ·ä¹å¤ï¼æå¼ºçå»ºè®®ä½ ä¸å®è¦ææ GitHub ç使ç¨ãä¸äºä½¿ç¨ GitHub çå°æå·§ï¼ä½ å¯ä»¥ç[ãGitHub å°æå·§ã](https://snailclimb.gitee.io/javaguide/#/docs/tools/Github%E6%8A%80%E5%B7%A7)è¿ç¯æç« ã ## å¸¸ç¨æ¡æ¶ æ¡æ¶é¨å建议æ¾å®æ¹ææ¡£æè å客æ¥çã ### Spring/SpringBoot **Spring å SpringBoot ççå¾éè¦ï¼** ä¸å®è¦ææ AOP å IOC è¿ä¸¤ä¸ªæ¦å¿µãSpring ä¸ bean çä½ç¨åä¸çå½å¨æãSpringMVC å·¥ä½åç详解ççç¥è¯ç¹é½æ¯é常éè¦çï¼ä¸å®è¦ææã ä¼ä¸ä¸å Java å端ï¼ä½ ä¸å®ç¦»ä¸å¼ SpringBoot ï¼è¿ä¸ªæ¯å¿ å¤çæè½äºï¼ä¸å®ä¸å®ä¸å®è¦å¦å¥½ï¼ å SpringBoot åä¸äºå¸¸è§ææ¯çæ´åä½ ä¹è¦ç¥è¯æä¹åï¼æ¯å¦ SpringBoot æ´å MyBatisã ElasticSearchãSpringSecurityãRedis ççã ä¸é¢æ¯ä¸äºæ¯è¾æ¨èç书ç±/䏿 ã **[ãSpring 宿ã](https://book.douban.com/subject/34949443/)**  ä¸å»ºè®®å½åå ¥é¨ä¹¦ç±è¯»ï¼å ¥é¨çè¯å¯ä»¥æ¾ç¹å½äººç书æè è§é¢çãè¿æ¬å®ä½å°±ç¸å½äºæ¯å ³äº Spring çä¸ä¸ªæ¦è§ï¼åªæä¸äºåºæ¬æ¦å¿µçä»ç»å示ä¾ï¼æ¶µçäº Spring çå个æ¹é¢ï¼ä½é½ä¸å¤æ·±å ¥ãå°±åä½è 卿åä¸é¡µåç飿 ·ï¼âå¦ä¹ Springï¼è¿æååå¼å§âã **[ãSpring 5 é«çº§ç¼ç¨ã](https://book.douban.com/subject/30452637/)**  å¯¹äº Spring5 çæ°ç¹æ§ä»ç»çæ¯è¾è¯¦ç»ï¼ä¹è¯´ä¸ä¸å¥½ãå¦å¤ï¼æè§å ¨ä¹¦ç¿»è¯çæä¸ç¹è¹©èçå³éï¼è¿æä¸ç¹æ¯ç¥ãå ¨ä¹¦çå 容æ¯è¾å¤ï¼æä¸è¬æ¿æ¥å½åå·¥å ·ä¹¦åèã **[ãSpring Boot ç¼ç¨ææ³ï¼æ ¸å¿ç¯ï¼ã](https://book.douban.com/subject/33390560/)**  _ç¨å¾®æç¹å°å¦ï¼ä½æ¯åçä»ç»çæ¯è¾æ¸ æ¥ã_ SpringBoot è§£æï¼ä¸éååå¦è ãææ¯å»å¹´å ¥æçï¼ç°å¨å°±çäºå ç« ï¼å颿²¡çä¸å»ã书å¾åï¼æè§å¾å¤å¾å¤ç¥è¯ç¹ç讲解è¿äºå°å¦åææ²ï¼ä¸è¿ï¼è¿æ¬ä¹¦å¯¹äº SpringBoot å é¨åç讲解çè¿æ¯å¾æ¸ æ¥ã **[ãSpring Boot 宿ã](https://book.douban.com/subject/26857423/)**  æ¯è¾ä¸è¬ç䏿¬ä¹¦ï¼å¯ä»¥ç®åæ¿æ¥çä¸ä¸ã ### Netty **[ãNetty 宿ã](https://book.douban.com/subject/27038538/)**  è¿æ¬ä¹¦å¯ä»¥ç¨æ¥å ¥é¨ Netty ï¼å å®¹ä» BIO èå°äº NIOãä¹åæè¯¦ç»ä»ç»ä¸ºä»ä¹æ NettyãNetty 为ä»ä¹å¥½ç¨ä»¥å Netty éè¦çç¥è¯ç¹è®²è§£ã è¿æ¬ä¹¦åºæ¬æ Netty ä¸äºéè¦çç¥è¯ç¹é½ä»ç»å°äºï¼èä¸åºæ¬é½æ¯éè¿å®æçå½¢å¼è®²è§£ã **[ãNetty è¿é¶ä¹è·¯ï¼è·çæ¡ä¾å¦ Nettyã](https://book.douban.com/subject/30381214/)**  å 容齿¯å ³äºä½¿ç¨ Netty çå®è·µæ¡ä¾æ¯å¦å åæ³é²è¿äºä¸è¥¿ãå¦æä½ è§å¾ä½ ç Netty å·²ç»å®å ¨å ¥é¨äºï¼å¹¶ä¸ä½ æ³è¦å¯¹ Netty ææ¡çæ´æ·±çè¯ï¼æ¨èä½ çä¸ä¸è¿æ¬ä¹¦ã **[ãè·éªçµä¾ å¦ Nettyï¼Netty 峿¶è天宿ä¸åºå±åçã](https://book.douban.com/subject/35752082/)**  2022 å¹´ 3 æåååºçç䏿¬ä¹¦ãè¿æ¬ä¹¦å为ä¸ä¸ä¸¤ç¯ï¼ä¸ç¯éè¿ä¸ä¸ªå³æ¶è天系ç»ç宿æ¡ä¾å¸¦ä½ å ¥é¨ Nettyï¼ä¸ç¯éè¿ Netty æºç åæå¸¦ä½ ææ¸ Netty æ¯è¾éè¦çåºå±åçã ## æ§è½è°ä¼ **[ãJava æ§è½æå¨æåã](https://book.douban.com/subject/26740520/)**  _å¸æè½ææ´å¤è¿ Java æ§è½ä¼åæ¹é¢ç好书ï¼_ O'Reilly å®¶æä¹¦ï¼æ§è½è°ä¼çå ¥é¨ä¹¦ï¼æä¸ªäººè§å¾æ§è½è°ä¼æ¯æ¯ä¸ª Java ä»ä¸è å¿ å¤ç¥è¯ã è¿æ¬ä¹¦ä»ç»ç宿å 容å¾ä¸éï¼å°¤å ¶æ¯ JVM è°ä¼ï¼ç¼ºç¹ä¹æ¯è¾ææ¾ï¼å°±æ¯å 容ç¨å¾®æç¹èãå¸é¢ä¸è¿ç§ä¹¦å¾å°ãè¿æ¬ä¹¦ä¸éååå¦è ï¼å»ºè®®å¯¹ Java è¯è¨å·²ç»æ¯ä»·ææ¡äºåçãå¦å¤ï¼é 读ä¹åï¼æå¥½å ççå¨å¿æå¤§ä½¬çãæ·±å ¥çè§£ Java èææºãã ## ç½ç«æ¶æ çè¿å¾å¤ç½ç«æ¶ææ¹é¢ç书ç±ï¼æ¯å¦ã大åç½ç«ææ¯æ¶æï¼æ ¸å¿åç䏿¡ä¾åæããã亿级æµéç½ç«æ¶ææ ¸å¿ææ¯ãããæ¶æä¿®ç¼ä¹éââ亿级ç½å ³ãå¹³å°å¼æ¾ãåå¸å¼ãå¾®æå¡ã容éçæ ¸å¿ææ¯ä¿®ç¼å®è·µãççã ç®åæè§å¾è½æ¨èçåªææè¿åèå¸ç **[ãä»é¶å¼å§å¦æ¶æã](https://book.douban.com/subject/30335935/)** å 使¥é¾èå¸ç **[ãè½¯ä»¶æ¶æè®¾è®¡ï¼å¤§åç½ç«ææ¯æ¶æä¸ä¸å¡æ¶æèåä¹éã](https://book.douban.com/subject/30443578/ "ãè½¯ä»¶æ¶æè®¾è®¡ï¼å¤§åç½ç«ææ¯æ¶æä¸ä¸å¡æ¶æèåä¹éã")** ã  ãä»é¶å¼å§å¦æ¶æãè¿æ¬ä¹¦å¯¹åºçæä¸ä¸ªæå®¢æ¶é´ç䏿 âãä»é¶å¼å§å¦æ¶æãï¼éé¢çå¾å¤å 容齿¯è¿ä¸ªä¸æ éé¢çï¼ä¸¤è ä¹°å ¶ä¸å°±å¯ä»¥äºãæçäºå¾å°ä¸é¨åï¼å 容æºå ¨é¢çï¼æ¯ä¸æ¬çæ£å¨è®²å¦ä½åæ¶æç书ç±ã  äºå¡ä¸éãåå¸å¼ï¼CAPãåå¸å¼äºå¡......ï¼ãé«å¹¶åãé«å¯ç¨ ãè½¯ä»¶æ¶æè®¾è®¡ï¼å¤§åç½ç«ææ¯æ¶æä¸ä¸å¡æ¶æèåä¹éã è¿æ¬ä¹¦é½æä»ç»å°ã ## é¢è¯ **ãJavaGuide é¢è¯çªå»çã**   [JavaGuide](https://javaguide.cn/) çé¢è¯çæ¬ï¼æ¶µçäº Java å端æ¹é¢ç大é¨åç¥è¯ç¹æ¯å¦ éåãJVMãå¤çº¿ç¨è¿ææ°æ®åº MySQL çå 容ã å ¬ä¼å·åå°åå¤ï¼â**é¢è¯çªå»**â å³å¯å è´¹è·åï¼æ ä»»ä½å¥è·¯ã 