gitextract_shn9zbhp/ ├── .gitattributes ├── .github/ │ └── workflows/ │ └── test.yml ├── .gitignore ├── .husky/ │ └── pre-commit ├── .markdownlint-cli2.mjs ├── .nojekyll ├── .prettierignore ├── LICENSE ├── README.md ├── README_EN.md ├── TRANSLATION_TOOLS.md ├── TranslateRepo.java ├── docs/ │ ├── .vuepress/ │ │ ├── client.ts │ │ ├── components/ │ │ │ ├── LayoutToggle.vue │ │ │ └── unlock/ │ │ │ ├── GlobalUnlock.vue │ │ │ └── UnlockContent.vue │ │ ├── config.ts │ │ ├── features/ │ │ │ └── unlock/ │ │ │ ├── config.ts │ │ │ └── heights.ts │ │ ├── navbar.ts │ │ ├── public/ │ │ │ └── robots.txt │ │ ├── shims-vue.d.ts │ │ ├── sidebar/ │ │ │ ├── about-the-author.ts │ │ │ ├── ai.ts │ │ │ ├── books.ts │ │ │ ├── constants.ts │ │ │ ├── high-quality-technical-articles.ts │ │ │ ├── index.ts │ │ │ ├── open-source-project.ts │ │ │ └── zhuanlan.ts │ │ ├── styles/ │ │ │ ├── config.scss │ │ │ ├── index.scss │ │ │ └── palette.scss │ │ └── theme.ts │ ├── README.md │ ├── about-the-author/ │ │ ├── README.md │ │ ├── deprecated-java-technologies.md │ │ ├── dog-that-copies-other-people-essay.md │ │ ├── feelings-after-one-month-of-induction-training.md │ │ ├── feelings-of-half-a-year-from-graduation-to-entry.md │ │ ├── internet-addiction-teenager.md │ │ ├── javaguide-100k-star.md │ │ ├── my-article-was-stolen-and-made-into-video-and-it-became-popular.md │ │ ├── my-college-life.md │ │ ├── writing-technology-blog-six-years.md │ │ └── zhishixingqiu-two-years.md │ ├── ai/ │ │ ├── README.md │ │ ├── agent/ │ │ │ ├── agent-basis.md │ │ │ ├── context-engineering.md │ │ │ ├── mcp.md │ │ │ ├── prompt-engineering.md │ │ │ └── skills.md │ │ ├── ai-coding/ │ │ │ ├── idea-qoder-plugin.md │ │ │ └── trae-m2.7.md │ │ ├── llm-basis/ │ │ │ ├── ai-ide.md │ │ │ └── llm-operation-mechanism.md │ │ └── rag/ │ │ ├── rag-basis.md │ │ └── rag-vector-store.md │ ├── books/ │ │ ├── README.md │ │ ├── cs-basics.md │ │ ├── database.md │ │ ├── distributed-system.md │ │ ├── java.md │ │ ├── search-engine.md │ │ └── software-quality.md │ ├── cs-basics/ │ │ ├── algorithms/ │ │ │ ├── 10-classical-sorting-algorithms.md │ │ │ ├── classical-algorithm-problems-recommendations.md │ │ │ ├── common-data-structures-leetcode-recommendations.md │ │ │ ├── linkedlist-algorithm-problems.md │ │ │ ├── string-algorithm-problems.md │ │ │ └── the-sword-refers-to-offer.md │ │ ├── data-structure/ │ │ │ ├── bloom-filter.md │ │ │ ├── graph.md │ │ │ ├── heap.md │ │ │ ├── linear-data-structure.md │ │ │ ├── pictures/ │ │ │ │ └── 线性数据结构/ │ │ │ │ └── 栈实现浏览器倒退和前进.drawio │ │ │ ├── red-black-tree.md │ │ │ └── tree.md │ │ ├── network/ │ │ │ ├── application-layer-protocol.md │ │ │ ├── arp.md │ │ │ ├── computer-network-xiexiren-summary.md │ │ │ ├── dns.md │ │ │ ├── http-status-codes.md │ │ │ ├── http-vs-https.md │ │ │ ├── http1.0-vs-http1.1.md │ │ │ ├── nat.md │ │ │ ├── network-attack-means.md │ │ │ ├── osi-and-tcp-ip-model.md │ │ │ ├── other-network-questions.md │ │ │ ├── other-network-questions2.md │ │ │ ├── tcp-connection-and-disconnection.md │ │ │ ├── tcp-reliability-guarantee.md │ │ │ └── the-whole-process-of-accessing-web-pages.md │ │ └── operating-system/ │ │ ├── linux-intro.md │ │ ├── operating-system-basic-questions-01.md │ │ ├── operating-system-basic-questions-02.md │ │ └── shell-intro.md │ ├── database/ │ │ ├── basis.md │ │ ├── character-set.md │ │ ├── elasticsearch/ │ │ │ └── elasticsearch-questions-01.md │ │ ├── mongodb/ │ │ │ ├── mongodb-questions-01.md │ │ │ └── mongodb-questions-02.md │ │ ├── mysql/ │ │ │ ├── a-thousand-lines-of-mysql-study-notes.md │ │ │ ├── how-sql-executed-in-mysql.md │ │ │ ├── index-invalidation-caused-by-implicit-conversion.md │ │ │ ├── innodb-implementation-of-mvcc.md │ │ │ ├── mysql-auto-increment-primary-key-continuous.md │ │ │ ├── mysql-high-performance-optimization-specification-recommendations.md │ │ │ ├── mysql-index-invalidation.md │ │ │ ├── mysql-index.md │ │ │ ├── mysql-logs.md │ │ │ ├── mysql-query-cache.md │ │ │ ├── mysql-query-execution-plan.md │ │ │ ├── mysql-questions-01.md │ │ │ ├── some-thoughts-on-database-storage-time.md │ │ │ └── transaction-isolation-level.md │ │ ├── nosql.md │ │ ├── redis/ │ │ │ ├── 3-commonly-used-cache-read-and-write-strategies.md │ │ │ ├── cache-basics.md │ │ │ ├── images/ │ │ │ │ ├── aof-rewrite.drawio │ │ │ │ ├── aof-work-process.drawio │ │ │ │ ├── hash-shopping-cart.drawio │ │ │ │ ├── memory-fragmentation.drawio │ │ │ │ ├── redis-aof-write-log-disc.drawio │ │ │ │ ├── redis-cache-avalanche.drawio │ │ │ │ ├── redis-cache-breakdown.drawio │ │ │ │ ├── redis-cache-penetration.drawio │ │ │ │ ├── redis-event-handler.drawio │ │ │ │ ├── redis-list.drawio │ │ │ │ └── redis4.0-master-slave-replication-replid.drawio │ │ │ ├── redis-cluster.md │ │ │ ├── redis-common-blocking-problems-summary.md │ │ │ ├── redis-data-structures-01.md │ │ │ ├── redis-data-structures-02.md │ │ │ ├── redis-delayed-task.md │ │ │ ├── redis-memory-fragmentation.md │ │ │ ├── redis-persistence.md │ │ │ ├── redis-questions-01.md │ │ │ ├── redis-questions-02.md │ │ │ ├── redis-skiplist.md │ │ │ └── redis-stream-mq.md │ │ └── sql/ │ │ ├── sql-questions-01.md │ │ ├── sql-questions-02.md │ │ ├── sql-questions-03.md │ │ ├── sql-questions-04.md │ │ ├── sql-questions-05.md │ │ └── sql-syntax-summary.md │ ├── distributed-system/ │ │ ├── api-gateway.md │ │ ├── distributed-configuration-center.md │ │ ├── distributed-id-design.md │ │ ├── distributed-id.md │ │ ├── distributed-lock-implementations.md │ │ ├── distributed-lock.md │ │ ├── distributed-process-coordination/ │ │ │ └── zookeeper/ │ │ │ ├── zookeeper-in-action.md │ │ │ ├── zookeeper-intro.md │ │ │ └── zookeeper-plus.md │ │ ├── distributed-transaction.md │ │ ├── images/ │ │ │ ├── api-gateway/ │ │ │ │ └── api-gateway-overview.drawio │ │ │ ├── distributed-id/ │ │ │ │ ├── database-number-segment-mode.drawio │ │ │ │ ├── distributed-id-requirements.drawio │ │ │ │ ├── id-after-the-sub-table-not-conflict.drawio │ │ │ │ ├── nosql.drawio │ │ │ │ └── the-primary-key-of-the-database-increases-automatically.drawio │ │ │ └── zookeeper/ │ │ │ ├── znode-structure.drawio │ │ │ └── zookeeper-watcher.drawio │ │ ├── protocol/ │ │ │ ├── cap-and-base-theorem.md │ │ │ ├── consistent-hashing.md │ │ │ ├── gossip-protocol.md │ │ │ ├── paxos-algorithm.md │ │ │ ├── raft-algorithm.md │ │ │ └── zab.md │ │ ├── rpc/ │ │ │ ├── dubbo.md │ │ │ ├── http&rpc.md │ │ │ └── rpc-intro.md │ │ └── spring-cloud-gateway-questions.md │ ├── high-availability/ │ │ ├── fallback-and-circuit-breaker.md │ │ ├── high-availability-system-design.md │ │ ├── idempotency.md │ │ ├── limit-request.md │ │ ├── performance-test.md │ │ ├── redundancy.md │ │ └── timeout-and-retry.md │ ├── high-performance/ │ │ ├── cdn.md │ │ ├── data-cold-hot-separation.md │ │ ├── deep-pagination-optimization.md │ │ ├── images/ │ │ │ └── read-and-write-separation-and-library-subtable/ │ │ │ ├── horizontal-slicing-database.drawio │ │ │ ├── read-and-write-separation-proxy.drawio │ │ │ ├── read-and-write-separation.drawio │ │ │ ├── two-forms-of-sub-table.drawio │ │ │ └── vertical-slicing-database.drawio │ │ ├── load-balancing.md │ │ ├── message-queue/ │ │ │ ├── disruptor-questions.md │ │ │ ├── kafka-questions-01.md │ │ │ ├── message-queue.md │ │ │ ├── rabbitmq-questions.md │ │ │ └── rocketmq-questions.md │ │ ├── read-and-write-separation-and-library-subtable.md │ │ └── sql-optimization.md │ ├── high-quality-technical-articles/ │ │ ├── README.md │ │ ├── advanced-programmer/ │ │ │ ├── 20-bad-habits-of-bad-programmers.md │ │ │ ├── meituan-three-year-summary-lesson-10.md │ │ │ ├── programmer-quickly-learn-new-technology.md │ │ │ ├── seven-tips-for-becoming-an-advanced-programmer.md │ │ │ ├── ten-years-of-dachang-growth-road.md │ │ │ ├── the-growth-strategy-of-the-technological-giant.md │ │ │ └── thinking-about-technology-and-business-after-five-years-of-work.md │ │ ├── interview/ │ │ │ ├── how-to-examine-the-technical-ability-of-programmers-in-the-first-test-of-technology.md │ │ │ ├── my-personal-experience-in-2021.md │ │ │ ├── screen-candidates-for-packaging.md │ │ │ ├── some-secrets-about-alibaba-interview.md │ │ │ ├── summary-of-spring-recruitment.md │ │ │ ├── technical-preliminary-preparation.md │ │ │ ├── the-experience-and-thinking-of-an-interview-experienced-by-an-older-programmer.md │ │ │ └── the-experience-of-get-offer-from-over-20-big-companies.md │ │ ├── personal-experience/ │ │ │ ├── 8-years-programmer-work-summary.md │ │ │ ├── four-year-work-in-tencent-summary.md │ │ │ ├── huawei-od-275-days.md │ │ │ └── two-years-of-back-end-develop--experience-in-didi-and-toutiao.md │ │ ├── programmer/ │ │ │ ├── efficient-book-publishing-and-practice-guide.md │ │ │ ├── high-value-certifications-for-programmers.md │ │ │ └── how-do-programmers-publish-a-technical-book.md │ │ └── work/ │ │ ├── 32-tips-improving-career.md │ │ ├── employee-performance.md │ │ └── get-into-work-mode-quickly-when-you-join-a-company.md │ ├── home.md │ ├── interview-preparation/ │ │ ├── backend-interview-plan.md │ │ ├── how-to-handle-interview-nerves.md │ │ ├── internship-experience.md │ │ ├── interview-experience.md │ │ ├── java-roadmap.md │ │ ├── key-points-of-interview.md │ │ ├── pdf-interview-javaguide.md │ │ ├── project-experience-guide.md │ │ ├── resume-guide.md │ │ ├── self-test-of-common-interview-questions.md │ │ └── teach-you-how-to-prepare-for-the-interview-hand-in-hand.md │ ├── java/ │ │ ├── basis/ │ │ │ ├── bigdecimal.md │ │ │ ├── generics-and-wildcards.md │ │ │ ├── java-basic-questions-01.md │ │ │ ├── java-basic-questions-02.md │ │ │ ├── java-basic-questions-03.md │ │ │ ├── java-keyword-summary.md │ │ │ ├── proxy.md │ │ │ ├── reflection.md │ │ │ ├── serialization.md │ │ │ ├── spi.md │ │ │ ├── syntactic-sugar.md │ │ │ ├── unsafe.md │ │ │ └── why-there-only-value-passing-in-java.md │ │ ├── collection/ │ │ │ ├── arrayblockingqueue-source-code.md │ │ │ ├── arraylist-source-code.md │ │ │ ├── concurrent-hash-map-source-code.md │ │ │ ├── copyonwritearraylist-source-code.md │ │ │ ├── delayqueue-source-code.md │ │ │ ├── hashmap-source-code.md │ │ │ ├── java-collection-precautions-for-use.md │ │ │ ├── java-collection-questions-01.md │ │ │ ├── java-collection-questions-02.md │ │ │ ├── linkedhashmap-source-code.md │ │ │ ├── linkedlist-source-code.md │ │ │ └── priorityqueue-source-code.md │ │ ├── concurrent/ │ │ │ ├── aqs.md │ │ │ ├── atomic-classes.md │ │ │ ├── cas.md │ │ │ ├── completablefuture-intro.md │ │ │ ├── java-concurrent-collections.md │ │ │ ├── java-concurrent-questions-01.md │ │ │ ├── java-concurrent-questions-02.md │ │ │ ├── java-concurrent-questions-03.md │ │ │ ├── java-thread-pool-best-practices.md │ │ │ ├── java-thread-pool-summary.md │ │ │ ├── jmm.md │ │ │ ├── optimistic-lock-and-pessimistic-lock.md │ │ │ ├── reentrantlock.md │ │ │ ├── threadlocal.md │ │ │ └── virtual-thread.md │ │ ├── io/ │ │ │ ├── io-basis.md │ │ │ ├── io-design-patterns.md │ │ │ ├── io-model.md │ │ │ └── nio-basis.md │ │ ├── jvm/ │ │ │ ├── class-file-structure.md │ │ │ ├── class-loading-process.md │ │ │ ├── classloader.md │ │ │ ├── jdk-monitoring-and-troubleshooting-tools.md │ │ │ ├── jvm-garbage-collection.md │ │ │ ├── jvm-in-action.md │ │ │ ├── jvm-intro.md │ │ │ ├── jvm-parameters-intro.md │ │ │ └── memory-area.md │ │ └── new-features/ │ │ ├── java10.md │ │ ├── java11.md │ │ ├── java12-13.md │ │ ├── java14-15.md │ │ ├── java16.md │ │ ├── java17.md │ │ ├── java18.md │ │ ├── java19.md │ │ ├── java20.md │ │ ├── java21.md │ │ ├── java22-23.md │ │ ├── java24.md │ │ ├── java25.md │ │ ├── java26.md │ │ ├── java8-common-new-features.md │ │ ├── java8-tutorial-translate.md │ │ └── java9.md │ ├── javaguide/ │ │ ├── contribution-guideline.md │ │ ├── faq.md │ │ ├── history.md │ │ ├── intro.md │ │ └── use-suggestion.md │ ├── open-source-project/ │ │ ├── README.md │ │ ├── big-data.md │ │ ├── machine-learning.md │ │ ├── practical-project.md │ │ ├── system-design.md │ │ ├── tool-library.md │ │ ├── tools.md │ │ └── tutorial.md │ ├── snippets/ │ │ ├── article-footer.snippet.md │ │ ├── article-header.snippet.md │ │ ├── planet.snippet.md │ │ ├── planet2.snippet.md │ │ ├── small-advertisement.snippet.md │ │ └── yuanma.snippet.md │ ├── system-design/ │ │ ├── J2EE基础知识.md │ │ ├── basis/ │ │ │ ├── RESTfulAPI.md │ │ │ ├── naming.md │ │ │ ├── pictures/ │ │ │ │ ├── common-design-patterns.drawio │ │ │ │ └── programming-principles.drawio │ │ │ ├── refactoring.md │ │ │ ├── software-engineering.md │ │ │ └── unit-test.md │ │ ├── design-pattern.md │ │ ├── framework/ │ │ │ ├── mybatis/ │ │ │ │ └── mybatis-interview.md │ │ │ ├── netty.md │ │ │ └── spring/ │ │ │ ├── Async.md │ │ │ ├── async.md │ │ │ ├── images/ │ │ │ │ ├── mvc-mode1.drawio │ │ │ │ └── mvc-model2.drawio │ │ │ ├── ioc-and-aop.md │ │ │ ├── spring-boot-auto-assembly-principles.md │ │ │ ├── spring-common-annotations.md │ │ │ ├── spring-design-patterns-summary.md │ │ │ ├── spring-knowledge-and-questions-summary.md │ │ │ ├── spring-transaction.md │ │ │ ├── springboot-knowledge-and-questions-summary.md │ │ │ └── springboot-source-code.md │ │ ├── schedule-task.md │ │ ├── security/ │ │ │ ├── advantages-and-disadvantages-of-jwt.md │ │ │ ├── basis-of-authority-certification.md │ │ │ ├── data-desensitization.md │ │ │ ├── data-validation.md │ │ │ ├── design-of-authority-system.md │ │ │ ├── encryption-algorithms.md │ │ │ ├── jwt-intro.md │ │ │ ├── sentive-words-filter.md │ │ │ ├── sso-intro.md │ │ │ └── why-password-reset-instead-of-retrieval.md │ │ ├── system-design-questions.md │ │ └── web-real-time-message-push.md │ ├── tools/ │ │ ├── docker/ │ │ │ ├── docker-in-action.md │ │ │ └── docker-intro.md │ │ ├── git/ │ │ │ ├── git-intro.md │ │ │ └── github-tips.md │ │ ├── gradle/ │ │ │ └── gradle-core-concepts.md │ │ └── maven/ │ │ ├── maven-best-practices.md │ │ └── maven-core-concepts.md │ └── zhuanlan/ │ ├── README.md │ ├── back-end-interview-high-frequency-system-design-and-scenario-questions.md │ ├── handwritten-rpc-framework.md │ ├── interview-guide.md │ ├── java-mian-shi-zhi-bei.md │ └── source-code-reading.md ├── index.html ├── package.json ├── sw.js └── translate_repo.py