è¿ä¸ªRepo主è¦ç¨æ¥å享Javaé¢è¯é¢ï¼ç®åå·²ç»æ¶µçJavaåºç¡ãJavaå¤çº¿ç¨ãJavaèææºãMySQLãRedisãæ¶æ¯ä¸é´ä»¶ãKafkaãRabbitMQãå¾®æå¡ãSpringãMyBatisãNettyãZookeeperãè®¡ç®æºç½ç»ãæ°æ®ç»æä¸ç®æ³ã设计模å¼çå
容ï¼åç»è¿ä¼ä¸ææ´æ°ã
å¦æå¯¹äºææå¸®å©ï¼å¯ä»¥ç»ä¸ªstarãæçº°æ¼çå°æ¹ï¼æ¬¢è¿ç»æä»¬æPRã
妿æ³è·åæ¬RepoçPDFçæ¬ï¼å¯ä»¥ç¨å¾®ä¿¡æ«æä¸æ¹äºç»´ç ï¼åå¤ âpdfâ ï¼å³å¯è·åã妿äºç»´ç å è½½ä¸åºæ¥ï¼å¯ä»¥å¨å¾®ä¿¡æç´¢å
¬ä¼å· âç¨åºåç¾ç§å
¨ä¹¦âï¼åå¤ âpdfâ ï¼å³å¯è·åPDFçæ¬ã
* [Javaåºç¡](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#Javaåºç¡)
* [1.说ä¸é¢å对象åå¤§ç¹æ§](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#1说ä¸é¢å对象åå¤§ç¹æ§)
* [2.Javaè¯è¨æåªäºç¹ç¹](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#2javaè¯è¨æåªäºç¹ç¹)
* [3.ä»ä¹æ¯Javaç¨åºç主类ï¼åºç¨ç¨åºåå°ç¨åºç主类æä½ä¸åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#3ä»ä¹æ¯javaç¨åºç主类åºç¨ç¨åºåå°ç¨åºç主类æä½ä¸å)
* [4.访é®ä¿®é¥°ç¬¦public,private,protected,以åä¸åï¼é»è®¤ï¼æ¶çåºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#4访é®ä¿®é¥°ç¬¦publicprivateprotected以åä¸åé»è®¤æ¶çåºå«)
* [5.float f=3.4;æ¯å¦æ£ç¡®ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#5float-f34æ¯å¦æ£ç¡®)
* [6.Javaææ²¡ægotoï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#6javaææ²¡ægoto)
* [7.&å&&çåºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#7åçåºå«)
* [8.Math.round(11.5) çäºå¤å°ï¼Math.round(-11.5)çäºå¤å°ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#8mathround115-çäºå¤å°mathround-115çäºå¤å°)
* [9.ç¨æææççæ¹æ³è®¡ç®2ä¹ä»¥8ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#9ç¨æææççæ¹æ³è®¡ç®2ä¹ä»¥8)
* [10.ä»ä¹æ¯Java注é](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#10ä»ä¹æ¯java注é)
* [11.Javaæåªäºæ°æ®ç±»å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#11javaæåªäºæ°æ®ç±»å)
* [12.final æä»ä¹ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#12final-æä»ä¹ç¨)
* [13.final finally finalizeçåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#13final-finally-finalizeçåºå«)
* [14.String str = "i" åString str = new String("1")䏿 ·åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#14string-str--i-åstring-str--new-string1䏿 ·å)
* [15.Java 䏿ä½åç¬¦ä¸²é½æåªäºç±»ï¼å®ä»¬ä¹é´æä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#15java-䏿ä½åç¬¦ä¸²é½æåªäºç±»å®ä»¬ä¹é´æä»ä¹åºå«)
* [16.Javaä¸ä¸ºä»ä¹è¦ç¨ cloneï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#16javaä¸ä¸ºä»ä¹è¦ç¨-clone)
* [17.æ·±å
éåæµ
å
éï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#17æ·±å
éåæµ
å
é)
* [18.newä¸ä¸ªå¯¹è±¡çè¿ç¨åcloneä¸ä¸ªå¯¹è±¡çåºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#18newä¸ä¸ªå¯¹è±¡çè¿ç¨åcloneä¸ä¸ªå¯¹è±¡çåºå«)
* [19.Javaä¸å®ç°å¤æçæºå¶æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#19javaä¸å®ç°å¤æçæºå¶æ¯ä»ä¹)
* [20.è°è°ä½ 坹夿ççè§£ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#20è°è°ä½ 坹夿ççè§£)
* [21.æé å¨ï¼constructorï¼æ¯å¦å¯è¢«éåï¼overrideï¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#21æé å¨constructoræ¯å¦å¯è¢«éåoverride)
* [22.两个对象å¼ç¸å(x.equals(y) == true)ï¼ä½å´å¯æä¸åçhash codeï¼è¿å¥è¯å¯¹ä¸å¯¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#22两个对象å¼ç¸åxequalsy--trueä½å´å¯æä¸åçhash-codeè¿å¥è¯å¯¹ä¸å¯¹)
* [23.æ¯å¦å¯ä»¥ç»§æ¿Stringç±»ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#23æ¯å¦å¯ä»¥ç»§æ¿stringç±»)
* [24.Stringç±»çå¸¸ç¨æ¹æ³æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#24stringç±»çå¸¸ç¨æ¹æ³æåªäº)
* [25.charååéä¸è½å¦è½ä¸è½åå¨ä¸ä¸ªä¸ææ±åï¼ä¸ºä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#25charååéä¸è½å¦è½ä¸è½åå¨ä¸ä¸ªä¸ææ±å为ä»ä¹)
* [26.thiså
³é®åçç¨æ³](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#26thiså
³é®åçç¨æ³)
* [27.superå
³é®åçç¨æ³](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#27superå
³é®åçç¨æ³)
* [28.thisä¸superçåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#28thisä¸superçåºå«)
* [29.staticåå¨çä¸»è¦æä¹](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#29staticåå¨çä¸»è¦æä¹)
* [30.staticçç¬ç¹ä¹å¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#30staticçç¬ç¹ä¹å¤)
* [31.staticåºç¨åºæ¯](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#31staticåºç¨åºæ¯)
* [32.static注æäºé¡¹](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#32static注æäºé¡¹)
* [33.break ,continue ,return çåºå«åä½ç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#33break-continue-return-çåºå«åä½ç¨)
* [34.å¨Javaä¸å®ä¹ä¸ä¸ªä¸åäºä¸æ²¡æåæ°çæé æ¹æ³çä½ç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#34å¨javaä¸å®ä¹ä¸ä¸ªä¸åäºä¸æ²¡æåæ°çæé æ¹æ³çä½ç¨)
* [35.æé æ¹æ³æåªäºç¹æ§ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#35æé æ¹æ³æåªäºç¹æ§)
* [36.éæåéåå®ä¾åéåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#36éæåéåå®ä¾åéåºå«)
* [37.éææ¹æ³åå®ä¾æ¹æ³æä½ä¸åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#37éææ¹æ³åå®ä¾æ¹æ³æä½ä¸å)
* [38.ä»ä¹æ¯æ¹æ³çè¿åå¼ï¼è¿åå¼çä½ç¨æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#38ä»ä¹æ¯æ¹æ³çè¿åå¼è¿åå¼çä½ç¨æ¯ä»ä¹)
* [39.ä»ä¹æ¯å
é¨ç±»ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#39ä»ä¹æ¯å
é¨ç±»)
* [40.å
é¨ç±»çåç±»æåªäº](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#40å
é¨ç±»çåç±»æåªäº)
* [41.Javaä¸å¼å¸¸å为åªäºç§ç±»ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#41javaä¸å¼å¸¸å为åªäºç§ç±»)
* [42.hashCode ä¸ equals (éè¦)](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#42hashcode-ä¸-equals-éè¦)
* [43.hashCode()ä»ç»](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#43hashcodeä»ç»)
* [44.为ä»ä¹è¦æ hashCode](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#44为ä»ä¹è¦æ-hashcode)
* [45.æ½è±¡ç±»åæ¥å£ï¼Java7ï¼çåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#45æ½è±¡ç±»åæ¥å£java7çåºå«)
* [46.Java 8çæ¥å£æ°å¢äºåªäºç¹æ§ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#46java-8çæ¥å£æ°å¢äºåªäºç¹æ§)
* [47.éååéè½½çåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#47éååéè½½çåºå«)
* [48.ArrayListåLinkedListæä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#48arraylistålinkedlistæä»ä¹åºå«)
* [49.HashMapæ¯æä¹å®ç°çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#49hashmapæ¯æä¹å®ç°ç)
* [50.HashMapå¨Java7åJava8ä¸çå®ç°æä»ä¹ä¸åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#50hashmapå¨java7åjava8ä¸çå®ç°æä»ä¹ä¸å)
* [51.HashMapææ¶å伿»å¾ªç¯ï¼ä½ ç¥éæ¯ä»ä¹åå åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#51hashmapææ¶å伿»å¾ªç¯ä½ ç¥éæ¯ä»ä¹åå å)
* [52.ConcurrentHashMapæ¯æä¹å®ç°çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#52concurrenthashmapæ¯æä¹å®ç°ç)
* [53.éæä»£çå卿代ççåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#53éæä»£çå卿代ççåºå«)
* [54.JDK卿代çåCGLIB卿代ççåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#54jdk卿代çåcglib卿代ççåºå«)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E5%9F%BA%E7%A1%80.md#åè龿¥)
* [å¤çº¿ç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md)
* [1.说说synchronizedçå®ç°åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#1说说synchronizedçå®ç°åç)
* [2.ReentrantLockä¸synchronizedçåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#2reentrantlockä¸synchronizedçåºå«)
* [3.ReentrantLockå®ç°åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#3reentrantlockå®ç°åç)
* [4.Javaååç±»AtomicIntegerå®ç°åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#4javaååç±»atomicintegerå®ç°åç)
* [5.Javaçº¿ç¨æ± å®ç°åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#5javaçº¿ç¨æ± å®ç°åç)
* [6.ThreadLocalå®ç°åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#6threadlocalå®ç°åç)
* [7.InheritableThreadLocalåçç¥éåï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#7inheritablethreadlocalåçç¥éå)
* [8.说ä¸ä¸synchronizedéå级è¿ç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#8说ä¸ä¸synchronizedéå级è¿ç¨)
* [9.äºè§£è¿ä»ä¹æ¯â伪å
±äº«âåï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#9äºè§£è¿ä»ä¹æ¯ä¼ªå
±äº«å)
* [10.â伪å
±äº«âåºç°çåå æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#10伪å
±äº«åºç°çåå æ¯ä»ä¹)
* [11.å¦ä½é¿å
â伪å
±äº«âï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#11å¦ä½é¿å
伪å
񄧮)
* [12.Javaéççº¿ç¨æåªäºç¶æï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#12javaéççº¿ç¨æåªäºç¶æ)
* [13.ä»ä¹æ¯æ²è§éï¼ä»ä¹æ¯ä¹è§éï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#13ä»ä¹æ¯æ²è§éä»ä¹æ¯ä¹è§é)
* [14.æä¹åæ¢ä¸ä¸ªè¿è¡ä¸ç线ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#14æä¹åæ¢ä¸ä¸ªè¿è¡ä¸ç线ç¨)
* [15.说ä¸ä¸ä½ 对volatileççè§£ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#15说ä¸ä¸ä½ 对volatileççè§£)
* [16.å¹¶åç¼ç¨ä¸è¦ç´ ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#16å¹¶åç¼ç¨ä¸è¦ç´ )
* [17.åå»ºçº¿ç¨æåªäºæ¹å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#17åå»ºçº¿ç¨æåªäºæ¹å¼)
* [18.çº¿ç¨æ± çä¼ç¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#18çº¿ç¨æ± çä¼ç¹)
* [19.CyclicBarrieråCountDownLatchçåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#19cyclicbarrieråcountdownlatchçåºå«)
* [20.ä»ä¹æ¯CASï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#20ä»ä¹æ¯cas)
* [21.CASçé®é¢](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#21casçé®é¢)
* [22.ä»ä¹æ¯AQSï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#22ä»ä¹æ¯aqs)
* [23.AQSæ¯æå ç§åæ¥æ¹å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#23aqsæ¯æå ç§åæ¥æ¹å¼)
* [24.ä»ä¹æ¯èªæéï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#24ä»ä¹æ¯èªæé)
* [25.ä»ä¹æ¯å¤çº¿ç¨çä¸ä¸æåæ¢ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#25ä»ä¹æ¯å¤çº¿ç¨çä¸ä¸æåæ¢)
* [26.ä»ä¹æ¯çº¿ç¨åè¿ç¨?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#26ä»ä¹æ¯çº¿ç¨åè¿ç¨)
* [27.ç¨åºè®¡æ°å¨ä¸ºä»ä¹æ¯ç§æç?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#27ç¨åºè®¡æ°å¨ä¸ºä»ä¹æ¯ç§æç)
* [28.èææºæ 忬尿¹æ³æ 为ä»ä¹æ¯ç§æç?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#28èææºæ 忬尿¹æ³æ 为ä»ä¹æ¯ç§æç)
* [29.å¹¶åä¸å¹¶è¡çåºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#29å¹¶åä¸å¹¶è¡çåºå«)
* [30.ä»ä¹æ¯çº¿ç¨æ»é?å¦ä½é¿å
æ»é?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#30ä»ä¹æ¯çº¿ç¨æ»éå¦ä½é¿å
æ»é)
* [31.sleep() æ¹æ³å wait() æ¹æ³çåºå«åå
±åç¹?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#31sleep-æ¹æ³å-wait-æ¹æ³çåºå«åå
±åç¹)
* [32.为ä»ä¹æä»¬è°ç¨ start() æ¹æ³æ¶ä¼æ§è¡ run() æ¹æ³ï¼ä¸ºä»ä¹æä»¬ä¸è½ç´æ¥è°ç¨ run() æ¹æ³ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#32为ä»ä¹æä»¬è°ç¨-start-æ¹æ³æ¶ä¼æ§è¡-run-æ¹æ³ä¸ºä»ä¹æä»¬ä¸è½ç´æ¥è°ç¨-run-æ¹æ³)
* [33.ä»ä¹æ¯çº¿ç¨å®å
¨é®é¢ï¼å¦ä½è§£å³ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#33ä»ä¹æ¯çº¿ç¨å®å
¨é®é¢å¦ä½è§£å³)
* [34.ä»ä¹æ¯æ´»éï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#34ä»ä¹æ¯æ´»é)
* [35.ä»ä¹æ¯çº¿ç¨ç饥饿é®é¢ï¼å¦ä½è§£å³ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#35ä»ä¹æ¯çº¿ç¨ç饥饿é®é¢å¦ä½è§£å³)
* [36.ä»ä¹æ¯çº¿ç¨çé»å¡é®é¢ï¼å¦ä½è§£å³ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#36ä»ä¹æ¯çº¿ç¨çé»å¡é®é¢å¦ä½è§£å³)
* [37.synchronized å
³é®åå volatile å
³é®åçåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#37synchronized-å
³é®åå-volatile-å
³é®åçåºå«)
* [38.说ä¸è¯´å ç§å¸¸è§ççº¿ç¨æ± åéç¨åºæ¯ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#38说ä¸è¯´å ç§å¸¸è§ççº¿ç¨æ± åéç¨åºæ¯)
* [39.çº¿ç¨æ± 齿åªå ç§å·¥ä½éåï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#39çº¿ç¨æ± 齿åªå ç§å·¥ä½éå)
* [40.ä»ä¹æ¯çº¿ç¨å®å
¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#40ä»ä¹æ¯çº¿ç¨å®å
¨)
* [41.Javaä¸å¦ä½è·åå°çº¿ç¨dumpæä»¶](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#41javaä¸å¦ä½è·åå°çº¿ç¨dumpæä»¶)
* [42.Javaä¸ç¨å°ç线ç¨è°åº¦ç®æ³æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#42javaä¸ç¨å°ç线ç¨è°åº¦ç®æ³æ¯ä»ä¹)
* [43.Thread.sleep(0)çä½ç¨æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#43threadsleep0çä½ç¨æ¯ä»ä¹)
* [44.å便¨¡å¼ç线ç¨å®å
¨æ§](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#44å便¨¡å¼ç线ç¨å®å
¨æ§)
* [45.Semaphoreæä»ä¹ä½ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#45semaphoreæä»ä¹ä½ç¨)
* [46.Hashtableçsize()æ¹æ³ä¸ææåªæä¸æ¡è¯å¥"return count"ï¼ä¸ºä»ä¹è¿è¦å忥ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#46hashtableçsizeæ¹æ³ä¸ææåªæä¸æ¡è¯å¥return-count为ä»ä¹è¿è¦å忥)
* [47.åæ¥æ¹æ³å忥åï¼åªä¸ªæ¯æ´å¥½çéæ©ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#47åæ¥æ¹æ³å忥ååªä¸ªæ¯æ´å¥½çéæ©)
* [48.é«å¹¶åã任塿§è¡æ¶é´ççä¸å¡ææ ·ä½¿ç¨çº¿ç¨æ± ï¼å¹¶åä¸é«ã任塿§è¡æ¶é´é¿çä¸å¡ææ ·ä½¿ç¨çº¿ç¨æ± ï¼å¹¶åé«ãä¸å¡æ§è¡æ¶é´é¿çä¸å¡ææ ·ä½¿ç¨çº¿ç¨æ± ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#48é«å¹¶å任塿§è¡æ¶é´ççä¸å¡ææ ·ä½¿ç¨çº¿ç¨æ± å¹¶åä¸é«ä»»å¡æ§è¡æ¶é´é¿çä¸å¡ææ ·ä½¿ç¨çº¿ç¨æ± å¹¶åé«ä¸å¡æ§è¡æ¶é´é¿çä¸å¡ææ ·ä½¿ç¨çº¿ç¨æ± )
* [49.å¨Javaä¸Lockæ¥å£æ¯synchronizedåçä¼å¿æ¯ä»ä¹ï¼ä½ éè¦å®ç°ä¸ä¸ªé«æçç¼åï¼å®å
许å¤ä¸ªç¨æ·è¯»ï¼ä½åªå
许ä¸ä¸ªç¨æ·åï¼ä»¥æ¤æ¥ä¿æå®ç宿´æ§ï¼ä½ ä¼ææ ·å»å®ç°å®ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#49å¨javaä¸lockæ¥å£æ¯synchronizedåçä¼å¿æ¯ä»ä¹ä½ éè¦å®ç°ä¸ä¸ªé«æçç¼åå®å
许å¤ä¸ªç¨æ·è¯»ä½åªå
许ä¸ä¸ªç¨æ·åä»¥æ¤æ¥ä¿æå®ç宿´æ§ä½ ä¼ææ ·å»å®ç°å®)
* [50.ä½ å°å¦ä½ä½¿ç¨thread dumpï¼ä½ å°å¦ä½åæThread dumpï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#50ä½ å°å¦ä½ä½¿ç¨thread-dumpä½ å°å¦ä½åæthread-dump)
* [åèèµæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%A4%9A%E7%BA%BF%E7%A8%8B.md#åèèµæ)
* [Javaèææº](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md)
* [1.说ä¸ä¸JVMçå
åç»æï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#1说ä¸ä¸jvmçå
åç»æ)
* [2.æ 帧éé¢å
å«åªäºä¸è¥¿ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#2æ 帧éé¢å
å«åªäºä¸è¥¿)
* [3.ç¨åºè®¡æ°å¨æä»ä¹ä½ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#3ç¨åºè®¡æ°å¨æä»ä¹ä½ç¨)
* [4.å符串常éåæ¾å¨åªä¸ªåºåï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#4å符串常éåæ¾å¨åªä¸ªåºå)
* [5.ä½ çæåªäºå徿¶éç®æ³ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#5ä½ çæåªäºå徿¶éç®æ³)
* [6.Javaéæåªäºå¼ç¨ç±»åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#6javaéæåªäºå¼ç¨ç±»å)
* [7.JVMæä¹å¤æä¸ä¸ªå¯¹è±¡æ¯ä¸æ¯è¦åæ¶ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#7jvmæä¹å¤æä¸ä¸ªå¯¹è±¡æ¯ä¸æ¯è¦åæ¶)
* [8.GC Roots æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#8gc-roots-æåªäº)
* [9.ä½ ç¥éåªäºGCç±»åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#9ä½ ç¥éåªäºgcç±»å)
* [10.å¯¹è±¡é½æ¯ä¼å
åé
å¨å¹´è½»ä»£ä¸çåï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#10å¯¹è±¡é½æ¯ä¼å
åé
å¨å¹´è½»ä»£ä¸çå)
* [11.ä½ äºè§£è¿åªäºå徿¶éå¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#11ä½ äºè§£è¿åªäºå徿¶éå¨)
* [12.说说CMSå徿¶éå¨çå·¥ä½åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#12说说cmså徿¶éå¨çå·¥ä½åç)
* [13.说说G1å徿¶éå¨çå·¥ä½åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#13说说g1å徿¶éå¨çå·¥ä½åç)
* [14.说说ZGCå徿¶éå¨çå·¥ä½åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#14说说zgcå徿¶éå¨çå·¥ä½åç)
* [15.ZGCæ¶éå¨ä¸çæè²æéæä»ä¹ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#15zgcæ¶éå¨ä¸çæè²æéæä»ä¹ç¨)
* [16.说说类å è½½çè¿ç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#16说说类å è½½çè¿ç¨)
* [17.è¯´ä¸æåªäºç±»å è½½å¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#17è¯´ä¸æåªäºç±»å è½½å¨)
* [18.ä»ä¹æ¯åäº²å§æ´¾æºå¶ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#18ä»ä¹æ¯åäº²å§æ´¾æºå¶)
* [19.åäº²å§æ´¾æºå¶å¯ä»¥è¢«è¿èåï¼è¯·ä¸¾ä¾è¯´æã](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#19åäº²å§æ´¾æºå¶å¯ä»¥è¢«è¿èå请举ä¾è¯´æ)
* [20.Tomcatæ¯æä¹æç ´åäº²å§æ´¾æºå¶çå¢ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#20tomcatæ¯æä¹æç ´åäº²å§æ´¾æºå¶çå¢)
* [21.Java对象çå¸å±äºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#21java对象çå¸å±äºè§£è¿å)
* [22.ä»ä¹æ
åµä¸ä¼åçæ å
åæº¢åºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#22ä»ä¹æ
åµä¸ä¼åçæ å
åæº¢åº)
* [23.JVMæ°ç代ä¸ä¸ºä»ä¹è¦å为EdenåSurvivorï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#23jvmæ°ç代ä¸ä¸ºä»ä¹è¦å为edenåsurvivor)
* [24.JVMä¸ä¸æ¬¡å®æ´çGCæµç¨æ¯ææ ·çï¼å¯¹è±¡å¦ä½æåå°è年代ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#24jvmä¸ä¸æ¬¡å®æ´çgcæµç¨æ¯ææ ·ç对象å¦ä½æåå°è年代)
* [25.ä»ä¹æ¯æä»¤éæåºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#25ä»ä¹æ¯æä»¤éæåº)
* [26.ä»ä¹æ¯å
åå±éï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#26ä»ä¹æ¯å
åå±é)
* [27.ä»ä¹æ¯happen-beforeååï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#27ä»ä¹æ¯happen-beforeåå)
* [28.è¯´è¯´ä½ ç¥éçå ç§ä¸»è¦çJVMåæ°](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#28è¯´è¯´ä½ ç¥éçå ç§ä¸»è¦çjvmåæ°)
* [29.æä¹æåºçº¿ç¨æ ä¿¡æ¯ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#29æä¹æåºçº¿ç¨æ ä¿¡æ¯)
* [30.为ä»ä¹éè¦åäº²å§æ´¾æ¨¡å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#30为ä»ä¹éè¦åäº²å§æ´¾æ¨¡å¼)
* [31.æä¹æç ´åäº²å§æ´¾æ¨¡åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#31æä¹æç ´åäº²å§æ´¾æ¨¡å)
* [32.说ä¸ä¸å åæ çåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#32说ä¸ä¸å åæ çåºå«)
* [33.Java 8 为ä»ä¹è¦å°æ°¸ä¹
代(PermGen)æ¿æ¢ä¸ºå
空é´(MetaSpace)å¢ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#33java-8-为ä»ä¹è¦å°æ°¸ä¹
代permgenæ¿æ¢ä¸ºå
空é´metaspaceå¢)
* [34.说ä¸ä¸Java对象çå建è¿ç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#34说ä¸ä¸java对象çå建è¿ç¨)
* [35.对象ç访é®å®ä½æåªå ç§æ¹å¼?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#35对象ç访é®å®ä½æåªå ç§æ¹å¼)
* [36.说ä¸ä¸å å
åä¸å¯¹è±¡çåé
çåºæ¬çç¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#36说ä¸ä¸å å
åä¸å¯¹è±¡çåé
çåºæ¬çç¥)
* [37.Minor GcåFull GC æä»ä¹ä¸åå¢ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#37minor-gcåfull-gc-æä»ä¹ä¸åå¢)
* [38.Javaä¼åå¨å
åæ³æ¼åï¼è¯·ç®åæè¿°ã](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#38javaä¼åå¨å
åæ³æ¼å请ç®åæè¿°)
* [39.å¦ä½å¤æä¸ä¸ªç±»æ¯æ ç¨çç±»?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#39å¦ä½å¤æä¸ä¸ªç±»æ¯æ ç¨çç±»)
* [40.ä»ç»ä¸ä¸ç±»æä»¶ç»æå§ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#40ä»ç»ä¸ä¸ç±»æä»¶ç»æå§)
* [41.说ä¸ä¸ JVM è°ä¼çå·¥å
·ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#41说ä¸ä¸-jvm-è°ä¼çå·¥å
·)
* [42.JVMè°ä¼å½ä»¤æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#42jvmè°ä¼å½ä»¤æåªäº)
* [43.JREãJDKãJVM å JIT ä¹é´æä»ä¹ä¸åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#43jrejdkjvm-å-jit-ä¹é´æä»ä¹ä¸å)
* [ç¨åºè®¡æ°å¨ä¸ºä»ä¹æ¯ç§æç?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#ç¨åºè®¡æ°å¨ä¸ºä»ä¹æ¯ç§æç)
* [å¦ä½å¤æä¸ä¸ªå¸¸éæ¯åºå¼å¸¸é ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#å¦ä½å¤æä¸ä¸ªå¸¸éæ¯åºå¼å¸¸é-)
* [åèèµæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E8%99%9A%E6%8B%9F%E6%9C%BA.md#åèèµæ)
* [Java IO](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md)
* [1.Java 䏿å ç§ç±»åçæµï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#1java-䏿å ç§ç±»åçæµ)
* [2.ä»ä¹æ¯ javaåºååï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#2ä»ä¹æ¯-javaåºåå)
* [3.å¦ä½å®ç° java åºååï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#3å¦ä½å®ç°-java-åºåå)
* [4.åèæµåå符æµçåºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#4åèæµåå符æµçåºå«)
* [5.PrintStreamãBufferedWriterãPrintWriterçæ¯è¾?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#5printstreambufferedwriterprintwriterçæ¯è¾)
* [6.ä»ä¹æ¯èç¹æµ,ä»ä¹æ¯å¤çæµ,å®ä»¬åæä»ä¹ç¨å¤,å¤çæµçå建æä»ä¹ç¹å¾ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#6ä»ä¹æ¯èç¹æµä»ä¹æ¯å¤çæµå®ä»¬åæä»ä¹ç¨å¤å¤çæµçå建æä»ä¹ç¹å¾)
* [7.æµä¸è¬éè¦ä¸éè¦å
³é,妿å
³éçè¯å¨ç¨ä»ä¹æ¹æ³,ä¸è¬è¦å¨é£ä¸ªä»£ç åéé¢å
³éæ¯è¾å¥½ï¼å¤çæµæ¯æä¹å
³éçï¼å¦ææå¤ä¸ªæµäºç¸è°ç¨ä¼ å
¥æ¯æä¹å
³éçï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#7æµä¸è¬éè¦ä¸éè¦å
³é妿å
³éçè¯å¨ç¨ä»ä¹æ¹æ³ä¸è¬è¦å¨é£ä¸ªä»£ç åéé¢å
³éæ¯è¾å¥½å¤çæµæ¯æä¹å
³éç妿æå¤ä¸ªæµäºç¸è°ç¨ä¼ å
¥æ¯æä¹å
³éç)
* [8.ä»ä¹æ¯BIO](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#8ä»ä¹æ¯bio)
* [9.ä»ä¹æ¯NIO](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#9ä»ä¹æ¯nio)
* [10.ä»ä¹æ¯AIO](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#10ä»ä¹æ¯aio)
* [11.忥ä¸å¼æ¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#11忥ä¸å¼æ¥)
* [12.é»å¡ä¸éé»å¡](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#12é»å¡ä¸éé»å¡)
* [13.忥ã弿¥ãé»å¡ãéå µå¡](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#13忥弿¥é»å¡éå µå¡)
* [14.ééæ¯ä¸ªä»ä¹ææï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#14ééæ¯ä¸ªä»ä¹ææ)
* [15.ç¼å²åºæ¯ä»ä¹ææï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#15ç¼å²åºæ¯ä»ä¹ææ)
* [16.IOå¤è·¯å¤ç¨çåºå±åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#16ioå¤è·¯å¤ç¨çåºå±åç)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/JavaIO.md#åè龿¥)
* [MySQL](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md)
* [1. ä»ä¹æ¯ç´¢å¼?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#1-ä»ä¹æ¯ç´¢å¼)
* [2.ç´¢å¼æ¯ä¸ªä»ä¹æ ·çæ°æ®ç»æå¢?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#2ç´¢å¼æ¯ä¸ªä»ä¹æ ·çæ°æ®ç»æå¢)
* [3.Hashç´¢å¼åB+æ ç´¢å¼æä»ä¹åºå«æè
说ä¼å£å¢?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#3hashç´¢å¼åbæ ç´¢å¼æä»ä¹åºå«æè
说ä¼å£å¢)
* [4.å¨å»ºç«ç´¢å¼çæ¶å,齿åªäºéè¦èèçå ç´ å¢?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#4å¨å»ºç«ç´¢å¼çæ¶å齿åªäºéè¦èèçå ç´ å¢)
* [5.äºè§£è¿åªäºåå¨å¼æï¼åæä»ä¹ä¼ç¼ºç¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#5äºè§£è¿åªäºåå¨å¼æåæä»ä¹ä¼ç¼ºç¹)
* [6.说ä¸ä¸ä»ä¹æ¯äºå¡çACID屿§å§](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#6说ä¸ä¸ä»ä¹æ¯äºå¡çacid屿§å§)
* [7.äºå¡çé离级å«äºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#7äºå¡çé离级å«äºè§£è¿å)
* [8.说说InnoDBçç´¢å¼åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#8说说innodbçç´¢å¼åç)
* [说说InnoDBçMVCCæºå¶](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#说说innodbçmvccæºå¶)
* [9.æäºè§£è¿âå表âçæ¦å¿µåï¼ä»ä¹æ
åµä¸ä¼åºç°âå表âï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#9æäºè§£è¿åè¡¨çæ¦å¿µåä»ä¹æ
åµä¸ä¼åºç°å表)
* [10.MySQLç´¢å¼çç±»å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#10mysqlç´¢å¼çç±»å)
* [11.æåè¿MySQLçç´¢å¼ä¼åå](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#11æåè¿mysqlçç´¢å¼ä¼åå)
* [12.ä»ä¹æ¯èç°ç´¢å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#12ä»ä¹æ¯èç°ç´¢å¼)
* [13.InnoDBæèç°ç´¢å¼åï¼MyIsamå¢ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#13innodbæèç°ç´¢å¼åmyisamå¢)
* [14.MyIsamçæ°æ®æ¯æä¹åå¨çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#14myisamçæ°æ®æ¯æä¹åå¨ç)
* [15.InnoDBçæ°æ®æ¯æä¹åå¨çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#15innodbçæ°æ®æ¯æä¹åå¨ç)
* [16.InnoDB主é®ç´¢å¼è·é主é®ç´¢å¼å¨æ°æ®åå¨ä¸çå·®å¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#16innodb主é®ç´¢å¼è·é主é®ç´¢å¼å¨æ°æ®åå¨ä¸çå·®å¼)
* [17.InnoDBå 餿æ¡è®°å½åï¼å
é¨ä¼æä¹å¤çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#17innodbå 餿æ¡è®°å½åå
é¨ä¼æä¹å¤ç)
* [18.InnoDBå¦ææ²¡æè®¾ç½®ä¸»é®çè¯ï¼å®å
é¨ä¼æä¹å¤çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#18innodbå¦ææ²¡æè®¾ç½®ä¸»é®çè¯å®å
é¨ä¼æä¹å¤ç)
* [19.为ä»ä¹InnoDBä¸å®ä¼çæä¸»é®ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#19为ä»ä¹innodbä¸å®ä¼çæä¸»é®)
* [20.MySQLååºå表äºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#20mysqlååºå表äºè§£è¿å)
* [21.MySQLçredoæ¥å¿åundoæ¥å¿å嫿ä»ä¹ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#21mysqlçredoæ¥å¿åundoæ¥å¿å嫿ä»ä¹ç¨)
* [22.MySQLçredoæ¥å¿çå·çæ¶æº](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#22mysqlçredoæ¥å¿çå·çæ¶æº)
* [23.MySQLæåªäºéï¼ä»¥ååç§éçä½ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#23mysqlæåªäºé以ååç§éçä½ç¨)
* [24.MySQLä¸varcharä¸charçåºå«ä»¥åvarchar(50)ä¸ç50ä»£è¡¨çæ¶µä¹](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#24mysqlä¸varcharä¸charçåºå«ä»¥åvarchar50ä¸ç50ä»£è¡¨çæ¶µä¹)
* [25.MySQLæåªäºæ¥å¿ï¼å嫿¯ä»ä¹ç¨å¤ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#25mysqlæåªäºæ¥å¿å嫿¯ä»ä¹ç¨å¤)
* [26.å¨åªäºæ
åµä¸ä¼åçé对该åå建äºç´¢å¼ä½æ¯å¨æ¥è¯¢çæ¶å并没æä½¿ç¨å¢?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#26å¨åªäºæ
åµä¸ä¼åçé对该åå建äºç´¢å¼ä½æ¯å¨æ¥è¯¢çæ¶å并没æä½¿ç¨å¢)
* [27. 为ä»ä¹è¦å°½é设å®ä¸ä¸ªä¸»é®?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#27-为ä»ä¹è¦å°½é设å®ä¸ä¸ªä¸»é®)
* [28.主é®ä½¿ç¨èªå¢IDè¿æ¯UUID?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#28主é®ä½¿ç¨èªå¢idè¿æ¯uuid)
* [29.åæ®µä¸ºä»ä¹è¦æ±å®ä¹ä¸ºnot null?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#29åæ®µä¸ºä»ä¹è¦æ±å®ä¹ä¸ºnot-null)
* [30.妿è¦åå¨ç¨æ·çå¯ç æ£å,åºè¯¥ä½¿ç¨ä»ä¹å段è¿è¡åå¨?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#30妿è¦åå¨ç¨æ·çå¯ç æ£ååºè¯¥ä½¿ç¨ä»ä¹å段è¿è¡åå¨)
* [31.varchar(10)åint(10)代表ä»ä¹å«ä¹?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#31varchar10åint10代表ä»ä¹å«ä¹)
* [32.MySQLçbinlogææå ç§å½å
¥æ ¼å¼?å嫿ä»ä¹åºå«?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#32mysqlçbinlogææå ç§å½å
¥æ ¼å¼å嫿ä»ä¹åºå«)
* [33.è¶
大å页æä¹å¤ç?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#33è¶
大å页æä¹å¤ç)
* [34.å
³å¿è¿ä¸å¡ç³»ç»éé¢çsqlèæ¶å?ç»è®¡è¿æ
¢æ¥è¯¢å?对æ
¢æ¥è¯¢é½æä¹ä¼åè¿?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#34å
³å¿è¿ä¸å¡ç³»ç»éé¢çsqlèæ¶åç»è®¡è¿æ
¢æ¥è¯¢å对æ
¢æ¥è¯¢é½æä¹ä¼åè¿)
* [35.ä»ä¹æ¯åå¨è¿ç¨ï¼æåªäºä¼ç¼ºç¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#35ä»ä¹æ¯åå¨è¿ç¨æåªäºä¼ç¼ºç¹)
* [36.说ä¸è¯´ä¸ä¸ªèå¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#36说ä¸è¯´ä¸ä¸ªèå¼)
* [37.ä»ä¹æ
åµä¸åºä¸å»ºæå°å»ºç´¢å¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#37ä»ä¹æ
åµä¸åºä¸å»ºæå°å»ºç´¢å¼)
* [38.ä»ä¹æ¯è¡¨ååºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#38ä»ä¹æ¯è¡¨ååº)
* [39.表ååºä¸å表çåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#39表ååºä¸å表çåºå«)
* [40.表ååºæä»ä¹å¥½å¤ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#40表ååºæä»ä¹å¥½å¤)
* [41.MVVCäºè§£è¿å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#41mvvcäºè§£è¿å)
* [42.å¨MVCCå¹¶åæ§å¶ä¸ï¼è¯»æä½å¯ä»¥åæåªå ç±»ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#42å¨mvccå¹¶åæ§å¶ä¸è¯»æä½å¯ä»¥åæåªå ç±»)
* [43.è¡çº§éå®çä¼ç¹](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#43è¡çº§éå®çä¼ç¹)
* [44.è¡çº§éå®ç缺ç¹](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#44è¡çº§éå®ç缺ç¹)
* [45.MySQLä¼å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#45mysqlä¼å)
* [46.keyåindexçåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#46keyåindexçåºå«)
* [47.deleteãtruncateãdropåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#47deletetruncatedropåºå«)
* [48.MySQL主ä»å¤å¶åçæµç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#48mysql主ä»å¤å¶åçæµç¨)
* [49.èªå¢ä¸»é®æå¤§IDè®°å½ï¼MyISAMåInnoDBå嫿¯å¦ä½åå¨ç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#49èªå¢ä¸»é®æå¤§idè®°å½myisamåinnodbå嫿¯å¦ä½åå¨ç)
* [50.Mysqlå¦ä½ä¼åDISTINCT?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#50mysqlå¦ä½ä¼ådistinct)
* [51.è§£éMySQLå¤è¿æ¥ãå
è¿æ¥ä¸èªè¿æ¥çåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#51è§£émysqlå¤è¿æ¥å
è¿æ¥ä¸èªè¿æ¥çåºå«)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MySQL.md#åè龿¥)
* [Redis](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md)
* [1.ä»ä¹æ¯Redisï¼ç®è¿°å®çä¼ç¼ºç¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#1ä»ä¹æ¯redisç®è¿°å®çä¼ç¼ºç¹)
* [2.Redisç¸æ¯memcachedæåªäºä¼å¿ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#2redisç¸æ¯memcachedæåªäºä¼å¿)
* [3.Redisæåªäºæ°æ®ç»æï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#3redisæåªäºæ°æ®ç»æ)
* [4.Redisä¸»è¦æ¶èä»ä¹ç©çèµæºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#4redisä¸»è¦æ¶èä»ä¹ç©çèµæº)
* [5.Redisçå
¨ç§°æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#5redisçå
¨ç§°æ¯ä»ä¹)
* [6.ä¸ä¸ªå符串类åçå¼è½å卿大容鿝å¤å°ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#6ä¸ä¸ªå符串类åçå¼è½å卿大容鿝å¤å°)
* [7.Redis为ä»ä¹é£ä¹å¿«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#7redis为ä»ä¹é£ä¹å¿«)
* [8.Rediså¦ä½å®ç°åå¸å¼éï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#8rediså¦ä½å®ç°åå¸å¼é)
* [9.Redisæ¯å线ç¨è¿æ¯å¤çº¿ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#9redisæ¯å线ç¨è¿æ¯å¤çº¿ç¨)
* [10.Redis 宿¹ä¸ºä»ä¹ä¸æä¾ Windows çæ¬ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#10redis-宿¹ä¸ºä»ä¹ä¸æä¾-windows-çæ¬)
* [11.为ä»ä¹ Redis éè¦ææææ°æ®æ¾å°å
åä¸ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#11为ä»ä¹-redis-éè¦ææææ°æ®æ¾å°å
åä¸)
* [12.Rediså¦ä½è®¾ç½®å¯ç åéªè¯å¯ç ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#12rediså¦ä½è®¾ç½®å¯ç åéªè¯å¯ç )
* [13.Redisé群å¦ä½éæ©æ°æ®åºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#13redisé群å¦ä½éæ©æ°æ®åº)
* [14.ç¼å失æï¼ç¼åç©¿éï¼ç¼åéªå´©ï¼ç¼åå¹¶åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#14ç¼å失æç¼åç©¿éç¼åéªå´©ç¼åå¹¶å)
* [15.Redisä¸ççkeyæä¹å¤çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#15redisä¸ççkeyæä¹å¤ç)
* [16.Redisä¸ç大keyæä¹å¤çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#16redisä¸ç大keyæä¹å¤ç)
* [17.使ç¨Redisç»è®¡ç½ç«çUVï¼åºè¯¥æä¹åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#17使ç¨redisç»è®¡ç½ç«çuvåºè¯¥æä¹å)
* [18.Redisäºå¡æºå¶äºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#18redisäºå¡æºå¶äºè§£è¿å)
* [19.Redis keyçæ·æ±°çç¥æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#19redis-keyçæ·æ±°çç¥æåªäº)
* [20.Rediså¨ä»ä¹æ
åµä¸ä¼è§¦åkeyçåæ¶ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#20rediså¨ä»ä¹æ
åµä¸ä¼è§¦åkeyçåæ¶)
* [21.Redisçæä¹
åäºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#21redisçæä¹
åäºè§£è¿å)
* [22.Rediså¨éç¾¤ç§æ¥æ¾keyçæ¶åï¼æ¯æä¹å®ä½å°å
·ä½èç¹çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#22rediså¨éç¾¤ç§æ¥æ¾keyçæ¶åæ¯æä¹å®ä½å°å
·ä½èç¹ç)
* [23.Redisé群å个èç¹ä¹é´æ¯æä¹ä¿ææ°æ®ä¸è´æ§çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#23redisé群å个èç¹ä¹é´æ¯æä¹ä¿ææ°æ®ä¸è´æ§ç)
* [24.ç¨Redisåå»¶æ¶éåï¼å
·ä½åºè¯¥æä¹å®ç°ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#24ç¨redisåå»¶æ¶éåå
·ä½åºè¯¥æä¹å®ç°)
* [25.Redis Stringçå
é¨ç¼ç æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#25redis-stringçå
é¨ç¼ç æåªäº)
* [26.Redis éç¾¤æ¹æ¡åºè¯¥æä¹åï¼é½æåªäºæ¹æ¡ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#26redis-éç¾¤æ¹æ¡åºè¯¥æä¹å齿åªäºæ¹æ¡)
* [27.Redis éç¾¤æ¹æ¡ä»ä¹æ
åµä¸ä¼å¯¼è´æ´ä¸ªé群ä¸å¯ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#27redis-éç¾¤æ¹æ¡ä»ä¹æ
åµä¸ä¼å¯¼è´æ´ä¸ªé群ä¸å¯ç¨)
* [28.MySQL éæ 2000w æ°æ®ï¼redis ä¸åªå 20w çæ°æ®ï¼å¦ä½ä¿è¯ redis ä¸çæ°æ®é½æ¯çç¹æ°æ®ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#28mysql-éæ-2000w-æ°æ®redis-ä¸åªå-20w-çæ°æ®å¦ä½ä¿è¯-redis-ä¸çæ°æ®é½æ¯çç¹æ°æ®)
* [29.Redisæåªäºéåçåºæ¯ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#29redisæåªäºéåçåºæ¯)
* [30.RedisåRedissonæä»ä¹å
³ç³»ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#30redisåredissonæä»ä¹å
³ç³»)
* [31.Redisä¸ç管éæä»ä¹ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#31redisä¸ç管éæä»ä¹ç¨)
* [32.Rediså¦ä½åå
åä¼åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#32rediså¦ä½åå
åä¼å)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Redis.md#åè龿¥)
* [Spring](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md)
* [1.ä»ä¹æ¯spring?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#1ä»ä¹æ¯spring)
* [2.使ç¨Springæ¡æ¶ç好夿¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#2使ç¨springæ¡æ¶ç好夿¯ä»ä¹)
* [3.Springç±åªäºæ¨¡åç»æ?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#3springç±åªäºæ¨¡åç»æ)
* [4.Springæ¯æä¹è§£å³å¾ªç¯ä¾èµçï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#4springæ¯æä¹è§£å³å¾ªç¯ä¾èµç)
* [5.Spring Bootæå¨è£
é
æåªå ç§æ¹å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#5spring-bootæå¨è£
é
æåªå ç§æ¹å¼)
* [6.Spring Bootèªå¨é
ç½®åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#6spring-bootèªå¨é
ç½®åç)
* [7.è°è°èªå·±å¯¹äºSpring IOCççè§£](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#7è°è°èªå·±å¯¹äºspring-iocççè§£)
* [8.è°è°èªå·±å¯¹äºSpring AOPççè§£](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#8è°è°èªå·±å¯¹äºspring-aopççè§£)
* [9.Spring AOPåAspectJ AOPæä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#9spring-aopåaspectj-aopæä»ä¹åºå«)
* [10.Springä¸çbeançä½ç¨åæåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#10springä¸çbeançä½ç¨åæåªäº)
* [11.Springä¸çåä¾beanç线ç¨å®å
¨é®é¢äºè§£åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#11springä¸çåä¾beanç线ç¨å®å
¨é®é¢äºè§£å)
* [12.Springä¸çbeançå½å¨æäºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#12springä¸çbeançå½å¨æäºè§£è¿å)
* [13.Spring MVCçå·¥ä½åçäºè§£åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#13spring-mvcçå·¥ä½åçäºè§£å)
* [14.Springæ¡æ¶ä¸ç¨å°äºåªäºè®¾è®¡æ¨¡å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#14springæ¡æ¶ä¸ç¨å°äºåªäºè®¾è®¡æ¨¡å¼)
* [15.@Componentå@Beançåºå«æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#15componentåbeançåºå«æ¯ä»ä¹)
* [16.å°ä¸ä¸ªç±»å£°æä¸ºSpringçbeançæ³¨è§£æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#16å°ä¸ä¸ªç±»å£°æä¸ºspringçbeançæ³¨è§£æåªäº)
* [17.Springäºå¡ç®¡ççæ¹å¼æå ç§ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#17springäºå¡ç®¡ççæ¹å¼æå ç§)
* [18.Springäºå¡ä¸çéç¦»çº§å«æåªå ç§ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#18springäºå¡ä¸çéç¦»çº§å«æåªå ç§)
* [19.Springäºå¡ä¸æåªå ç§äºå¡ä¼ æè¡ä¸ºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#19springäºå¡ä¸æåªå ç§äºå¡ä¼ æè¡ä¸º)
* [20.Spring äºå¡åºå±åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#20spring-äºå¡åºå±åç)
* [21.BeanFactoryåApplicationContextæä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#21beanfactoryåapplicationcontextæä»ä¹åºå«)
* [22.Resource æ¯å¦ä½è¢«æ¥æ¾ãå è½½çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#22resource-æ¯å¦ä½è¢«æ¥æ¾å è½½ç)
* [23.è§£éèªå¨è£
é
çåç§æ¨¡å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#23è§£éèªå¨è£
é
çåç§æ¨¡å¼)
* [24.æåªäºä¸åç±»åçIOC(ä¾èµæ³¨å
¥)ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#24æåªäºä¸åç±»åçiocä¾èµæ³¨å
¥)
* [25.Spring AOP å®ç°åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#25spring-aop-å®ç°åç)
* [26.ApplicationContexté常çå®ç°æ¯ä»ä¹?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#26applicationcontexté常çå®ç°æ¯ä»ä¹)
* [27. Bean å·¥åå Application contexts æä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#27-bean-å·¥åå-application-contexts-æä»ä¹åºå«)
* [åèèµæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Spring.md#åèèµæ)
* [Spring Boot](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md)
* [1.ä»ä¹æ¯springboot](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#1ä»ä¹æ¯springboot)
* [2.Spring Boot æåªäºä¼ç¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#2spring-boot-æåªäºä¼ç¹)
* [3. å建ä¸ä¸ª Spring Boot Project çæç®åçæ¹æ³æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#3-å建ä¸ä¸ª-spring-boot-project-çæç®åçæ¹æ³æ¯ä»ä¹)
* [4.Spring å SpringBoot æä»ä¹ä¸åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#4spring-å-springboot-æä»ä¹ä¸å)
* [5.å¦ä½éæ°å è½½ Spring Boot ä¸çæ´æ¹ï¼èæ ééæ°å¯å¨æå¡å¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#5å¦ä½éæ°å è½½-spring-boot-ä¸çæ´æ¹èæ ééæ°å¯å¨æå¡å¨)
* [6.Spring Boot ä¸ççè§å¨æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#6spring-boot-ä¸ççè§å¨æ¯ä»ä¹)
* [7.å¦ä½å¨ Spring Boot ä¸ç¦ç¨ Actuator 端ç¹å®å
¨æ§ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#7å¦ä½å¨-spring-boot-ä¸ç¦ç¨-actuator-端ç¹å®å
¨æ§)
* [8.æä¹ä½¿ç¨ Maven æ¥æå»ºä¸ä¸ª SpringBoot ç¨åºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#8æä¹ä½¿ç¨-maven-æ¥æå»ºä¸ä¸ª-springboot-ç¨åº)
* [9.Spring Initializr æ¯å建 Spring Boot Projects çå¯ä¸æ¹æ³åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#9spring-initializr-æ¯å建-spring-boot-projects-çå¯ä¸æ¹æ³å)
* [10.为ä»ä¹æä»¬éè¦ spring-boot-maven-plugin?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#10为ä»ä¹æä»¬éè¦-spring-boot-maven-plugin)
* [11.ä»ä¹æ¯åµå
¥å¼æå¡å¨ï¼æä»¬ä¸ºä»ä¹è¦ä½¿ç¨åµå
¥å¼æå¡å¨å¢?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#11ä»ä¹æ¯åµå
¥å¼æå¡å¨æä»¬ä¸ºä»ä¹è¦ä½¿ç¨åµå
¥å¼æå¡å¨å¢)
* [12.å¦ä½å¨ Spring Boot 䏿·»å éç¨ç JS 代ç ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#12å¦ä½å¨-spring-boot-䏿·»å éç¨ç-js-代ç )
* [13.å¦ä½ä½¿ç¨ Spring Boot é¨ç½²å°ä¸åçæå¡å¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#13å¦ä½ä½¿ç¨-spring-boot-é¨ç½²å°ä¸åçæå¡å¨)
* [14.å¦ä½ä½¿ç¨é
ç½®æä»¶éè¿ Spring Boot é
ç½®ç¹å®ç¯å¢çé
ç½®ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#14å¦ä½ä½¿ç¨é
ç½®æä»¶éè¿-spring-boot-é
ç½®ç¹å®ç¯å¢çé
ç½®)
* [15.ä»ä¹æ¯Swaggerï¼ä½ ç¨Spring Bootå®ç°äºåï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#15ä»ä¹æ¯swaggerä½ ç¨spring-bootå®ç°äºå)
* [16.å¦ä½å®ç°Spring Bootåºç¨ç¨åºçå®å
¨æ§ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#16å¦ä½å®ç°spring-bootåºç¨ç¨åºçå®å
¨æ§)
* [17.æ¯è¾ä¸ä¸Spring SecurityåShiroåèªçä¼ç¼ºç¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#17æ¯è¾ä¸ä¸spring-securityåshiroåèªçä¼ç¼ºç¹)
* [18.Spring Bootä¸å¦ä½è§£å³è·¨åé®é¢ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#18spring-bootä¸å¦ä½è§£å³è·¨åé®é¢)
* [19.Spring Bootçæ ¸å¿æ³¨è§£æ¯åªäºï¼ä»ç±åªå ä¸ªæ³¨è§£ç»æçï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#19spring-bootçæ ¸å¿æ³¨è§£æ¯åªäºä»ç±åªå ä¸ªæ³¨è§£ç»æç)
* [20.ä¿æ¤SpringBootåºç¨æåªäºæ¹æ³ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#20ä¿æ¤springbootåºç¨æåªäºæ¹æ³)
* [21.SpringBoot 2.Xæåªäºæ°ç¹æ§ï¼ä¸1.Xæä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#21springboot-2xæåªäºæ°ç¹æ§ä¸1xæä»ä¹åºå«)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringBoot.md#åè龿¥)
* [Spring Cloud](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md)
* [1.ä»ä¹æ¯ Spring Cloudï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#1ä»ä¹æ¯-spring-cloud)
* [2.使ç¨Spring Cloudæä»ä¹ä¼å¿ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#2使ç¨spring-cloudæä»ä¹ä¼å¿)
* [3.æå¡æ³¨åååç°æ¯ä»ä¹ææï¼Spring Cloudå¦ä½å®ç°ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#3æå¡æ³¨åååç°æ¯ä»ä¹ææspring-cloudå¦ä½å®ç°)
* [4.Spring Cloudç±åªäºç»ä»¶ç»æï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#4spring-cloudç±åªäºç»ä»¶ç»æ)
* [5.ä»ä¹æ¯Hystrixï¼å®å¦ä½å®ç°å®¹éï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#5ä»ä¹æ¯hystrixå®å¦ä½å®ç°å®¹é)
* [6.ä»ä¹æ¯Hystrixæè·¯å¨ï¼æä»¬éè¦å®åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#6ä»ä¹æ¯hystrixæè·¯å¨æä»¬éè¦å®å)
* [7.ä»ä¹æ¯Netflix Feignï¼å®çä¼ç¹æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#7ä»ä¹æ¯netflix-feignå®çä¼ç¹æ¯ä»ä¹)
* [8.Eurekaçå·¥ä½åçï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#8eurekaçå·¥ä½åç)
* [9.说说Eurekaçèªæä¿æ¤æºå¶ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#9说说eurekaçèªæä¿æ¤æºå¶)
* [10.ä»ä¹æ¯zuul?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#10ä»ä¹æ¯zuul)
* [11.zuulç工使µç¨?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#11zuulç工使µç¨)
* [12.ä»ä¹æ¯æå¡çæï¼ä»ä¹æ¯æå¡é级ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#12ä»ä¹æ¯æå¡çæä»ä¹æ¯æå¡é级)
* [13.ä»ä¹æ¯æå¡éªå´©æåº?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#13ä»ä¹æ¯æå¡éªå´©æåº)
* [14.ZuulFilteræåªäºå¸¸ç¨æ¹æ³ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#14zuulfilteræåªäºå¸¸ç¨æ¹æ³)
* [15.å¦ä½å®ç°å¨æZuulç½å
³è·¯ç±è½¬åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#15å¦ä½å®ç°å¨æzuulç½å
³è·¯ç±è½¬å)
* [16.ä»ä¹æ¯ Spring Cloud Bus?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#16ä»ä¹æ¯-spring-cloud-bus)
* [17.Spring Cloud Bus åçï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#17spring-cloud-bus-åç)
* [18.SpringCloud Configå¯ä»¥å®ç°å®æ¶å·æ°å?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#18springcloud-configå¯ä»¥å®ç°å®æ¶å·æ°å)
* [19.Eurekaåzookeeperé½å¯ä»¥æä¾æå¡æ³¨åä¸åç°çåè½ï¼ä¸¤è
çåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#19eurekaåzookeeperé½å¯ä»¥æä¾æå¡æ³¨åä¸åç°çåè½ä¸¤è
çåºå«)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/SpringCloud.md#åè龿¥)
* [Mybatis](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md)
* [1.ä»ä¹æ¯Mybatisï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#1ä»ä¹æ¯mybatis)
* [2.Mybatisçä¼ç¼ºç¹?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#2mybatisçä¼ç¼ºç¹)
* [3.Mybatis使ç¨åºå?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#3mybatis使ç¨åºå)
* [4.https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#{}å${}çåºå«æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#4åçåºå«æ¯ä»ä¹)
* [5.å½å®ä½ç±»ç屿§åå表ç§å段åä¸ä¸è´æä¹å?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#5å½å®ä½ç±»ç屿§åå表ç§å段åä¸ä¸è´æä¹å)
* [6.Mybatisæ¯å¦ä½å°sqlæ§è¡ç»æå°è£
ä¸ºç®æ 对象并è¿åçï¼é½æåªäºæ å°å½¢å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#6mybatisæ¯å¦ä½å°sqlæ§è¡ç»æå°è£
ä¸ºç®æ 对象并è¿åç齿åªäºæ å°å½¢å¼)
* [7.å¦ä½è·åèªå¨çæç(主)é®å¼?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#7å¦ä½è·åèªå¨çæç主é®å¼)
* [8.MybatisçXmlæ å°æä»¶ä¸ï¼ä¸åçXmlæ å°æä»¶ï¼idæ¯å¦å¯ä»¥éå¤ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#8mybatisçxmlæ å°æä»¶ä¸ä¸åçxmlæ å°æä»¶idæ¯å¦å¯ä»¥éå¤)
* [9. Mybatis卿SQLï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#9-mybatis卿sql)
* [10.说ä¸ä¸resultMapåresultTypeï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#10说ä¸ä¸resultmapåresulttype)
* [11. Mybatiså
¨å±é
ç½®æä»¶ä¸æåªäºæ ç¾?åå«ä»£è¡¨ä»ä¹ææ?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#11-mybatiså
¨å±é
ç½®æä»¶ä¸æåªäºæ ç¾åå«ä»£è¡¨ä»ä¹ææ)
* [12.Mybatisè½æ§è¡ä¸å¯¹ä¸ãä¸å¯¹å¤çå
³èæ¥è¯¢åï¼é½æåªäºå®ç°æ¹å¼ï¼ä»¥åå®ä»¬ä¹é´çåºå«ã](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#12mybatisè½æ§è¡ä¸å¯¹ä¸ä¸å¯¹å¤çå
³èæ¥è¯¢å齿åªäºå®ç°æ¹å¼ä»¥åå®ä»¬ä¹é´çåºå«)
* [13.Mybatisæ¯å¦æ¯æå»¶è¿å è½½ï¼å¦ææ¯æï¼å®çå®ç°åçæ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#13mybatisæ¯å¦æ¯æå»¶è¿å è½½å¦ææ¯æå®çå®ç°åçæ¯ä»ä¹)
* [14.Mybatis齿åªäºExecutoræ§è¡å¨ï¼å®ä»¬ä¹é´çåºå«æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#14mybatis齿åªäºexecutoræ§è¡å¨å®ä»¬ä¹é´çåºå«æ¯ä»ä¹)
* [15.Mybatisçä¸çº§ãäºçº§ç¼å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#15mybatisçä¸çº§äºçº§ç¼å)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mybatis.md#åè龿¥)
* [Netty](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md)
* [1.ä½ äºè§£è¿åªäºIO模åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#1ä½ äºè§£è¿åªäºio模å)
* [2.ä»ä¹æ¯Reactor模åï¼Reactorç3ç§çæ¬é½ç¥éåï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#2ä»ä¹æ¯reactor模åreactorç3ç§çæ¬é½ç¥éå)
* [3.äºè§£è¿ç²å
æå
åï¼ä¸ºä»ä¹ä¼åºç°ç²å
æå
ï¼æä¹å¤çç²å
æå
ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#3äºè§£è¿ç²å
æå
å为ä»ä¹ä¼åºç°ç²å
æå
æä¹å¤çç²å
æå
)
* [4.UDPåè®®ä¼æç²å
æå
çé®é¢åï¼ä¸ºä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#4udpåè®®ä¼æç²å
æå
çé®é¢å为ä»ä¹)
* [5.Netty æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#5netty-æ¯ä»ä¹)
* [6.为ä»ä¹è¦ç¨ Nettyï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#6为ä»ä¹è¦ç¨-netty)
* [7.Netty çåºç¨åºæ¯äºè§£ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#7netty-çåºç¨åºæ¯äºè§£ä¹)
* [8.Netty çé¶æ·è´äºè§£ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#8netty-çé¶æ·è´äºè§£ä¹)
* [9.Netty çå¿è·³æºå¶äºè§£ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#9netty-çå¿è·³æºå¶äºè§£ä¹)
* [10.Netty 䏿åªäºéè¦ç»ä»¶ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#10netty-䏿åªäºéè¦ç»ä»¶)
* [11.Netty åéæ¶æ¯æå ç§æ¹å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#11netty-åéæ¶æ¯æå ç§æ¹å¼)
* [12.Netty æ¯æåªäºå¿è·³ç±»å设置ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#12netty-æ¯æåªäºå¿è·³ç±»å设置)
* [13.说说Nettyçæ§è¡æµç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#13说说nettyçæ§è¡æµç¨)
* [14.Netty髿§è½ä½ç°å¨åªäºæ¹é¢ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#14netty髿§è½ä½ç°å¨åªäºæ¹é¢)
* [åèèµæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Netty.md#åèèµæ)
* [å¾®æå¡](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md)
* [1.å¾®æå¡æåªäºä¼ç¼ºç¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#1å¾®æå¡æåªäºä¼ç¼ºç¹)
* [2.ä½ä¸ºæ³¨åä¸å¿ï¼ZookeeperåEurekaæä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#2ä½ä¸ºæ³¨åä¸å¿zookeeperåeurekaæä»ä¹åºå«)
* [3.Service Meshäºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#3service-meshäºè§£è¿å)
* [4.å¾®æå¡æåªäºç¹ç¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#4å¾®æå¡æåªäºç¹ç¹)
* [5.åçï¼SOA åå¾®æå¡æ¶ææä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#5åçsoa-åå¾®æå¡æ¶ææä»ä¹åºå«)
* [6.Spring Cloud è§£å³äºåªäºé®é¢ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#6spring-cloud-è§£å³äºåªäºé®é¢)
* [7.æå¡æ³¨åååç°æ¯ä»ä¹ææï¼Spring Cloud å¦ä½å®ç°ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#7æå¡æ³¨åååç°æ¯ä»ä¹ææspring-cloud-å¦ä½å®ç°)
* [8.Spring Cloud ådubboçåºå«?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#8spring-cloud-ådubboçåºå«)
* [9.ä»ä¹æ¯å¾®æå¡ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#9ä»ä¹æ¯å¾®æå¡)
* [10.å¾®æå¡ä¹é´æ¯å¦ä½é讯çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#10å¾®æå¡ä¹é´æ¯å¦ä½é讯ç)
* [11.请è°è°å¯¹SpringBoot åSpringCloudççè§£](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#11请è°è°å¯¹springboot-åspringcloudççè§£)
* [12.ä»ä¹æ¯æå¡çæï¼ä»ä¹æ¯æå¡é级](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#12ä»ä¹æ¯æå¡çæä»ä¹æ¯æå¡é级)
* [13.ä½ æç¥éçå¾®æå¡ææ¯æ æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#13ä½ æç¥éçå¾®æå¡ææ¯æ æåªäº)
* [14.ä»ä¹æ¯ Eurekaæå¡æ³¨åä¸åç°ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#14ä»ä¹æ¯-eurekaæå¡æ³¨åä¸åç°)
* [15.Eurekaçåºæ¬æ¶ææ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#15eurekaçåºæ¬æ¶ææ¯ä»ä¹)
* [16.ä½ä¸ºæå¡æ³¨åä¸å¿ï¼Eurekaæ¯Zookeeper好å¨åªé?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#16ä½ä¸ºæå¡æ³¨åä¸å¿eurekaæ¯zookeeper好å¨åªé)
* [åèèµæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%BE%AE%E6%9C%8D%E5%8A%A1.md#åèèµæ)
* [Zookeeper](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md)
* [1.Zookeeperæåªäºèç¹ç±»åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#1zookeeperæåªäºèç¹ç±»å)
* [2.äºè§£è¿ZookeeperçZABåè®®åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#2äºè§£è¿zookeeperçzabåè®®å)
* [3.Zookeeperæä¹å®ç°åå¸å¼éï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#3zookeeperæä¹å®ç°åå¸å¼é)
* [4.Zookeeperæ¯æä¹ä¿è¯æ°æ®ä¸è´æ§çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#4zookeeperæ¯æä¹ä¿è¯æ°æ®ä¸è´æ§ç)
* [5.Zookeeper Leaderé举è¿ç¨æ¯ææ ·çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#5zookeeper-leaderé举è¿ç¨æ¯ææ ·ç)
* [6.Zookeeperæä¹å®ç°æå¡æ³¨åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#6zookeeperæä¹å®ç°æå¡æ³¨å)
* [7.ZooKeeperæ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#7zookeeperæ¯ä»ä¹)
* [8.ZooKeeperæä¾äºä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#8zookeeperæä¾äºä»ä¹)
* [9.Zookeeperæä»¶ç³»ç»](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#9zookeeperæä»¶ç³»ç»)
* [10.Zookeeper Watcher æºå¶](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#10zookeeper-watcher-æºå¶)
* [11.客æ·ç«¯æ³¨åWatcherå®ç°](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#11客æ·ç«¯æ³¨åwatcherå®ç°)
* [12.æå¡ç«¯å¤çWatcherå®ç°](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#12æå¡ç«¯å¤çwatcherå®ç°)
* [13.ACLæéæ§å¶æºå¶](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#13aclæéæ§å¶æºå¶)
* [14.æå¡å¨è§è²](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#14æå¡å¨è§è²)
* [15.Zookeeper ä¸ Serverå·¥ä½ç¶æ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#15zookeeper-ä¸-serverå·¥ä½ç¶æ)
* [16.æ°æ®åæ¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#16æ°æ®åæ¥)
* [17.zookeeperæ¯å¦ä½ä¿è¯äºå¡ç顺åºä¸è´æ§çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#17zookeeperæ¯å¦ä½ä¿è¯äºå¡ç顺åºä¸è´æ§ç)
* [18.åå¸å¼é群ä¸ä¸ºä»ä¹ä¼æMasterï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#18åå¸å¼é群ä¸ä¸ºä»ä¹ä¼æmaster)
* [19.zkèç¹å®æºå¦ä½å¤çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#19zkèç¹å®æºå¦ä½å¤ç)
* [20.Zookeeperæåªå ç§é¨ç½²æ¨¡å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#20zookeeperæåªå ç§é¨ç½²æ¨¡å¼)
* [21.é群æå°è¦å å°æºå¨ï¼é群è§åæ¯ææ ·ç?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#21é群æå°è¦å å°æºå¨é群è§åæ¯ææ ·ç)
* [22.éç¾¤æ¯æå¨ææ·»å æºå¨åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#22éç¾¤æ¯æå¨ææ·»å æºå¨å)
* [23.Zookeeper对èç¹çwatchçå¬éç¥æ¯æ°¸ä¹
çåï¼ä¸ºä»ä¹ä¸æ¯æ°¸ä¹
ç?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#23zookeeper对èç¹çwatchçå¬éç¥æ¯æ°¸ä¹
çå为ä»ä¹ä¸æ¯æ°¸ä¹
ç)
* [24.ZABåPaxosç®æ³çèç³»ä¸åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#24zabåpaxosç®æ³çèç³»ä¸åºå«)
* [25.Zookeeperçå
¸ååºç¨åºæ¯](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#25zookeeperçå
¸ååºç¨åºæ¯)
* [26.Zookeeper å Dubbo çå
³ç³»ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#26zookeeper-å-dubbo-çå
³ç³»)
* [27.zookeeperè´è½½åè¡¡ånginxè´è½½åè¡¡åºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#27zookeeperè´è½½åè¡¡ånginxè´è½½åè¡¡åºå«)
* [åèèµæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Zookeeper.md#åèèµæ)
* [æ¶æ¯éå](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97.md)
* [1.æ¶æ¯éåæåªäºåºç¨åºæ¯ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97.md#1æ¶æ¯éåæåªäºåºç¨åºæ¯)
* [2.æ¶æ¯éåçå¼ç«¯æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97.md#2æ¶æ¯éåçå¼ç«¯æåªäº)
* [3.ä½¿ç¨æ¶æ¯éåï¼æä¹ç¡®ä¿æ¶æ¯ä¸ä¸¢å¤±ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97.md#3ä½¿ç¨æ¶æ¯éåæä¹ç¡®ä¿æ¶æ¯ä¸ä¸¢å¤±)
* [4.ä½¿ç¨æ¶æ¯éåï¼å¦æå¤çé夿¶æ¯ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97.md#4ä½¿ç¨æ¶æ¯éå妿å¤çé夿¶æ¯)
* [5.Kafkaçæ¶æ¯æ¯æåºçåï¼å¦æä¿è¯Kafkaæ¶æ¯çé¡ºåºæ§ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97.md#5kafkaçæ¶æ¯æ¯æåºçå妿ä¿è¯kafkaæ¶æ¯çé¡ºåºæ§)
* [6.æ¶æ¯å¦ä½ä¿è¯å¹çæ§](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97.md#6æ¶æ¯å¦ä½ä¿è¯å¹çæ§)
* [7.æ¶æ¯éå积åæä¹å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97.md#7æ¶æ¯éå积åæä¹å)
* [8.åç§MQçæ¯è¾](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97.md#8åç§mqçæ¯è¾)
* [9.å¦ä½è§£å³æ¶æ¯éåçå»¶æ¶ä»¥åè¿æå¤±æé®é¢ï¼æ¶æ¯éåæ»¡äºä»¥å该æä¹å¤çï¼æå ç¾ä¸æ¶æ¯æç»ç§¯åå å°æ¶æä¹è§£å³ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97.md#9å¦ä½è§£å³æ¶æ¯éåçå»¶æ¶ä»¥åè¿æå¤±æé®é¢æ¶æ¯éåæ»¡äºä»¥å该æä¹å¤çæå ç¾ä¸æ¶æ¯æç»ç§¯åå å°æ¶æä¹è§£å³)
* [10.为ä»ä¹ä½¿ç¨æ¶æ¯éåï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97.md#10为ä»ä¹ä½¿ç¨æ¶æ¯éå)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97.md#åè龿¥)
* [Kafka](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md)
* [1.为ä»ä¹è¦ä½¿ç¨ kafkaï¼ä¸ºä»ä¹è¦ä½¿ç¨æ¶æ¯éåï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#1为ä»ä¹è¦ä½¿ç¨-kafka为ä»ä¹è¦ä½¿ç¨æ¶æ¯éå)
* [2.Kafkaä¸çISRãARå代表ä»ä¹ï¼ISRç伸缩åæä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#2kafkaä¸çisrarå代表ä»ä¹isrç伸缩åæä»ä¹)
* [3.kafkaä¸çbroker æ¯å¹²ä»ä¹çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#3kafkaä¸çbroker-æ¯å¹²ä»ä¹ç)
* [4.kafkaä¸ç zookeeper èµ·å°ä»ä¹ä½ç¨ï¼å¯ä»¥ä¸ç¨zookeeperä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#4kafkaä¸ç-zookeeper-èµ·å°ä»ä¹ä½ç¨å¯ä»¥ä¸ç¨zookeeperä¹)
* [5.kafka followerå¦ä½ä¸leaderåæ¥æ°æ®ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#5kafka-followerå¦ä½ä¸leaderåæ¥æ°æ®)
* [6.ä»ä¹æ
åµä¸ä¸ä¸ª broker ä¼ä» ISR ä¸è¢«è¸¢åºå»ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#6ä»ä¹æ
åµä¸ä¸ä¸ª-broker-ä¼ä»-isr-ä¸è¢«è¸¢åºå»)
* [7.kafka 为ä»ä¹é£ä¹å¿«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#7kafka-为ä»ä¹é£ä¹å¿«)
* [8.kafka producerå¦ä½ä¼åæå
¥é度ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#8kafka-producerå¦ä½ä¼åæå
¥é度)
* [9.kafka producer ææ°æ®ï¼ack 为 0ï¼ 1ï¼ -1 çæ¶å代表å¥ï¼ 设置 -1 çæ¶åï¼ä»ä¹æ
åµä¸ï¼leader ä¼è®¤ä¸ºä¸æ¡æ¶æ¯ commit äº](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#9kafka-producer-ææ°æ®ack--为-0-1--1-çæ¶å代表å¥-设置--1-çæ¶åä»ä¹æ
åµä¸leader-ä¼è®¤ä¸ºä¸æ¡æ¶æ¯-commit-äº)
* [10.kafka unclean é
置代表å¥ï¼ä¼å¯¹ spark streaming æ¶è´¹æä»ä¹å½±åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#10kafka--unclean-é
置代表å¥ä¼å¯¹-spark-streaming-æ¶è´¹æä»ä¹å½±å)
* [11.妿leader crashæ¶ï¼ISR为空æä¹åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#11妿leader-crashæ¶isr为空æä¹å)
* [12.kafkaçmessageæ ¼å¼æ¯ä»ä¹æ ·çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#12kafkaçmessageæ ¼å¼æ¯ä»ä¹æ ·ç)
* [13.kafkaä¸consumer group æ¯ä»ä¹æ¦å¿µï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#13kafkaä¸consumer-group-æ¯ä»ä¹æ¦å¿µ)
* [14.Kafkaä¸çæ¶æ¯æ¯å¦ä¼ä¸¢å¤±åé夿¶è´¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#14kafkaä¸çæ¶æ¯æ¯å¦ä¼ä¸¢å¤±åé夿¶è´¹)
* [15.为ä»ä¹Kafka䏿¯æè¯»åå离ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#15为ä»ä¹kafka䏿¯æè¯»åå离)
* [16.Kafka䏿¯æä¹ä½ç°æ¶æ¯é¡ºåºæ§çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#16kafka䏿¯æä¹ä½ç°æ¶æ¯é¡ºåºæ§ç)
* [17.kafkaå¦ä½å®ç°å»¶è¿éåï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#17kafkaå¦ä½å®ç°å»¶è¿éå)
* [18.ä»ä¹æ¯æ¶è´¹è
ç»?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#18ä»ä¹æ¯æ¶è´¹è
ç»)
* [19.è§£éä¸ Kafka ä¸ä½ç§»(offset)çä½ç¨ã](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#19è§£éä¸-kafka-ä¸ä½ç§»offsetçä½ç¨)
* [20.éè¿°ä¸ Kafka ä¸çé¢å¯¼è
坿¬(Leader Replica)å追éè
坿¬ (Follower Replica)çåºå«ã](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#20éè¿°ä¸-kafka-ä¸çé¢å¯¼è
坿¬leader-replicaå追éè
坿¬-follower-replicaçåºå«)
* [21.å¦ä½è®¾ç½® Kafka è½æ¥æ¶çæå¤§æ¶æ¯ç大å°?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#21å¦ä½è®¾ç½®-kafka-è½æ¥æ¶çæå¤§æ¶æ¯ç大å°)
* [22.çæ§ Kafka çæ¡æ¶é½æåªäº?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#22çæ§-kafka-çæ¡æ¶é½æåªäº)
* [23.Broker ç Heap Size å¦ä½è®¾ç½®ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#23broker-ç-heap-size-å¦ä½è®¾ç½®)
* [24.å¦ä½ä¼°ç® Kafka éç¾¤çæºå¨æ°é?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#24å¦ä½ä¼°ç®-kafka-éç¾¤çæºå¨æ°é)
* [25.Leader æ»æ¯ -1ï¼æä¹ç ´?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#25leader-æ»æ¯--1æä¹ç ´)
* [26.LEOãLSOãARãISRãHW é½è¡¨ç¤ºä»ä¹å«ä¹?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#26leolsoarisrhw-é½è¡¨ç¤ºä»ä¹å«ä¹)
* [27.Kafka è½æå¨å 餿¶æ¯å?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#27kafka-è½æå¨å 餿¶æ¯å)
* [28.consumer_offsets æ¯åä»ä¹ç¨ç?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#28consumer_offsets-æ¯åä»ä¹ç¨ç)
* [29.ååº Leader é举çç¥æå ç§?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#29ååº-leader-é举çç¥æå ç§)
* [30.Kafka çåªäºåºæ¯ä¸ä½¿ç¨äºé¶æ·è´(Zero Copy)?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#30kafka-çåªäºåºæ¯ä¸ä½¿ç¨äºé¶æ·è´zero-copy)
* [31.å¦ä½è°ä¼ Kafka?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#31å¦ä½è°ä¼-kafka)
* [32.Controller åçç½ç»ååº(Network Partitioning)æ¶ï¼Kafka 伿乿 ·?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#32controller-åçç½ç»ååºnetwork-partitioningæ¶kafka-伿乿 ·)
* [33.Java Consumer 为ä»ä¹éç¨åçº¿ç¨æ¥è·åæ¶æ¯?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#33java-consumer-为ä»ä¹éç¨åçº¿ç¨æ¥è·åæ¶æ¯)
* [34.ç®è¿° Follower 坿¬æ¶æ¯åæ¥ç宿´æµç¨ã](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#34ç®è¿°-follower-坿¬æ¶æ¯åæ¥ç宿´æµç¨)
* [åèèµæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kafka.md#åèèµæ)
* [RabbitMQ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md)
* [1.ä»ä¹æ¯RabbitMQï¼ä¸ºä»ä¹ä½¿ç¨RabbitMQï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#1ä»ä¹æ¯rabbitmq为ä»ä¹ä½¿ç¨rabbitmq)
* [2.RabbitMQæä»ä¹ä¼ç¼ºç¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#2rabbitmqæä»ä¹ä¼ç¼ºç¹)
* [3.ä»ä¹æ¯å
æ°æ®ï¼å
æ°æ®å为åªäºç±»åï¼å
æ¬åªäºå
容ï¼ä¸clusterç¸å
³çå
æ°æ®æåªäºï¼å
æ°æ®æ¯å¦ä½ä¿åçï¼å
æ°æ®å¨cluster䏿¯å¦ä½åå¸çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#3ä»ä¹æ¯å
æ°æ®å
æ°æ®å为åªäºç±»åå
æ¬åªäºå
容ä¸clusterç¸å
³çå
æ°æ®æåªäºå
æ°æ®æ¯å¦ä½ä¿åçå
æ°æ®å¨cluster䏿¯å¦ä½åå¸ç)
* [4.å¨ånodeç³»ç»åå¤nodeææçclusterç³»ç»ä¸å£°æqueueãexchangeï¼ä»¥åè¿è¡binding伿ä»ä¹ä¸åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#4å¨ånodeç³»ç»åå¤nodeææçclusterç³»ç»ä¸å£°æqueueexchange以åè¿è¡binding伿ä»ä¹ä¸å)
* [5.客æ·ç«¯è¿æ¥å°clusterä¸çä»»ænode䏿¯å¦é½è½æ£å¸¸å·¥ä½ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#5客æ·ç«¯è¿æ¥å°clusterä¸çä»»ænode䏿¯å¦é½è½æ£å¸¸å·¥ä½)
* [6.è¥cluster䏿¥ææä¸ªqueueçowner node失æäºï¼ä¸è¯¥queue 被声æå
·ædurable屿§ï¼æ¯å¦è½å¤æåä»å
¶ä»nodeä¸éæ°å£°æè¯¥ queue ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#6è¥cluster䏿¥ææä¸ªqueueçowner-node失æäºä¸è¯¥queue-被声æå
·ædurable屿§æ¯å¦è½å¤æåä»å
¶ä»nodeä¸éæ°å£°æè¯¥-queue-)
* [7.RabbitMQ çæ¶æ¯æ¯æä¹åéçï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#7rabbitmq-çæ¶æ¯æ¯æä¹åéç)
* [8.RabbitMQ æä¹é¿å
æ¶æ¯ä¸¢å¤±ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#8rabbitmq-æä¹é¿å
æ¶æ¯ä¸¢å¤±)
* [9.RabbitMQç使ç¨åºæ¯æåªäº?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#9rabbitmqç使ç¨åºæ¯æåªäº)
* [10.RabbitMQæåªäºéè¦çè§è²?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#10rabbitmqæåªäºéè¦çè§è²)
* [11.å¦ä½ç¡®ä¿æ¶æ¯æ£ç¡®å°åéè³RabbitMQ?å¦ä½ç¡®ä¿æ¶æ¯æ¥æ¶æ¹æ¶è´¹äºæ¶æ¯?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#11å¦ä½ç¡®ä¿æ¶æ¯æ£ç¡®å°åéè³rabbitmqå¦ä½ç¡®ä¿æ¶æ¯æ¥æ¶æ¹æ¶è´¹äºæ¶æ¯)
* [12.è¦ä¿è¯æ¶æ¯æä¹
åæåçæ¡ä»¶æåªäº?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#12è¦ä¿è¯æ¶æ¯æä¹
åæåçæ¡ä»¶æåªäº)
* [13.RabbitMQ æå ç§å¹¿æç±»å?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#13rabbitmq-æå ç§å¹¿æç±»å)
* [14.vhost æ¯ä»ä¹ï¼èµ·ä»ä¹ä½ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#14vhost-æ¯ä»ä¹èµ·ä»ä¹ä½ç¨)
* [15.æ¶æ¯åºäºä»ä¹ä¼ è¾ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#15æ¶æ¯åºäºä»ä¹ä¼ è¾)
* [16.æ¶æ¯å¦ä½ååï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#16æ¶æ¯å¦ä½åå)
* [17.æ¶æ¯æä¹è·¯ç±ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#17æ¶æ¯æä¹è·¯ç±)
* [18.å¦ä½ç¡®ä¿æ¶æ¯æ¥æ¶æ¹æ¶è´¹äºæ¶æ¯ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#18å¦ä½ç¡®ä¿æ¶æ¯æ¥æ¶æ¹æ¶è´¹äºæ¶æ¯)
* [19.å¦ä½é¿å
æ¶æ¯é夿éæé夿¶è´¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#19å¦ä½é¿å
æ¶æ¯é夿éæé夿¶è´¹)
* [20.æ»ä¿¡éååå»¶è¿éåç使ç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#20æ»ä¿¡éååå»¶è¿éåç使ç¨)
* [åè龿¥ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RabbitMQ.md#åè龿¥)
* [è®¡ç®æºç½ç»](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md)
* [1.请ç®è¿°TCP/UDPçåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#1请ç®è¿°tcpudpçåºå«)
* [2.TCP对åºçåè®®åUDP对åºçåè®®](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#2tcp对åºçåè®®åudp对åºçåè®®)
* [3.æåªäºç§æï¼ä¿çï¼å°åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#3æåªäºç§æä¿çå°å)
* [4.ä½ è½è¯´ä¸è¯´OSIä¸å±æ¨¡å?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#4ä½ è½è¯´ä¸è¯´osiä¸å±æ¨¡å)
* [5.说ä¸è¯´TCP/IPå屿¨¡å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#5说ä¸è¯´tcpipå屿¨¡å)
* [6. ç®è¿°IPå°åçåç±»?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#6-ç®è¿°ipå°åçåç±»)
* [7.ç®è¿°ARPå°åè§£æå议工ä½åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#7ç®è¿°arpå°åè§£æå议工ä½åç)
* [8.ç®è¿°ICMPãTFTPãHTTPãNATãDHCPåè®®](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#8ç®è¿°icmptftphttpnatdhcpåè®®)
* [9.说ä¸è¯´TCPç䏿¬¡æ¡æ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#9说ä¸è¯´tcpç䏿¬¡æ¡æ)
* [10.为ä»ä¹TCPè¦ä¸æ¬¡æ¡æ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#10为ä»ä¹tcpè¦ä¸æ¬¡æ¡æ)
* [11.TCP建ç«è¿æ¥æ¶ä¸ºä»ä¹è¦ä¼ å SYN](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#11tcp建ç«è¿æ¥æ¶ä¸ºä»ä¹è¦ä¼ å-syn)
* [12.TCP为ä»ä¹è¦åæ¬¡æ¥æ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#12tcp为ä»ä¹è¦åæ¬¡æ¥æ)
* [13.æ»å¨çªå£åæµéæ§å¶](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#13æ»å¨çªå£åæµéæ§å¶)
* [14.æ¥å¡æ§å¶](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#14æ¥å¡æ§å¶)
* [15.卿µè§å¨ä¸è¾å
¥urlå°åå°æ¾ç¤ºä¸»é¡µçè¿ç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#15卿µè§å¨ä¸è¾å
¥urlå°åå°æ¾ç¤ºä¸»é¡µçè¿ç¨)
* [16.HTTPåè®®å
æ¬åªäºè¯·æ±ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#16httpåè®®å
æ¬åªäºè¯·æ±)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C.md#åè龿¥)
* [æ°æ®ç»æä¸ç®æ³](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md)
* [1.ä»ä¹æ¯ç®æ³ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#1ä»ä¹æ¯ç®æ³)
* [2.TreeMapåTreeSetå¨æåºæ¶å¦ä½æ¯è¾å
ç´ ï¼Collectionså·¥å
·ç±»ä¸çsort()æ¹æ³å¦ä½æ¯è¾å
ç´ ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#2treemapåtreesetå¨æåºæ¶å¦ä½æ¯è¾å
ç´ collectionså·¥å
·ç±»ä¸çsortæ¹æ³å¦ä½æ¯è¾å
ç´ )
* [3.å¦ä½ç¥éäºåæ çæ·±åº¦ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#3å¦ä½ç¥éäºåæ çæ·±åº¦)
* [4.ä»ç»ä¸ä¸ï¼å æåºçåçæ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#4ä»ç»ä¸ä¸å æåºçåçæ¯ä»ä¹)
* [5.æ°ç»åé¾è¡¨çåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#5æ°ç»åé¾è¡¨çåºå«)
* [6.äºåæ¥æ¾äºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#6äºåæ¥æ¾äºè§£è¿å)
* [7.说ä¸ä½ çæçæåºç®æ³](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#7说ä¸ä½ çæçæåºç®æ³)
* [8.å¸éè¿æ»¤å¨äºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#8å¸éè¿æ»¤å¨äºè§£è¿å)
* [9.ä¸è´æ§hashç®æ³äºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#9ä¸è´æ§hashç®æ³äºè§£è¿å)
* [10.å¦ä½å¨ä¸ä¸ª1å°100çæ´æ°æ°ç»ä¸æ¾å°ä¸¢å¤±çæ°å?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#10å¦ä½å¨ä¸ä¸ª1å°100çæ´æ°æ°ç»ä¸æ¾å°ä¸¢å¤±çæ°å)
* [11.è¯·ä½ è®²è®²LRUç®æ³çå®ç°åçï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#11è¯·ä½ è®²è®²lruç®æ³çå®ç°åç)
* [12.为ä»ä¹è¦è®¾è®¡åç¼è¡¨è¾¾å¼ï¼æä»ä¹å¥½å¤ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#12为ä»ä¹è¦è®¾è®¡åç¼è¡¨è¾¾å¼æä»ä¹å¥½å¤)
* [13. ä»ä¹æ¯Bæ ?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#13-ä»ä¹æ¯bæ )
* [14.ä»ä¹æ¯B+æ ?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#14ä»ä¹æ¯bæ )
* [15.è°ä¸è°ï¼idå
¨å±å¯ä¸ä¸èªå¢ï¼å¦ä½å®ç°ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#15è°ä¸è°idå
¨å±å¯ä¸ä¸èªå¢å¦ä½å®ç°)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95.md#åè龿¥)
* [设计模å¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md)
* [1.æ¥å£æ¯ä»ä¹ï¼ä¸ºä»ä¹è¦ä½¿ç¨æ¥å£è䏿¯ç´æ¥ä½¿ç¨å
·ä½ç±»ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#1æ¥å£æ¯ä»ä¹ä¸ºä»ä¹è¦ä½¿ç¨æ¥å£è䏿¯ç´æ¥ä½¿ç¨å
·ä½ç±»)
* [2.设计模å¼å
大ååï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#2设计模å¼å
大åå)
* [3.Javaæä¹å®ç°å便¨¡å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#3javaæä¹å®ç°å便¨¡å¼)
* [4.ä»ä¹æ¯ä»£ç模å¼ï¼ä»ä¹æ¯å¨æä»£çï¼Javaä¸å¨æä»£çæåªäºå®ç°æ¹å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#4ä»ä¹æ¯ä»£ç模å¼ä»ä¹æ¯å¨æä»£çjavaä¸å¨æä»£çæåªäºå®ç°æ¹å¼)
* [5.设计模å¼çç±»å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#5设计模å¼çç±»å)
* [6.è¯´è¯´ä½ æçææå¬è¯´è¿ç j2ee ä¸çå ç§å¸¸ç¨æ¨¡å¼?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#6è¯´è¯´ä½ æçææå¬è¯´è¿ç-j2ee-ä¸çå ç§å¸¸ç¨æ¨¡å¼)
* [7.ç®è¿°ä¸ä¸ä½ äºè§£ç Java 设计模å¼ï¼æ»ç»ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#7ç®è¿°ä¸ä¸ä½ äºè§£ç-java-è®¾è®¡æ¨¡å¼æ»ç»)
* [8.éé
卿¨¡å¼æ¯ä»ä¹ï¼ä»ä¹æ¶å使ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#8éé
卿¨¡å¼æ¯ä»ä¹ä»ä¹æ¶å使ç¨)
* [9.éé
卿¨¡å¼ä¸è£
饰卿¨¡å¼æä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#9éé
卿¨¡å¼ä¸è£
饰卿¨¡å¼æä»ä¹åºå«)
* [10.éé
卿¨¡å¼åä»£çæ¨¡å¼ä¹é´æä»ä¹ä¸åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#10éé
卿¨¡å¼åä»£çæ¨¡å¼ä¹é´æä»ä¹ä¸å)
* [11.ä»ä¹æ¯æ¨¡æ¿æ¹æ³æ¨¡å¼ï¼è¯ä¸¾ä¾è¯´æã](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#11ä»ä¹æ¯æ¨¡æ¿æ¹æ³æ¨¡å¼è¯ä¸¾ä¾è¯´æ)
* [12.OOPä¸çç»åãèååå
³èæä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#12oopä¸çç»åèååå
³èæä»ä¹åºå«)
* [13.ç»æä¸ä¸ªç¬¦åå¼éååç设计模å¼çä¾åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#13ç»æä¸ä¸ªç¬¦åå¼éååç设计模å¼çä¾å)
* [14.工忍¡å¼ä¸æ½è±¡å·¥å模å¼çåºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#14工忍¡å¼ä¸æ½è±¡å·¥å模å¼çåºå«)
* [15.举åºä¸ä¸ªä¾åï¼å¨è¿ç§æ
åµä½ 伿´å¾åäºä½¿ç¨æ½è±¡ç±»ï¼è䏿¯æ¥å£ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#15举åºä¸ä¸ªä¾åå¨è¿ç§æ
åµä½ 伿´å¾åäºä½¿ç¨æ½è±¡ç±»è䏿¯æ¥å£)
* [16.Dubbo æºç 使ç¨äºåªäºè®¾è®¡æ¨¡å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#16dubbo-æºç 使ç¨äºåªäºè®¾è®¡æ¨¡å¼)
* [17.Spring å½ä¸ç¨å°äºåªäºè®¾è®¡æ¨¡å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#17spring-å½ä¸ç¨å°äºåªäºè®¾è®¡æ¨¡å¼)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F.md#åè龿¥)
* [åå¸å¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md)
* [1.åå¸å¼idå¦ä½çæï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#1åå¸å¼idå¦ä½çæ)
* [2.éªè±ç®æ³äºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#2éªè±ç®æ³äºè§£è¿å)
* [3.ä»ä¹æ¯CAPå®çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#3ä»ä¹æ¯capå®ç)
* [4.åå¸å¼äºå¡äºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#4åå¸å¼äºå¡äºè§£è¿å)
* [5.ä»ä¹æ¯äºé¶æ®µæäº¤ï¼2PCï¼ï¼ä»ä¹æ¯ä¸é¶æ®µæäº¤ï¼3PCï¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#5ä»ä¹æ¯äºé¶æ®µæäº¤2pcä»ä¹æ¯ä¸é¶æ®µæäº¤3pc)
* [6.TCCäºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#6tccäºè§£è¿å)
* [7.Paxosç®æ³äºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#7paxosç®æ³äºè§£è¿å)
* [8.ZookeeperçZabåè®®äºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#8zookeeperçzabåè®®äºè§£è¿å)
* [9.ç¥éä»ä¹æ¯Gossipåè®®åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#9ç¥éä»ä¹æ¯gossipåè®®å)
* [10.äºè§£è¿åªäºè´è½½åè¡¡ç®æ³ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#10äºè§£è¿åªäºè´è½½åè¡¡ç®æ³)
* [11.è´è½½åè¡¡çå®ç°æ¹æ¡æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#11è´è½½åè¡¡çå®ç°æ¹æ¡æåªäº)
* [12.æ£å代çååå代ççåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#12æ£å代çååå代ççåºå«)
* [13.åå¸å¼ Sessionäºè§£è¿åï¼å¦ä½å®ç°ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#13åå¸å¼-sessionäºè§£è¿åå¦ä½å®ç°)
* [14.å¦ä½é²æ¢è¡¨åéå¤æäº¤ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#14å¦ä½é²æ¢è¡¨åéå¤æäº¤)
* [15.å¦ä½è®¾è®¡ä¸ä¸ªç§æç³»ç»?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#15å¦ä½è®¾è®¡ä¸ä¸ªç§æç³»ç»)
* [16.åå¸å¼ç³»ç»çæ¥å£å¹çæ§è®¾è®¡](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#16åå¸å¼ç³»ç»çæ¥å£å¹çæ§è®¾è®¡)
* [17.å¦ä½ä¿éè¯·æ±æ§è¡é¡ºåº](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#17å¦ä½ä¿éè¯·æ±æ§è¡é¡ºåº)
* [18.BASEç论äºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#18baseç论äºè§£è¿å)
* [19.SOAåå¾®æå¡æ¶ææåªäºåºå«?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#19soaåå¾®æå¡æ¶ææåªäºåºå«)
* [åèèµæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%88%86%E5%B8%83%E5%BC%8F.md#åèèµæ)
* [Linux](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md)
* [1.vimæå ç§å·¥ä½æ¨¡å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#1vimæå ç§å·¥ä½æ¨¡å¼)
* [2.find å½ä»¤å¦ä½ä½¿ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#2find-å½ä»¤å¦ä½ä½¿ç¨)
* [3.å¦ä½å¨ /usr ç®å½ä¸æ¾åºå¤§å°è¶
è¿ 10MB çæä»¶?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#3å¦ä½å¨-usr-ç®å½ä¸æ¾åºå¤§å°è¶
è¿-10mb-çæä»¶)
* [4.å¦ä½å¨ /var ç®å½ä¸æ¾åº 90 天ä¹å
æªè¢«è®¿é®è¿çæä»¶ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#4å¦ä½å¨-var-ç®å½ä¸æ¾åº-90-天ä¹å
æªè¢«è®¿é®è¿çæä»¶)
* [5.å¦ä½å¨ /home ç®å½ä¸æ¾åº 120 天ä¹å被修æ¹è¿çæä»¶ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#5å¦ä½å¨-home-ç®å½ä¸æ¾åº-120-天ä¹å被修æ¹è¿çæä»¶)
* [6.卿´ä¸ªç®å½æ 䏿¥æ¾æä»¶ âcoreâ ï¼å¦åç°åæ éæç¤ºç´æ¥å é¤å®ä»¬ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#6卿´ä¸ªç®å½æ 䏿¥æ¾æä»¶-core-å¦åç°åæ éæç¤ºç´æ¥å é¤å®ä»¬)
* [7.ls å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#7ls-å½ä»¤)
* [8.df å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#8df-å½ä»¤)
* [9.rm å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#9rm-å½ä»¤)
* [10.mv å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#10mv-å½ä»¤)
* [11.cp å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#11cp-å½ä»¤)
* [12.tail å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#12tail-å½ä»¤)
* [13.grep å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#13grep-å½ä»¤)
* [14.sed å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#14sed-å½ä»¤)
* [15.ç¨ sed å½ä»¤å°æå®çè·¯å¾ /usr/local/http æ¿æ¢æä¸º /usr/src/local/http ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#15ç¨-sed-å½ä»¤å°æå®çè·¯å¾-usrlocalhttp-æ¿æ¢æä¸º-usrsrclocalhttp-)
* [16.æå° /etc/ssh/sshd_config ç第ä¸ç¾è¡ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#16æå°-etcsshsshd_config-ç第ä¸ç¾è¡)
* [17.awk å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#17awk-å½ä»¤)
* [18.æå° /etc/passwd ç 1 å° 3 è¡ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#18æå°-etcpasswd-ç-1-å°-3-è¡)
* [19.vim å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#19vim-å½ä»¤)
* [20.diff å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#20diff-å½ä»¤)
* [21.sort å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#21sort-å½ä»¤)
* [22.xargs å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#22xargs-å½ä»¤)
* [23.æå½åç®å½ä¸ææåç¼å为 .txt çæä»¶çæéä¿®æ¹ä¸º 777 ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#23æå½åç®å½ä¸ææåç¼å为-txt-çæä»¶çæéä¿®æ¹ä¸º-777-)
* [24.tar å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#24tar-å½ä»¤)
* [25.gzip å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#25gzip-å½ä»¤)
* [26.bzip2 å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#26bzip2-å½ä»¤)
* [27.unzip å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#27unzip-å½ä»¤)
* [28.export å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#28export-å½ä»¤)
* [29.yum å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#29yum-å½ä»¤)
* [30.rpm å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#30rpm-å½ä»¤)
* [31.shutdown å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#31shutdown-å½ä»¤)
* [32.service å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#32service-å½ä»¤)
* [33.whereis å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#33whereis-å½ä»¤)
* [34.ç¨ä¸æ¡å½ä»¤æ¾ç¤ºæ¬æº eth0 ç½å¡ç IP å°åï¼ä¸æ¾ç¤ºå
¶å®å符ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#34ç¨ä¸æ¡å½ä»¤æ¾ç¤ºæ¬æº-eth0-ç½å¡ç-ip-å°å䏿¾ç¤ºå
¶å®å符)
* [35.å¦ä½ç¦æ¢æå¡å¨è¢« ping ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#35å¦ä½ç¦æ¢æå¡å¨è¢«-ping-)
* [36.设置 DNS éè¦ä¿®æ¹åªä¸ªé
ç½®æä»¶ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#36设置-dns-éè¦ä¿®æ¹åªä¸ªé
ç½®æä»¶)
* [37.å¨ Linux ä¸å¦ä½æå®dnsæå¡å¨ï¼æ¥è§£ææä¸ªååï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#37å¨-linux-ä¸å¦ä½æå®dnsæå¡å¨æ¥è§£ææä¸ªåå)
* [åèèµæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Linux.md#åèèµæ)
* [Mycat](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mycat.md)
* [1.Mycatæ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mycat.md#1mycatæ¯ä»ä¹)
* [2.ä»ä¹å«æ··ååå](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mycat.md#2ä»ä¹å«æ··ååå)
* [3.å¨é¡¹ç®ç»ä¸ï¼åååçåºä»åªéèæ¥ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mycat.md#3å¨é¡¹ç®ç»ä¸åååçåºä»åªéèæ¥)
* [4.æå»ºmycatçæ ¸å¿é
ç½®æä»¶æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mycat.md#4æå»ºmycatçæ ¸å¿é
ç½®æä»¶æåªäº)
* [5.mycatååºå¯ä»¥åæ100个åºåï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mycat.md#5mycatååºå¯ä»¥åæ100个åºå)
* [6.è¿è¡åºè¡¨æåæ¶ï¼æåè§åæä¹åèï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mycat.md#6è¿è¡åºè¡¨æåæ¶æåè§åæä¹åè)
* [7.Mycatä¸å
¨å±IDæ¹æ¡æåªäºï¼ç¨åºèªå®ä¹å
¨å±IDçæ¹æ¡æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mycat.md#7mycatä¸å
¨å±idæ¹æ¡æåªäºç¨åºèªå®ä¹å
¨å±idçæ¹æ¡æåªäº)
* [8.Mycatçå¨ååºå表ä¹åï¼å®æ¯æä¹æ¯æè表æ¥è¯¢çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mycat.md#8mycatçå¨ååºå表ä¹å宿¯æä¹æ¯æè表æ¥è¯¢ç)
* [9.é
ç½®æä»¶ä¸ä¼åå¤ï¼é
ç½®çèç¹ä¸»æºä¼åå¤ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mycat.md#9é
ç½®æä»¶ä¸ä¼åå¤é
ç½®çèç¹ä¸»æºä¼åå¤)
* [10.ä½ ä»¬é¡¹ç®ä¸åççå®ç°æ¹å¼æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mycat.md#10ä½ ä»¬é¡¹ç®ä¸åççå®ç°æ¹å¼æ¯ä»ä¹)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Mycat.md#åè龿¥)
* [Nginx](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md)
* [1.请解éä¸ä¸ä»ä¹æ¯ Nginx ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#1请解éä¸ä¸ä»ä¹æ¯-nginx-)
* [2.为ä»ä¹è¦ç¨Nginxï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#2为ä»ä¹è¦ç¨nginx)
* [3.Nginxæä¹å¤ç请æ±çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#3nginxæä¹å¤ç请æ±ç)
* [4.Nginxçä¼ç¼ºç¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#4nginxçä¼ç¼ºç¹)
* [5.Nginxåºç¨åºæ¯ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#5nginxåºç¨åºæ¯)
* [6.使ç¨âåå代çæå¡å¨âçä¼ç¹æ¯ä»ä¹?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#6使ç¨åå代çæå¡å¨çä¼ç¹æ¯ä»ä¹)
* [7.å举Nginxæå¡å¨çæä½³ç¨éã](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#7å举nginxæå¡å¨çæä½³ç¨é)
* [8.请解éNginxå¦ä½å¤çHTTP请æ±ã](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#8请解énginxå¦ä½å¤çhttp请æ±)
* [9.å¨Nginxä¸ï¼å¦ä½ä½¿ç¨æªå®ä¹çæå¡å¨åç§°æ¥é»æ¢å¤ç请æ±?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#9å¨nginxä¸å¦ä½ä½¿ç¨æªå®ä¹çæå¡å¨åç§°æ¥é»æ¢å¤ç请æ±)
* [10.å¨Nginxä¸å¦ä½å¨URLä¸ä¿çåæçº¿?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#10å¨nginxä¸å¦ä½å¨urlä¸ä¿çåæçº¿)
* [11.ngx_http_upstream_moduleçä½ç¨æ¯ä»ä¹?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#11ngx_http_upstream_moduleçä½ç¨æ¯ä»ä¹)
* [12. fastcgi ä¸ cgi çåºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#12-fastcgi-ä¸-cgi-çåºå«)
* [13. Nginx 常ç¨å½ä»¤ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#13-nginx-常ç¨å½ä»¤)
* [14.Nginx 常ç¨é
ç½®ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#14nginx-常ç¨é
ç½®)
* [15.请éè¿°stub_statusåsub_filteræä»¤çä½ç¨æ¯ä»ä¹?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#15请éè¿°stub_statusåsub_filteræä»¤çä½ç¨æ¯ä»ä¹)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Nginx.md#åè龿¥)
* [RocketMQ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md)
* [1.RocketMQä¸çTopicåJMSçqueueæä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#1rocketmqä¸çtopicåjmsçqueueæä»ä¹åºå«)
* [2.RocketMQ Brokerä¸çæ¶æ¯è¢«æ¶è´¹åä¼ç«å³å é¤åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#2rocketmq-brokerä¸çæ¶æ¯è¢«æ¶è´¹åä¼ç«å³å é¤å)
* [3.RocketMQæ¶è´¹æ¨¡å¼æå ç§ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#3rocketmqæ¶è´¹æ¨¡å¼æå ç§)
* [4.æ¶è´¹æ¶æ¯æ¯pushè¿æ¯pullï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#4æ¶è´¹æ¶æ¯æ¯pushè¿æ¯pull)
* [5.brokerå¦ä½å¤çæå请æ±çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#5brokerå¦ä½å¤çæå请æ±ç)
* [6.RocketMQå¦ä½åè´è½½åè¡¡ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#6rocketmqå¦ä½åè´è½½åè¡¡)
* [7.æ¶æ¯é夿¶è´¹å¦ä½è§£å³ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#7æ¶æ¯é夿¶è´¹å¦ä½è§£å³)
* [8.å¦ä½è®©RocketMQä¿è¯æ¶æ¯çé¡ºåºæ¶è´¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#8å¦ä½è®©rocketmqä¿è¯æ¶æ¯çé¡ºåºæ¶è´¹)
* [9.RocketMQå¦ä½ä¿è¯æ¶æ¯ä¸ä¸¢å¤±ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#9rocketmqå¦ä½ä¿è¯æ¶æ¯ä¸ä¸¢å¤±)
* [10.rocketMQçæ¶æ¯å 积å¦ä½å¤ç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#10rocketmqçæ¶æ¯å 积å¦ä½å¤ç)
* [11.RocketMQå¨åå¸å¼äºå¡æ¯æè¿åæºå¶çåºå±åç?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#11rocketmqå¨åå¸å¼äºå¡æ¯æè¿åæºå¶çåºå±åç)
* [12.å¦æè®©ä½ æ¥å¨æå®ç°ä¸ä¸ªåå¸å¼æ¶æ¯ä¸é´ä»¶ï¼æ´ä½æ¶æä½ ä¼å¦ä½è®¾è®¡å®ç°?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#12å¦æè®©ä½ æ¥å¨æå®ç°ä¸ä¸ªåå¸å¼æ¶æ¯ä¸é´ä»¶æ´ä½æ¶æä½ ä¼å¦ä½è®¾è®¡å®ç°)
* [13.é«ååéä¸å¦ä½ä¼åç产è
åæ¶è´¹è
çæ§è½?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#13é«ååéä¸å¦ä½ä¼åç产è
åæ¶è´¹è
çæ§è½)
* [14.å说说RocketMQ æ¯å¦ä½ä¿è¯æ°æ®çé«å®¹éæ§ç?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#14å说说rocketmq-æ¯å¦ä½ä¿è¯æ°æ®çé«å®¹éæ§ç)
* [15.ä»»ä½ä¸å°Brokerçªç¶å®æºäºæä¹åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#15ä»»ä½ä¸å°brokerçªç¶å®æºäºæä¹å)
* [åèèµæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/RocketMQ.md#åèèµæ)
* [Servlet](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Servlet.md)
* [1.Servletççå½å¨æï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Servlet.md#1servletççå½å¨æ)
* [2.ServletåJSPçåºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Servlet.md#2servletåjspçåºå«)
* [3.Servletçåºæ¬æ¶æ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Servlet.md#3servletçåºæ¬æ¶æ)
* [4.ä»ä¹æ
åµä¸è°ç¨doGet()ådoPost()ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Servlet.md#4ä»ä¹æ
åµä¸è°ç¨dogetådopost)
* [5.页é¢é´å¯¹è±¡ä¼ éçæ¹æ³](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Servlet.md#5页é¢é´å¯¹è±¡ä¼ éçæ¹æ³)
* [6.åç§ä¼è¯è·è¸ªææ¯](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Servlet.md#6åç§ä¼è¯è·è¸ªææ¯)
* [7.Request对象çä¸»è¦æ¹æ³](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Servlet.md#7request对象çä¸»è¦æ¹æ³)
* [8.å¦ä½é
ç½®Servletçåå§ååæ°ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Servlet.md#8å¦ä½é
ç½®servletçåå§ååæ°)
* [9.å¦ä½è¯»åServletçåå§ååæ°ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Servlet.md#9å¦ä½è¯»åservletçåå§ååæ°)
* [10.init(ServletConfig)æ¹æ³æ§è¡æ¬¡æ°](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Servlet.md#10initservletconfigæ¹æ³æ§è¡æ¬¡æ°)
* [11.init(ServletConfig)æ¹æ³ä¸å¼å¸¸](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Servlet.md#11initservletconfigæ¹æ³ä¸å¼å¸¸)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Servlet.md#åè龿¥)
* [Shiro](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Shiro.md)
* [1.ä»ä¹æ¯shiro](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Shiro.md#1ä»ä¹æ¯shiro)
* [2.è§£éä¸Shiroçæ ¸å¿æ¦å¿µï¼SubjectãSecurityManagerãRealm](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Shiro.md#2è§£éä¸shiroçæ ¸å¿æ¦å¿µsubjectsecuritymanagerrealm)
* [3.Shiroçä¼ç¹](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Shiro.md#3shiroçä¼ç¹)
* [4.Shiroæåªäºç»ä»¶ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Shiro.md#4shiroæåªäºç»ä»¶)
* [5.说ä¸Authentication 身份éªè¯çæµç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Shiro.md#5说ä¸authentication-身份éªè¯çæµç¨)
* [6.Authorization ææçæ¹å¼åæµç¨æ¯ææ ·çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Shiro.md#6authorization-ææçæ¹å¼åæµç¨æ¯ææ ·ç)
* [7.Cryptography å å¯çè¿ç¨æ¯è¿æ ·çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Shiro.md#7cryptography-å å¯çè¿ç¨æ¯è¿æ ·ç)
* [8.Realm åå¦ä½ä½¿ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Shiro.md#8realm-åå¦ä½ä½¿ç¨)
* [9.shiroæ¦æªå¨çæ§è¡æµç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Shiro.md#9shiroæ¦æªå¨çæ§è¡æµç¨)
* [10.Session Manager ä¼è¯ç®¡çä»ç»ä¸ä¸](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Shiro.md#10session-manager-ä¼è¯ç®¡çä»ç»ä¸ä¸)
* [åèèµæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Shiro.md#åèèµæ)
* [Tomcat](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Tomcat.md)
* [1.Tomcatç缺çç«¯å£æ¯å¤å°ï¼æä¹ä¿®æ¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Tomcat.md#1tomcatç缺çç«¯å£æ¯å¤å°æä¹ä¿®æ¹)
* [2.tomcat æåªå ç§Connector è¿è¡æ¨¡å¼(ä¼å)ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Tomcat.md#2tomcat-æåªå ç§connector-è¿è¡æ¨¡å¼ä¼å)
* [3.Tomcatæå ç§é¨ç½²æ¹å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Tomcat.md#3tomcatæå ç§é¨ç½²æ¹å¼)
* [4.tomcat容卿¯å¦ä½å建servletç±»å®ä¾ï¼ç¨å°äºä»ä¹åçï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Tomcat.md#4tomcat容卿¯å¦ä½å建servletç±»å®ä¾ç¨å°äºä»ä¹åç)
* [5.tomcat å¦ä½ä¼åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Tomcat.md#5tomcat-å¦ä½ä¼å)
* [6.tomcatå
åè°ä¼äºè§£è¿åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Tomcat.md#6tomcatå
åè°ä¼äºè§£è¿å)
* [7.tomcatåå¾åæ¶çç¥è°ä¼äºè§£åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Tomcat.md#7tomcatåå¾åæ¶çç¥è°ä¼äºè§£å)
* [8.tomcatå
±äº«sessionå¦ä½å¤çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Tomcat.md#8tomcatå
±äº«sessionå¦ä½å¤ç)
* [9.å¦ä½æ·»å JMSè¿ç¨çæ§](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Tomcat.md#9å¦ä½æ·»å jmsè¿ç¨çæ§)
* [10.Tomcatä¸ä¸ªè¯·æ±ç宿´è¿ç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Tomcat.md#10tomcatä¸ä¸ªè¯·æ±ç宿´è¿ç¨)
* [åèèµæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Tomcat.md#åèèµæ)
* [å¯ç å¦](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%AF%86%E7%A0%81%E5%AD%A6.md)
* [1.Javaä¸å¸¸ç¨çå å¯ç®æ³](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%AF%86%E7%A0%81%E5%AD%A6.md#1javaä¸å¸¸ç¨çå å¯ç®æ³)
* [2.ä»ä¹æ¯base64](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%AF%86%E7%A0%81%E5%AD%A6.md#2ä»ä¹æ¯base64)
* [3.MD5](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%AF%86%E7%A0%81%E5%AD%A6.md#3md5)
* [4.SHA](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%AF%86%E7%A0%81%E5%AD%A6.md#4sha)
* [5.HMAC](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%AF%86%E7%A0%81%E5%AD%A6.md#5hmac)
* [6.å¯ç çå¸¸ç¨æ¯è¯](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%AF%86%E7%A0%81%E5%AD%A6.md#6å¯ç çå¸¸ç¨æ¯è¯)
* [7.ååå å¯ç®æ³](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%AF%86%E7%A0%81%E5%AD%A6.md#7ååå å¯ç®æ³)
* [8.夿ç对称å å¯ï¼DESãPBEï¼ãé对称å å¯ç®æ³](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%AF%86%E7%A0%81%E5%AD%A6.md#8夿ç对称å å¯despbeé对称å å¯ç®æ³)
* [9.é对称å å¯](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%AF%86%E7%A0%81%E5%AD%A6.md#9é对称å å¯)
* [10.DES](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%AF%86%E7%A0%81%E5%AD%A6.md#10des)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E5%AF%86%E7%A0%81%E5%AD%A6.md#åè龿¥)
* [æä½ç³»ç»](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md)
* [1.说ä¸è¿ç¨çç¶æ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#1说ä¸è¿ç¨çç¶æ)
* [2.说ä¸è¿ç¨å线ç¨çèç³»ä¸åºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#2说ä¸è¿ç¨å线ç¨çèç³»ä¸åºå«)
* [3.为ä»ä¹è¿ç¨ä¸ä¸æåæ¢æ¯çº¿ç¨ä¸ä¸æåæ¢ä»£ä»·é«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#3为ä»ä¹è¿ç¨ä¸ä¸æåæ¢æ¯çº¿ç¨ä¸ä¸æåæ¢ä»£ä»·é«)
* [4.说ä¸ä½ 对è¿ç¨åæ¥ççè§£](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#4说ä¸ä½ 对è¿ç¨åæ¥ççè§£)
* [5.è¿ç¨çéä¿¡æ¹å¼æåªäº](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#5è¿ç¨çéä¿¡æ¹å¼æåªäº)
* [6.è¿ç¨è°åº¦çç§ç±»æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#6è¿ç¨è°åº¦çç§ç±»æåªäº)
* [7.鿢å å¼è°åº¦ä¸æ¢å å¼è°åº¦çåºå«æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#7鿢å å¼è°åº¦ä¸æ¢å å¼è°åº¦çåºå«æ¯ä»ä¹)
* [8.说ä¸ä½ ç¥éçè°åº¦ç®æ³](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#8说ä¸ä½ ç¥éçè°åº¦ç®æ³)
* [9.ä¸ä¸ªç¨åºä»å¼å§è¿è¡å°ç»æç宿´è¿ç¨ï¼å个è¿ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#9ä¸ä¸ªç¨åºä»å¼å§è¿è¡å°ç»æç宿´è¿ç¨å个è¿ç¨)
* [10.æ»éåºç°çæ¡ä»¶ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#10æ»éåºç°çæ¡ä»¶)
* [11.å¦ä½å¤çæ»éé®é¢](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#11å¦ä½å¤çæ»éé®é¢)
* [12.å¦ä½å¤çæ»éé®é¢](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#12å¦ä½å¤çæ»éé®é¢)
* [13.ä»ä¹æ¯ä¸´çèµæº](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#13ä»ä¹æ¯ä¸´çèµæº)
* [14.ä»ç»ä¸ä¸å
åæ± ãè¿ç¨æ± ãçº¿ç¨æ± ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#14ä»ç»ä¸ä¸å
åæ± è¿ç¨æ± çº¿ç¨æ± )
* [15.卿龿¥åºä¸éæé¾æ¥åºçåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#15卿龿¥åºä¸éæé¾æ¥åºçåºå«)
* [16.说ä¸å¯¹èæå
åççè§£](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#16说ä¸å¯¹èæå
åççè§£)
* [17.页é¢ç½®æ¢ç®æ³äºè§£å¤å°ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#17页é¢ç½®æ¢ç®æ³äºè§£å¤å°)
* [18.䏿ä¸ç³»ç»è°ç¨äºè§£åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#18䏿ä¸ç³»ç»è°ç¨äºè§£å)
* [19.ç¨æ·æåæ¢å°å
æ ¸æçæ¹å¼æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#19ç¨æ·æåæ¢å°å
æ ¸æçæ¹å¼æåªäº)
* [20.ç¨æ·æåæ ¸å¿æ(å
æ ¸æï¼ä¹é´çåºå«æ¯ä»ä¹å¢ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#20ç¨æ·æåæ ¸å¿æå
æ ¸æä¹é´çåºå«æ¯ä»ä¹å¢)
* [21.å
é¨ç¢çä¸å¤é¨ç¢çå嫿¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#21å
é¨ç¢çä¸å¤é¨ç¢çå嫿¯ä»ä¹)
* [22.ç³»ç»è°ç¨ä¸åºå½æ°çåºå«](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#22ç³»ç»è°ç¨ä¸åºå½æ°çåºå«)
* [23.宿¤ãåµå°¸ãå¤å¿è¿ç¨çæ¦å¿µ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#23宿¤åµå°¸å¤å¿è¿ç¨çæ¦å¿µ)
* [åèèµæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F.md#åèèµæ)
* [ç¼è¯åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86.md)
* [1.è¯æ³åæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86.md#1è¯æ³åæ)
* [2.è¯æ³åæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86.md#2è¯æ³åæ)
* [3.è¯ä¹åæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86.md#3è¯ä¹åæ)
* [4.ä¸é´ä»£ç çæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86.md#4ä¸é´ä»£ç çæ)
* [5.ç®æ 代ç çæ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86.md#5ç®æ 代ç çæ)
* [6.è¡¨æ ¼ç®¡çç¨åº](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86.md#6è¡¨æ ¼ç®¡çç¨åº)
* [7.åºéå¤ç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86.md#7åºéå¤ç)
* [8.å¥åãå¥åãè¯è¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86.md#8å¥åå¥åè¯è¨)
* [9.æç©·èªå¨æºï¼æéèªå¨æºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86.md#9æç©·èªå¨æºæéèªå¨æº)
* [10.å
¨å±ä¼å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86.md#10å
¨å±ä¼å)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86.md#åè龿¥)
* [è®¡ç®æºç»æåç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md)
* [1.è®¡ç®æºç³»ç»ç±åªä¸¤é¨åç»æï¼è®¡ç®æºç³»ç»æ§è½åå³äºä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#1è®¡ç®æºç³»ç»ç±åªä¸¤é¨åç»æè®¡ç®æºç³»ç»æ§è½åå³äºä»ä¹)
* [2.è®¡ç®æºç³»ç»5å±å±æ¬¡ç»æä»ä¸å°ä¸ç±åªäºå±ç»æï¼åªäºæ¯ç©çæºï¼åªäºæ¯èææºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#2è®¡ç®æºç³»ç»5å±å±æ¬¡ç»æä»ä¸å°ä¸ç±åªäºå±ç»æåªäºæ¯ç©çæºåªäºæ¯èææº)
* [3.å¨è®¡ç®æºç³»ç»ç»æä¸ï¼ä»ä¹æ¯ç¿»è¯ï¼ä»ä¹æ¯è§£éï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#3å¨è®¡ç®æºç³»ç»ç»æä¸ä»ä¹æ¯ç¿»è¯ä»ä¹æ¯è§£é)
* [4.ä»ä¹æ¯è®¡ç®æºä½ç³»ç»æï¼ä»ä¹æ¯è®¡ç®æºç»æï¼ä»¥ä¹æ³æä»¤ä¸ºä¾è¯´æäºè
åºå«ã](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#4ä»ä¹æ¯è®¡ç®æºä½ç³»ç»æä»ä¹æ¯è®¡ç®æºç»æä»¥ä¹æ³æä»¤ä¸ºä¾è¯´æäºè
åºå«)
* [5.å¯è¯ºä¾æ¼æºå¨ç主è¦ç¹ç¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#5å¯è¯ºä¾æ¼æºå¨ç主è¦ç¹ç¹)
* [6.ç¨åºè®¿é®çå±é¨æ§](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#6ç¨åºè®¿é®çå±é¨æ§)
* [7.åé¿](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#7åé¿)
* [8.Cacheçåºæ¬å·¥ä½åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#8cacheçåºæ¬å·¥ä½åç)
* [9.Cacheå主åä¹é´çæ å°æ¹å¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#9cacheå主åä¹é´çæ å°æ¹å¼)
* [10. Cacheä¸ä¸»ååçæ¿æ¢ç®æ³](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#10-cacheä¸ä¸»ååçæ¿æ¢ç®æ³)
* [11.äºè¿å¶ä¸è¬ä½¿ç¨ä»ä¹æ¹æ³è½¬æ¢æåè¿å¶ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#11äºè¿å¶ä¸è¬ä½¿ç¨ä»ä¹æ¹æ³è½¬æ¢æåè¿å¶)
* [12.è®¡ç®æºç´æ¥ä½¿ç¨åç è®¡ç®æä»ä¹ç¼ºç¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#12è®¡ç®æºç´æ¥ä½¿ç¨åç è®¡ç®æä»ä¹ç¼ºç¹)
* [13.请计ç®12ã124ã1023ã-1ã-127çäºè¿å¶åç ã](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#13请计ç®121241023-1-127çäºè¿å¶åç )
* [14.è®¡ç®æºçè¡¥ç è§£å³äºä»ä¹é®é¢ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#14è®¡ç®æºçè¡¥ç è§£å³äºä»ä¹é®é¢)
* [15.ä»ä¹æ¯æº¢åºï¼ä»ä¹æ¯ä¸æº¢ï¼ä»ä¹æ¯ä¸æº¢ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#15ä»ä¹æ¯æº¢åºä»ä¹æ¯ä¸æº¢ä»ä¹æ¯ä¸æº¢)
* [16.æµ®ç¹æ°ä¹é´åå åæ³è¿ç®éè¦å 个æ¥éª¤ï¼æ¯ä¸ªæ¥éª¤é½æ¯å¿
é¡»çåï¼ä¸ºä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#16æµ®ç¹æ°ä¹é´åå åæ³è¿ç®éè¦å 个æ¥éª¤æ¯ä¸ªæ¥éª¤é½æ¯å¿
é¡»çå为ä»ä¹)
* [17.èæåå¨å¨çåºæ¬æ¦å¿µ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#17èæåå¨å¨çåºæ¬æ¦å¿µ)
* [18.页å¼èæåå¨å¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#18页å¼èæåå¨å¨)
* [19.段å¼èæåå¨å¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#19段å¼èæåå¨å¨)
* [20.段页å¼èæåå¨å¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#20段页å¼èæåå¨å¨)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BB%84%E6%88%90%E5%8E%9F%E7%90%86.md#åè龿¥)
* [Docker](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md)
* [1.ä»ä¹Docker](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#1ä»ä¹docker)
* [2.Dockerä¸èææºæä½ä¸å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#2dockerä¸èææºæä½ä¸å)
* [3.ä»ä¹æ¯Dockeréå](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#3ä»ä¹æ¯dockeréå)
* [4.ä»ä¹æ¯Docker容å¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#4ä»ä¹æ¯docker容å¨)
* [5.Docker容卿å ç§ç¶æ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#5docker容卿å ç§ç¶æ)
* [6.DockerFile䏿叏è§çæå®æ¯ä»ä¹?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#6dockerfile䏿叏è§çæå®æ¯ä»ä¹)
* [7.DockerFileä¸çå½ä»¤COPYåADDå½ä»¤æä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#7dockerfileä¸çå½ä»¤copyåaddå½ä»¤æä»ä¹åºå«)
* [8.Dockerç常ç¨å½ä»¤ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#8dockerç常ç¨å½ä»¤)
* [9.容å¨ä¸ä¸»æºä¹é´çæ°æ®æ·è´å½ä»¤ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#9容å¨ä¸ä¸»æºä¹é´çæ°æ®æ·è´å½ä»¤)
* [10.å¯å¨nginx容å¨ï¼éæºç«¯å£æ å°ï¼ï¼å¹¶æè½½æ¬å°æä»¶ç®å½å°å®¹å¨htmlçå½ä»¤ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#10å¯å¨nginx容å¨éæºç«¯å£æ å°å¹¶æè½½æ¬å°æä»¶ç®å½å°å®¹å¨htmlçå½ä»¤)
* [11.å¦ä½ä½¿ç¨ Docker ææ¯å建ä¸ç¯å¢æ å
³ç容å¨ç³»ç»ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#11å¦ä½ä½¿ç¨-docker-ææ¯å建ä¸ç¯å¢æ å
³ç容å¨ç³»ç»)
* [12.æä»ä¹æ¹æ³ç¡®å®ä¸ä¸ª Docker 容å¨è¿è¡ç¶æ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#12æä»ä¹æ¹æ³ç¡®å®ä¸ä¸ª-docker-容å¨è¿è¡ç¶æ)
* [13. Docker Image å Docker Layer (å±) æä»ä¹ä¸å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#13-docker-image-å-docker-layer-å±-æä»ä¹ä¸å)
* [14.å¦ä½åæ¢æææ£å¨è¿è¡ç容å¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#14å¦ä½åæ¢æææ£å¨è¿è¡ç容å¨)
* [15.å¦ä½æ¸
çæ¹éåå°åæ¢ç容å¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#15å¦ä½æ¸
çæ¹éåå°åæ¢ç容å¨)
* [16.å¦ä½ä¸´æ¶éåºä¸ä¸ªæ£å¨äº¤äºç容å¨çç»ç«¯ï¼èä¸ç»æ¢å®ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#16å¦ä½ä¸´æ¶éåºä¸ä¸ªæ£å¨äº¤äºç容å¨çç»ç«¯èä¸ç»æ¢å®)
* [17.Docker 群ï¼Swarmï¼æ¯ä»ä¹](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#17docker-群swarmæ¯ä»ä¹)
* [18.å¨ä½¿ç¨ Docker ææ¯ç产åä¸å¦ä½çæ§å
¶è¿è¡](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#18å¨ä½¿ç¨-docker-ææ¯ç产åä¸å¦ä½çæ§å
¶è¿è¡)
* [19.ä»ä¹æ¯å¤å¿å·åå¦ä½å é¤å®ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#19ä»ä¹æ¯å¤å¿å·åå¦ä½å é¤å®)
* [20.å¨ Windows ç³»ç»ä¸å¯ä»¥è¿è¡åçç Docker 容å¨åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#20å¨-windows-ç³»ç»ä¸å¯ä»¥è¿è¡åçç-docker-容å¨å)
* [21.å¨ é Linux æä½ç³»ç»å¹³å°ä¸å¦ä½è¿è¡ Docker ?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#21å¨-é-linux-æä½ç³»ç»å¹³å°ä¸å¦ä½è¿è¡-docker-)
* [åè龿¥](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Docker.md#åè龿¥)
* [Dubbo](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md)
* [1.Dubboæ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#1dubboæ¯ä»ä¹)
* [2.为ä»ä¹è¦ç¨Dubboï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#2为ä»ä¹è¦ç¨dubbo)
* [3.Dubbo å Dubbox æä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#3dubbo-å-dubbox-æä»ä¹åºå«)
* [4.dubbo齿¯æä»ä¹åè®®ï¼æ¨èç¨åªç§ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#4dubbo齿¯æä»ä¹åè®®æ¨èç¨åªç§)
* [5.Dubboéè¦ Web 容å¨åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#5dubboéè¦-web-容å¨å)
* [6.Dubboå
ç½®äºåªå ç§æå¡å®¹å¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#6dubboå
ç½®äºåªå ç§æå¡å®¹å¨)
* [7.Dubboé»è®¤ä½¿ç¨ä»ä¹æ³¨åä¸å¿ï¼è¿æå«çéæ©åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#7dubboé»è®¤ä½¿ç¨ä»ä¹æ³¨åä¸å¿è¿æå«çéæ©å)
* [8.Dubboæåªå ç§é
ç½®æ¹å¼ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#8dubboæåªå ç§é
ç½®æ¹å¼)
* [9.å¨ Provider ä¸å¯ä»¥é
ç½®ç Consumer 端ç屿§æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#9å¨-provider-ä¸å¯ä»¥é
ç½®ç-consumer-端ç屿§æåªäº)
* [10.Dubboå¯å¨æ¶å¦æä¾èµçæå¡ä¸å¯ç¨ä¼ææ ·ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#10dubboå¯å¨æ¶å¦æä¾èµçæå¡ä¸å¯ç¨ä¼ææ ·)
* [11.Dubboæ¨è使ç¨ä»ä¹åºååæ¡æ¶ï¼ä½ ç¥éçè¿æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#11dubboæ¨è使ç¨ä»ä¹åºååæ¡æ¶ä½ ç¥éçè¿æåªäº)
* [12.Dubboé»è®¤ä½¿ç¨çæ¯ä»ä¹éä¿¡æ¡æ¶ï¼è¿æå«çéæ©åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#12dubboé»è®¤ä½¿ç¨çæ¯ä»ä¹éä¿¡æ¡æ¶è¿æå«çéæ©å)
* [13.注åäºå¤ä¸ªå䏿 ·çæå¡ï¼å¦ææµè¯æå®çæä¸ä¸ªæå¡å¢ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#13注åäºå¤ä¸ªå䏿 ·çæå¡å¦ææµè¯æå®çæä¸ä¸ªæå¡å¢)
* [14.Dubboæ¯ææå¡å¤åè®®åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#14dubboæ¯ææå¡å¤åè®®å)
* [15.å½ä¸ä¸ªæå¡æ¥å£æå¤ç§å®ç°æ¶æä¹åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#15å½ä¸ä¸ªæå¡æ¥å£æå¤ç§å®ç°æ¶æä¹å)
* [16.æå¡ä¸çº¿æä¹å
¼å®¹æ§çæ¬ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#16æå¡ä¸çº¿æä¹å
¼å®¹æ§çæ¬)
* [17.Dubboå¯ä»¥å¯¹ç»æè¿è¡ç¼ååï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#17dubboå¯ä»¥å¯¹ç»æè¿è¡ç¼åå)
* [18.Dubboæå¡ä¹é´çè°ç¨æ¯é»å¡çåï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#18dubboæå¡ä¹é´çè°ç¨æ¯é»å¡çå)
* [19.Dubboæ¯æåå¸å¼äºå¡åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#19dubboæ¯æåå¸å¼äºå¡å)
* [20.Dubboæ¯ææå¡é级åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#20dubboæ¯ææå¡é级å)
* [21.Dubboå¦ä½ä¼é
åæºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#21dubboå¦ä½ä¼é
åæº)
* [22.æå¡æä¾è
è½å®ç°å¤±æè¸¢åºæ¯ä»ä¹åçï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#22æå¡æä¾è
è½å®ç°å¤±æè¸¢åºæ¯ä»ä¹åç)
* [23.å¦ä½è§£å³æå¡è°ç¨é¾è¿é¿çé®é¢ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#23å¦ä½è§£å³æå¡è°ç¨é¾è¿é¿çé®é¢)
* [24.æå¡è¯»åæ¨èç容éçç¥æ¯ææ ·çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#24æå¡è¯»åæ¨èç容éçç¥æ¯ææ ·ç)
* [25.Dubboå¿
é¡»ä¾èµçå
æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#25dubboå¿
é¡»ä¾èµçå
æåªäº)
* [26.Dubboçç®¡çæ§å¶å°è½åä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#26dubboçç®¡çæ§å¶å°è½åä»ä¹)
* [27.说说 Dubbo æå¡æ´é²çè¿ç¨ã](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Dubbo.md#27说说-dubbo-æå¡æ´é²çè¿ç¨)
* [Elasticsearch](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md)
* [1.为ä»ä¹è¦ä½¿ç¨Elasticsearch?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#1为ä»ä¹è¦ä½¿ç¨elasticsearch)
* [2.Elasticsearchæ¯å¦ä½å®ç°Masteré举çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#2elasticsearchæ¯å¦ä½å®ç°masteré举ç)
* [3.Elasticsearchä¸çèç¹ï¼æ¯å¦å
±20个ï¼ï¼å
¶ä¸ç10个éäºä¸ä¸ªmasterï¼å¦å¤10个éäºå¦ä¸ä¸ªmasterï¼æä¹åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#3elasticsearchä¸çèç¹æ¯å¦å
±20个å
¶ä¸ç10个éäºä¸ä¸ªmasterå¦å¤10个éäºå¦ä¸ä¸ªmasteræä¹å)
* [4.è¯¦ç»æè¿°ä¸ä¸Elasticsearchç´¢å¼ææ¡£çè¿ç¨ã](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#4è¯¦ç»æè¿°ä¸ä¸elasticsearchç´¢å¼ææ¡£çè¿ç¨)
* [5.è¯¦ç»æè¿°ä¸ä¸Elasticsearchæ´æ°åå é¤ææ¡£çè¿ç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#5è¯¦ç»æè¿°ä¸ä¸elasticsearchæ´æ°åå é¤ææ¡£çè¿ç¨)
* [6.è¯¦ç»æè¿°ä¸ä¸Elasticsearchæç´¢çè¿ç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#6è¯¦ç»æè¿°ä¸ä¸elasticsearchæç´¢çè¿ç¨)
* [7.Elasticsearch对äºå¤§æ°æ®éï¼ä¸äº¿é级ï¼çèåå¦ä½å®ç°ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#7elasticsearch对äºå¤§æ°æ®éä¸äº¿é级çèåå¦ä½å®ç°)
* [8.å¨å¹¶åæ
åµä¸ï¼Elasticsearch妿ä¿è¯è¯»åä¸è´ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#8å¨å¹¶åæ
åµä¸elasticsearch妿ä¿è¯è¯»åä¸è´)
* [9.ElasticSearchä¸çé群ãèç¹ãç´¢å¼ãææ¡£ãç±»åæ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#9elasticsearchä¸çé群èç¹ç´¢å¼ææ¡£ç±»åæ¯ä»ä¹)
* [10.ElasticSearchä¸çåçæ¯ä»ä¹?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#10elasticsearchä¸çåçæ¯ä»ä¹)
* [11.ä»ä¹æ¯ElasticSearchï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#11ä»ä¹æ¯elasticsearch)
* [12.Elasticsearchä¸çåæç´¢å¼æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#12elasticsearchä¸çåæç´¢å¼æ¯ä»ä¹)
* [13.Elasticsearchä¸çåæå¨æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#13elasticsearchä¸çåæå¨æ¯ä»ä¹)
* [14.说说Elasticsearch常ç¨çè°ä¼ææ®µï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#14说说elasticsearch常ç¨çè°ä¼ææ®µ)
* [15.Elasticsearch å¨é¨ç½²æ¶ï¼å¯¹ Linux ç设置æåªäºä¼åæ¹æ³ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#15elasticsearch-å¨é¨ç½²æ¶å¯¹-linux-ç设置æåªäºä¼åæ¹æ³)
* [16.客æ·ç«¯å¨åéç¾¤è¿æ¥æ¶ï¼å¦ä½éæ©ç¹å®çèç¹æ§è¡è¯·æ±ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#16客æ·ç«¯å¨åéç¾¤è¿æ¥æ¶å¦ä½éæ©ç¹å®çèç¹æ§è¡è¯·æ±)
* [17.å¨ Elasticsearch ä¸ï¼æ¯æä¹æ ¹æ®ä¸ä¸ªè¯æ¾å°å¯¹åºçåæç´¢å¼çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#17å¨-elasticsearch-䏿¯æä¹æ ¹æ®ä¸ä¸ªè¯æ¾å°å¯¹åºçåæç´¢å¼ç)
* [18.å¯¹äº GC æ¹é¢ï¼å¨ä½¿ç¨ Elasticsearch æ¶è¦æ³¨æä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#18对äº-gc-æ¹é¢å¨ä½¿ç¨-elasticsearch-æ¶è¦æ³¨æä»ä¹)
* [19.å¨å¹¶åæ
åµä¸ï¼Elasticsearch 妿ä¿è¯è¯»åä¸è´ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#19å¨å¹¶åæ
åµä¸elasticsearch-妿ä¿è¯è¯»åä¸è´)
* [20.å¦ä½çæ§ Elasticsearch éç¾¤ç¶æï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Elasticsearch.md#20å¦ä½çæ§-elasticsearch-éç¾¤ç¶æ)
* [Javaéå](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md)
* [1.常è§çéåæåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#1常è§çéåæåªäº)
* [2.常è§çéååºå±å®ç°](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#2常è§çéååºå±å®ç°)
* [3.HashMapä¸HashTableçåºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#3hashmapä¸hashtableçåºå«)
* [4.ConcurrentHashMapåHashtableçåºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#4concurrenthashmapåhashtableçåºå«)
* [5.ConcurrentHashMapå®ç°åç](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#5concurrenthashmapå®ç°åç)
* [6.ArrayList å Vector çåºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#6arraylist-å-vector-çåºå«)
* [7.ArrayListåLinkedListçåºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#7arraylistålinkedlistçåºå«)
* [8.HashMap é»è®¤çåå§åé¿åº¦æ¯å¤å°ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#8hashmap-é»è®¤çåå§åé¿åº¦æ¯å¤å°)
* [9.è°è°å¯¹HashMap æé æ¹æ³ä¸åå§å®¹éãå è½½å åççè§£](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#9è°è°å¯¹hashmap-æé æ¹æ³ä¸åå§å®¹éå è½½å åççè§£)
* [10.Javaéåæ¡æ¶æ¯ä»ä¹ï¼è¯´åºä¸äºéåæ¡æ¶çä¼ç¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#10javaéåæ¡æ¶æ¯ä»ä¹è¯´åºä¸äºéåæ¡æ¶çä¼ç¹)
* [11.éåæ¡æ¶ä¸çæ³åæä»ä¹ä¼ç¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#11éåæ¡æ¶ä¸çæ³åæä»ä¹ä¼ç¹)
* [12.为ä½Collectionä¸ä»CloneableåSerializableæ¥å£ç»§æ¿ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#12为ä½collectionä¸ä»cloneableåserializableæ¥å£ç»§æ¿)
* [13.为ä½Mapæ¥å£ä¸ç»§æ¿Collectionæ¥å£ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#13为ä½mapæ¥å£ä¸ç»§æ¿collectionæ¥å£)
* [14.Iteratoræ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#14iteratoræ¯ä»ä¹)
* [15.EnumerationåIteratoræ¥å£çåºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#15enumerationåiteratoræ¥å£çåºå«)
* [16.IterateråListIteratorä¹é´æä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#16iteraterålistiteratorä¹é´æä»ä¹åºå«)
* [17.fail-fastä¸fail-safeæä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#17fail-fastä¸fail-safeæä»ä¹åºå«)
* [18.hashCode()åequals()æ¹æ³æä½éè¦æ§ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#18hashcodeåequalsæ¹æ³æä½éè¦æ§)
* [19.æä»¬è½å¦ä½¿ç¨ä»»ä½ç±»ä½ä¸ºMapçkeyï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#19æä»¬è½å¦ä½¿ç¨ä»»ä½ç±»ä½ä¸ºmapçkey)
* [20.å¦ä½å³å®éç¨HashMapè¿æ¯TreeMapï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#20å¦ä½å³å®éç¨hashmapè¿æ¯treemap)
* [21.åªäºéåç±»æä¾å¯¹å
ç´ çéæºè®¿é®ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#21åªäºéåç±»æä¾å¯¹å
ç´ çéæºè®¿é®)
* [22.BlockingQueueæ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#22blockingqueueæ¯ä»ä¹)
* [23.éååæ æ¯ä»ä¹ï¼ååºå®ä»¬çåºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#23éååæ æ¯ä»ä¹ååºå®ä»¬çåºå«)
* [24.Collectionsç±»æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#24collectionsç±»æ¯ä»ä¹)
* [25.ComparableåComparatoræ¥å£æä½åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%9B%86%E5%90%88.md#25comparableåcomparatoræ¥å£æä½åºå«)
* [Javaé«å¹¶å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md)
* [1.ä»ä¹æ¯è¿ç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#1ä»ä¹æ¯è¿ç¨)
* [2.ä»ä¹æ¯çº¿ç¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#2ä»ä¹æ¯çº¿ç¨)
* [3.è¿ç¨é´å¦ä½é讯](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#3è¿ç¨é´å¦ä½é讯)
* [4.线ç¨é´å¦ä½é讯](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#4线ç¨é´å¦ä½é讯)
* [5.忥å弿¥æä½ä¸åï¼å¨ä»ä¹æ
åµä¸åå«ä½¿ç¨å®ä»¬ï¼ä¸¾ä¾è¯´æ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#5忥å弿¥æä½ä¸åå¨ä»ä¹æ
åµä¸åå«ä½¿ç¨å®ä»¬ä¸¾ä¾è¯´æ)
* [6.è¿ç¨è°åº¦ç®æ³](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#6è¿ç¨è°åº¦ç®æ³)
* [7.Javaä¸Unsafe类详解](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#7javaä¸unsafe类详解)
* [8.å¦ä½æµè¯å¹¶åéï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#8å¦ä½æµè¯å¹¶åé)
* [9.æä¸ä¸ªçº¿ç¨T1ï¼T2ï¼T3ï¼æä¹ç¡®ä¿å®ä»¬æé¡ºåºæ§è¡ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#9æä¸ä¸ªçº¿ç¨t1t2t3æä¹ç¡®ä¿å®ä»¬æé¡ºåºæ§è¡)
* [10.ä»ä¹æ¯çº¿ç¨è°åº¦å¨(Thread Scheduler)åæ¶é´åç(Time Slicing)ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#10ä»ä¹æ¯çº¿ç¨è°åº¦å¨thread-scheduleråæ¶é´åçtime-slicing)
* [11.æ°æ®åºæ»éï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#11æ°æ®åºæ»é)
* [12.ä»ä¹æ¯éé¡ºåºæ»éï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#12ä»ä¹æ¯éé¡ºåºæ»é)
* [13.æ»éçé¿å
ä¸è¯æï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#13æ»éçé¿å
ä¸è¯æ)
* [14.常è§çå¹¶å容å¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#14常è§çå¹¶å容å¨)
* [15.常è§ç忥工å
·ç±»ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#15常è§ç忥工å
·ç±»)
* [16.Nginxå¤è¿ç¨æ¨¡åæ¯å¦ä½å®ç°é«å¹¶åçï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#16nginxå¤è¿ç¨æ¨¡åæ¯å¦ä½å®ç°é«å¹¶åç)
* [17.CopyOnWriteArrayList](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#17copyonwritearraylist)
* [18.AQS](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#18aqs)
* [19.Javaéçé»å¡éå](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#19javaéçé»å¡éå)
* [20.Fork/Joinæ¡æ¶](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Java%E9%AB%98%E5%B9%B6%E5%8F%91.md#20forkjoinæ¡æ¶)
* [Jenkins](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Jenkins.md)
* [1.ä»ä¹æ¯Jenkinsï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Jenkins.md#1ä»ä¹æ¯jenkins)
* [2.Maven, AntåJenkinsæä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Jenkins.md#2maven-antåjenkinsæä»ä¹åºå«)
* [3.Jenkinsæ¯æåªäºSCMå·¥å
·ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Jenkins.md#3jenkinsæ¯æåªäºscmå·¥å
·)
* [4.å¨Jenkinsä¸, ä»ä¹æ¯æç»éæï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Jenkins.md#4å¨jenkinsä¸-ä»ä¹æ¯æç»éæ)
* [5.Jenkinsçä¼å¿æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Jenkins.md#5jenkinsçä¼å¿æ¯ä»ä¹)
* [6.å¯ä»¥ä½¿ç¨åªäºå½ä»¤æå¨å¯å¨Jenkinsï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Jenkins.md#6å¯ä»¥ä½¿ç¨åªäºå½ä»¤æå¨å¯å¨jenkins)
* [7.å¦ä½å¨Jenkinsä¸å建å¤ä»½åå¤å¶æä»¶ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Jenkins.md#7å¦ä½å¨jenkinsä¸å建å¤ä»½åå¤å¶æä»¶)
* [8.å¦ä½éè¿Jenkinså
éGitåå¨åºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Jenkins.md#8å¦ä½éè¿jenkinså
égitåå¨åº)
* [9.ä»ä¹æ¯jenkinsfile?为ä»ä¹ä½¿ç¨jenkinsfile](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Jenkins.md#9ä»ä¹æ¯jenkinsfile为ä»ä¹ä½¿ç¨jenkinsfile)
* [10.ä»ä¹æ¯Blue Ocean](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Jenkins.md#10ä»ä¹æ¯blue-ocean)
* [Kubernetes](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md)
* [1.ä»ä¹æ¯Kubernetesï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#1ä»ä¹æ¯kubernetes)
* [2.Kubernetesä¸Dockeræä»ä¹å
³ç³»ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#2kubernetesä¸dockeræä»ä¹å
³ç³»)
* [3.ä»ä¹æ¯Container Orchestrationï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#3ä»ä¹æ¯container-orchestration)
* [4.Kuberneteså¦ä½ç®å容å¨åé¨ç½²ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#4kuberneteså¦ä½ç®å容å¨åé¨ç½²)
* [5.ä»ä¹æ¯Google容å¨å¼æï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#5ä»ä¹æ¯google容å¨å¼æ)
* [6.ä»ä¹æ¯Heapsterï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#6ä»ä¹æ¯heapster)
* [7.ä»ä¹æ¯Minikubeï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#7ä»ä¹æ¯minikube)
* [8.ä»ä¹æ¯Kubectlï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#8ä»ä¹æ¯kubectl)
* [9.ä»ä¹æ¯Kubeletï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#9ä»ä¹æ¯kubelet)
* [10.Kubernetes Architectureçä¸åç»ä»¶æåªäºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#10kubernetes-architectureçä¸åç»ä»¶æåªäº)
* [11.ä½ å¯¹Kube-proxyæä»ä¹äºè§£ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#11ä½ å¯¹kube-proxyæä»ä¹äºè§£)
* [12.æ¨è½å¦ä»ç»ä¸ä¸Kubernetesä¸ä¸»èç¹ç工使
åµï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#12æ¨è½å¦ä»ç»ä¸ä¸kubernetesä¸ä¸»èç¹ç工使
åµ)
* [13.kube-apiserveråkube-schedulerçä½ç¨æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#13kube-apiserveråkube-schedulerçä½ç¨æ¯ä»ä¹)
* [14.ä½ è½ç®è¦ä»ç»ä¸ä¸Kubernetesæ§å¶ç®¡çå¨åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#14ä½ è½ç®è¦ä»ç»ä¸ä¸kubernetesæ§å¶ç®¡çå¨å)
* [15.ä»ä¹æ¯etcdï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#15ä»ä¹æ¯etcd)
* [16.ä½ å¯¹Kubernetesçè´è½½åè¡¡å¨æä»ä¹äºè§£ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#16ä½ å¯¹kubernetesçè´è½½åè¡¡å¨æä»ä¹äºè§£)
* [17.ä»ä¹æ¯Ingressç½ç»ï¼å®æ¯å¦ä½å·¥ä½çï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#17ä»ä¹æ¯ingressç½ç»å®æ¯å¦ä½å·¥ä½ç)
* [18.æ¨å¯¹äºæ§å¶å¨ç®¡ç卿ä½äºè§£ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#18æ¨å¯¹äºæ§å¶å¨ç®¡ç卿ä½äºè§£)
* [19.ä»ä¹æ¯Containerèµæºçæ§ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#19ä»ä¹æ¯containerèµæºçæ§)
* [20.Replica Set å Replication Controllerä¹é´æä»ä¹åºå«ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Kubernetes.md#20replica-set-å-replication-controllerä¹é´æä»ä¹åºå«)
* [Maven](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md)
* [1.mavenæ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#1mavenæ¯ä»ä¹)
* [2.使ç¨Maven好å¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#2使ç¨maven好å¤)
* [3.Mavençåæ åä¾èµ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#3mavençåæ åä¾èµ)
* [4.Mavençâ½£å½å¨æ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#4mavençå½å¨æ)
* [5.ä½ ä»¬é¡¹ç®ä¸ºä»ä¹éç¨ Maven è¿è¡æå»ºï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#5ä½ ä»¬é¡¹ç®ä¸ºä»ä¹éç¨-maven-è¿è¡æå»º)
* [6.Maven è§çº¦æ¯ä»ä¹ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#6maven-è§çº¦æ¯ä»ä¹)
* [7.Maven 常ç¨å½ä»¤](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#7maven-常ç¨å½ä»¤)
* [8.Maven æåªäºä¼ç¹å缺ç¹](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#8maven-æåªäºä¼ç¹å缺ç¹)
* [9.Maven çæ¬è§åï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#9maven-çæ¬è§å)
* [10.对äºä¸ä¸ªå¤æ¨¡å项ç®ï¼å¦æç®¡ç项ç®ä¾èµççæ¬ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#10对äºä¸ä¸ªå¤æ¨¡å项ç®å¦æç®¡ç项ç®ä¾èµççæ¬)
* [11.Maven ä¾èµååï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#11maven-ä¾èµåå)
* [12.å¦ä½è§£å³ jar å²çªï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#12å¦ä½è§£å³-jar-å²çª)
* [13.ä»ä¹æ¯ Maven æä»¶ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#13ä»ä¹æ¯-maven-æä»¶)
* [14.Mavenä¾èµå²çª](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#14mavenä¾èµå²çª)
* [15.ä¾èµçè§£ææºå¶](https://github.com/JavaInterviewHub/JavaInterview/blob/main/Maven.md#15ä¾èµçè§£ææºå¶)
* [MongoDB](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md)
* [1.ä»ä¹æ¯MongoDBï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#1ä»ä¹æ¯mongodb)
* [2.MongoDBçä¼å¿æåªäº](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#2mongodbçä¼å¿æåªäº)
* [3.ä»ä¹æ¯éå(表)ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#3ä»ä¹æ¯éå表)
* [4.ä»ä¹æ¯ææ¡£(è®°å½)](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#4ä»ä¹æ¯ææ¡£è®°å½)
* [5.为ä»ä¹ç¨MOngoDBï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#5为ä»ä¹ç¨mongodb)
* [6.å¨åªäºåºæ¯ä½¿ç¨MongoDB](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#6å¨åªäºåºæ¯ä½¿ç¨mongodb)
* [7.MongoDBä¸çå½åç©ºé´æ¯ä»ä¹ææ?](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#7mongodbä¸çå½åç©ºé´æ¯ä»ä¹ææ)
* [8.MongoDBä¸çåçä»ä¹ææ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#8mongodbä¸çåçä»ä¹ææ)
* [9.为ä»ä¹è¦å¨MongoDBä¸ä½¿ç¨åæå¨](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#9为ä»ä¹è¦å¨mongodbä¸ä½¿ç¨åæå¨)
* [10.MongoDBæ¯æä¸»é®å¤é®å
³ç³»å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#10mongodbæ¯æä¸»é®å¤é®å
³ç³»å)
* [11.MongoDBæ¯æåªäºæ°æ®ç±»å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#11mongodbæ¯æåªäºæ°æ®ç±»å)
* [12.为ä»ä¹è¦å¨MongoDBä¸ç¨"Code"æ°æ®ç±»å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#12为ä»ä¹è¦å¨mongodbä¸ç¨codeæ°æ®ç±»å)
* [13.为ä»ä¹è¦å¨MongoDBä¸ç¨"Regular Expression"æ°æ®ç±»å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#13为ä»ä¹è¦å¨mongodbä¸ç¨regular-expressionæ°æ®ç±»å)
* [14.为ä»ä¹å¨MongoDBä¸ä½¿ç¨"Object ID"æ°æ®ç±»å](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#14为ä»ä¹å¨mongodbä¸ä½¿ç¨object-idæ°æ®ç±»å)
* [15."ObjectID"æåªäºé¨åç»æ](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#15objectidæåªäºé¨åç»æ)
* [16.å¨MongoDbä¸ä»ä¹æ¯ç´¢å¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#16å¨mongodbä¸ä»ä¹æ¯ç´¢å¼)
* [17.å¨MongoDBä¸ä»ä¹æ¯å¯æ¬é](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#17å¨mongodbä¸ä»ä¹æ¯å¯æ¬é)
* [18.MongoDBæ¯æåå¨è¿ç¨åï¼å¦ææ¯æçè¯ï¼æä¹ç¨ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#18mongodbæ¯æåå¨è¿ç¨åå¦ææ¯æçè¯æä¹ç¨)
* [19.å¦ä½çè§£MongoDBä¸çGridFSæºå¶ï¼MongoDB为ä½ä½¿ç¨GridFSæ¥å卿件ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#19å¦ä½çè§£mongodbä¸çgridfsæºå¶mongodb为ä½ä½¿ç¨gridfsæ¥å卿件)
* [20.为ä»ä¹MongoDBçæ°æ®æä»¶å¾å¤§ï¼](https://github.com/JavaInterviewHub/JavaInterview/blob/main/MongoDB.md#20为ä»ä¹mongodbçæ°æ®æä»¶å¾å¤§)