{"version":1,"pages":[{"id":"e0GKjuB4ReFuU5v3aFL2","title":"Java 编程的逻辑","pathname":"/java","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"JYHP3VoCKRLe5D7baY1L","title":"Java进阶","pathname":"/java/java-jin-jie","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"w9M31zxQttSDOOC9BMCa","title":"Java FrameWorks","pathname":"/java/readme","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"AU3Do4pi69t7nchTOpFM","title":"了解 USB Type-A,B,C 三大标准接口","pathname":"/java/le-jie-usb-typeabc-san-da-biao-zhun-jie-kou","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"mGKSIOg1sJQTWBWpUIsS","title":"深入浅出DDD","pathname":"/java/shen-ru-qian-chu-ddd","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"219sJPxcL9QaLzYALO5h","title":"重构：改善既有代码的设计","pathname":"/java/zhong-gou-gai-shan-ji-you-dai-ma-de-she-ji","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"MELRPuT2QziqRXZ89QVx","title":"面试大纲","pathname":"/java/mian-shi-da-gang","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"UVfhyOTw39JThIqDak2G","title":"云原生","pathname":"/java/yun-yuan-sheng","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"OlRxNPgMhWv6Kn250XxT","title":"什么是无服务器(what is serverless)？","pathname":"/java/yun-yuan-sheng/shi-mo-shi-wu-fu-wu-qi-what-is-serverless","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"云原生"}]},{"id":"cagrOOpVUR2oZp5UePTF","title":"博客","pathname":"/java/bo-ke","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"v7fXbjyNFJ2IOr2op2fK","title":"深入分析Log4j 漏洞","pathname":"/java/bo-ke/log4j-lou-dong-fen-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"博客"}]},{"id":"dljmTHTHkSU64D9Fbo36","title":"博客","pathname":"/java/bo-ke-1","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"xpGCME6QLPtsit7QB3Qh","title":"Serverless之快速搭建Spring Boot应用","pathname":"/java/bo-ke-1/serverless-zhi-kuai-su-da-jian-spring-boot-ying-yong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"博客"}]},{"id":"3k0Crp8HHf2j6t2AxvsW","title":"博客","pathname":"/java/bo-ke-2","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"gaYLx32q5kKkVlscVkxH","title":"使用 Prometheus + Grafana + Spring Boot Actuator 监控应用","pathname":"/java/bo-ke-2/shi-yong-prometheus-grafana-jian-kong-spring-boot-ying-yong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"博客"}]},{"id":"fOsCxapEgR4WhBE9XoNe","title":"博客","pathname":"/java/bo-ke-3","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"UDkHq4Yqc77D5O9iPMu9","title":"使用 Prometheus + Grafana 监控 MySQL","pathname":"/java/bo-ke-3/shi-yong-prometheus-+-grafana-jian-kong-mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"博客"}]},{"id":"LLattTHfi0uu4So2HFTQ","title":"博客","pathname":"/java/bo-ke-4","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"oMbDdpp182FJznS5bjZI","title":"使用Github Actions + Docker 部署Spring Boot应用","pathname":"/java/bo-ke-4/shi-yong-github-actions-+-docker-bu-shu-spring-boot-ying-yong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"博客"}]},{"id":"psoNRvaIo5VAZOxjcdEG","title":"博客","pathname":"/java/bo-ke-5","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"8p2EvI7HUwLVo9E7evhP","title":"Redis分布式锁之Redisson的原理和实践","pathname":"/java/bo-ke-5/fen-bu-shi-suo-zhi-redisson-de-yuan-li-he-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"博客"}]},{"id":"bVaAASeH4Q13p896Y0zi","title":"博客","pathname":"/java/bo-ke-6","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"JtVZReNQvcGjuR7CtmKc","title":"数据库中的树结构应该怎样去设计","pathname":"/java/bo-ke-6/shu-ju-ku-zhong-de-shu-jie-gou-ying-gai-zen-yang-qu-she-ji","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"博客"}]},{"id":"qgtUMD53ubjE3nZPYev7","title":"学习&成长","pathname":"/java/xue-xi-cheng-chang","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"K5El96Fs5XNeGKYl9nDh","title":"如何成为技术大牛","pathname":"/java/xue-xi-cheng-chang/ru-he-cheng-wei-ji-shu-da-niu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"学习&成长"}]},{"id":"ZFB6W3Z0CLOyX7mmRAy4","title":"开发工具","pathname":"/java/kai-fa-gong-ju","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"GJVATwsoANecZU7aW4Ft","title":"Git Commit Message Guidelines","pathname":"/java/kai-fa-gong-ju/git-commit-message-guidelines","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"开发工具"}]},{"id":"tBE3MfArqnnwZ0ERNHHF","title":"开发工具","pathname":"/java/kai-fa-gong-ju-1","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"7HsRyKlsZuZWYQeXuoRr","title":"git命名大全","pathname":"/java/kai-fa-gong-ju-1/git-ming-ling-da-quan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"开发工具"}]},{"id":"vhtiT6hWjJ1NbJJOHZco","title":"开发工具","pathname":"/java/kai-fa-gong-ju-2","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"2DCIQNqpkSy5mkygHD8p","title":"Gradle vs Maven Comparison","pathname":"/java/kai-fa-gong-ju-2/gradle-vs-maven-comparison","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"开发工具"}]},{"id":"8nP2m3IVKGhnvjrWN6Cn","title":"开发工具","pathname":"/java/kai-fa-gong-ju-3","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"xSPQ219oqvCIPT79jo3X","title":"Swagger2常用注解及其说明","pathname":"/java/kai-fa-gong-ju-3/swagger2-chang-yong-zhu-jie-ji-qi-shuo-ming","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"开发工具"}]},{"id":"HzANK29HsoViB6JJiAvh","title":"开发工具","pathname":"/java/kai-fa-gong-ju-4","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"sbXrRUz4SzIE2nieMGhp","title":"简明 VIM 练级攻略","pathname":"/java/kai-fa-gong-ju-4/jian-ming-vim-lian-ji-gong-lve","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"开发工具"}]},{"id":"j6wTXtZiJslxOKxkbgvf","title":"微服务","pathname":"/java/wei-fu-wu","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"aK4gjWPhZz2YrOE6D1Ss","title":"十大微服务设计模式和原则","pathname":"/java/wei-fu-wu/shi-da-wei-fu-wu-she-ji-mo-shi-he-yuan-ze","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"8EY6eJnhL1ThVYZ0moMM","title":"微服务","pathname":"/java/wei-fu-wu-1","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ADJiH6zbswMLB3yMzuzX","title":"微服务下的身份认证和令牌管理","pathname":"/java/wei-fu-wu-1/wei-fu-wu-xia-de-shen-fen-ren-zheng-he-ling-pai-guan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"KfRn6uRGn2XRiXWGaBdS","title":"微服务","pathname":"/java/wei-fu-wu-2","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"W5urnSmSyY7bbATD4F43","title":"微服务坏味道之循环依赖","pathname":"/java/wei-fu-wu-2/wei-fu-wu-huai-wei-dao-zhi-xun-huan-yi-lai","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"PbQ6uMJky9CaIrMcdXy9","title":"设计模式","pathname":"/java/she-ji-mo-shi","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ualTJG40hHKEiryB1Ve5","title":"设计模式 - JDK中的设计模式","pathname":"/java/she-ji-mo-shi/she-ji-mo-shi-jdk-zhong-de-she-ji-mo-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"设计模式"}]},{"id":"8yx4YURg9Xbkm94A5HFg","title":"设计模式","pathname":"/java/she-ji-mo-shi-1","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"iKKLwpTQNlrtvlKcgtup","title":"设计模式 - Java三种代理模式","pathname":"/java/she-ji-mo-shi-1/she-ji-mo-shi-java-san-zhong-dai-li-mo-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"设计模式"}]},{"id":"gpDzFXPnPmLSJvxOtID8","title":"设计模式","pathname":"/java/she-ji-mo-shi-2","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"EtMqTDQ4tkEEJsJDdyrp","title":"设计模式 - 六大设计原则","pathname":"/java/she-ji-mo-shi-2/she-ji-mo-shi-liu-da-she-ji-yuan-ze","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"设计模式"}]},{"id":"lX64CF9KEWiicJp0pGS1","title":"设计模式","pathname":"/java/she-ji-mo-shi-3","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"rFxTCFqeZznCQDvAqbAH","title":"设计模式 - 单例模式","pathname":"/java/she-ji-mo-shi-3/she-ji-mo-shi-dan-li-mo-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"设计模式"}]},{"id":"DXhmTUwuRwJNDmd0hmYa","title":"设计模式","pathname":"/java/she-ji-mo-shi-4","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"eKHH2ZEVguK7lZlF8fpq","title":"设计模式 - 命名模式","pathname":"/java/she-ji-mo-shi-4/she-ji-mo-shi-ming-ming-mo-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"设计模式"}]},{"id":"u7bCu3kVc8xjkYSydJUC","title":"设计模式","pathname":"/java/she-ji-mo-shi-5","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"9BWqsoxOoZQ6PuYSrYBY","title":"设计模式 - 备忘录模式","pathname":"/java/she-ji-mo-shi-5/she-ji-mo-shi-bei-wang-lu-mo-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"设计模式"}]},{"id":"NC9xvzvhqI7JLfRwL63A","title":"设计模式","pathname":"/java/she-ji-mo-shi-6","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"aaqc4R9vwfFRIy3bKYn9","title":"设计模式 - 概览","pathname":"/java/she-ji-mo-shi-6/she-ji-mo-shi-gai-lan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"设计模式"}]},{"id":"FhldbL4sjHejz8n8mZqs","title":"设计模式","pathname":"/java/she-ji-mo-shi-7","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Yfk4qG2ziEFdHCVCpgUU","title":"设计模式 - 没用的设计模式","pathname":"/java/she-ji-mo-shi-7/she-ji-mo-shi-mei-yong-de-she-ji-mo-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"设计模式"}]},{"id":"S9PxrHspRKIPU7LxGHoF","title":"质量&效率","pathname":"/java/zhi-liang-xiao-shuai","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"RSIc97nN2LWEJP0bOaJt","title":"Homebrew 替换国内镜像源","pathname":"/java/zhi-liang-xiao-shuai/homebrew-ti-huan-guo-nei-jing-xiang-yuan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"}]},{"id":"UhmhKzDr6m5g8qRvwHFd","title":"质量&效率","pathname":"/java/zhi-liang-xiao-shuai-1","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"hwt2PLKYDm0dESnIDIH3","title":"工作中如何做好技术积累","pathname":"/java/zhi-liang-xiao-shuai-1/gong-zuo-zhong-ru-he-zuo-hao-ji-shu-ji-lei","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"}]},{"id":"sd8lKfLrkgYBXu4KOULz","title":"Java FrameWorks","pathname":"/java/java-frameworks","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"K4IRAEZq5aDZuAkVYXbf","title":"Logback","pathname":"/java/java-frameworks/logback","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"tn8fjVjmKWM6MvqcMWXg","title":"自定义 logback 日志过滤器","pathname":"/java/java-frameworks/logback/zi-ding-yi-logback-ri-zhi-guo-lv-qi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Logback"}]},{"id":"ShWoUQ7jRdIOt6iInl0Y","title":"Java FrameWorks","pathname":"/java/java-frameworks-1","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"2kJC0RFeI8l2TbDbTCXd","title":"Mybatis","pathname":"/java/java-frameworks-1/mybatis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"O3UC2vrvrzISg8LWTL3S","title":"MyBatis(十三) - 整合Spring","pathname":"/java/java-frameworks-1/mybatis/mybatis-shi-san-zheng-he-spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Mybatis"}]},{"id":"WavP8NRtkw54782SnvuQ","title":"Java FrameWorks","pathname":"/java/java-frameworks-2","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"cJGisY6hiAh3EQNwjaZD","title":"Mybatis","pathname":"/java/java-frameworks-2/mybatis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"xtXWiVSko0wZgPjV84fg","title":"MyBatis(十二) - 一些API","pathname":"/java/java-frameworks-2/mybatis/mybatis-shi-er-yi-xie-api","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Mybatis"}]},{"id":"Wx3UVyi8mFfygbWdNnop","title":"Java FrameWorks","pathname":"/java/java-frameworks-3","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"3Ap5pYe5NVcHwzCW14j8","title":"Mybatis","pathname":"/java/java-frameworks-3/mybatis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"KalnDLtwnfcAUYt00G3r","title":"Mybatis(一) - 概述","pathname":"/java/java-frameworks-3/mybatis/mybatis-yi-gai-shu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Mybatis"}]},{"id":"wStfw5kbXzjrV1UD98Fj","title":"Java FrameWorks","pathname":"/java/java-frameworks-4","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"35a3ElydAHFxQDuO7Ys9","title":"Mybatis","pathname":"/java/java-frameworks-4/mybatis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"z5Fivzy09nbghf7Iav1T","title":"Mybatis(七) - 结果集的封装与映射","pathname":"/java/java-frameworks-4/mybatis/mybatis-qi-jie-guo-ji-de-feng-zhuang-yu-ying-she","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Mybatis"}]},{"id":"n0zujzjwbkl0N0AVmSxN","title":"Java FrameWorks","pathname":"/java/java-frameworks-5","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"AQAAKLrCegDoM4P8NdiJ","title":"Mybatis","pathname":"/java/java-frameworks-5/mybatis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"wmNDOdjmnAxIw4VHo98j","title":"Mybatis(三) - mapper.xml及其加载机制","pathname":"/java/java-frameworks-5/mybatis/mybatis-san-mapper.xml-ji-qi-jia-zai-ji-zhi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Mybatis"}]},{"id":"c5bV4kHkdexDbD77uAil","title":"Java FrameWorks","pathname":"/java/java-frameworks-6","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"68ZYtJEPcNcnEL0Lx8iG","title":"Mybatis","pathname":"/java/java-frameworks-6/mybatis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"gJFzvf2mtqm4MqkULjmW","title":"Mybatis(九) - 事务","pathname":"/java/java-frameworks-6/mybatis/mybatis-jiu-shi-wu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Mybatis"}]},{"id":"ww44MlrtBHsJXUI0iKtg","title":"Java FrameWorks","pathname":"/java/java-frameworks-7","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"mIglkGSXMBiwE3xYmXFD","title":"Mybatis","pathname":"/java/java-frameworks-7/mybatis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"oxdqoQ4VBW9scW4THDDu","title":"Mybatis(二) - 全局配置文件及其加载机制","pathname":"/java/java-frameworks-7/mybatis/mybatis-er-quan-ju-pei-zhi-wen-jian-ji-qi-jia-zai-ji-zhi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Mybatis"}]},{"id":"5GU1y1xM4FaXUnUzoU4L","title":"Java FrameWorks","pathname":"/java/java-frameworks-8","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"cikv0Cg1wVdRp1ZNG34W","title":"Mybatis","pathname":"/java/java-frameworks-8/mybatis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"sFROQ44hbCp8kVQlOFxH","title":"Mybatis(五) - SqlSession执行流程","pathname":"/java/java-frameworks-8/mybatis/mybatis-wu-sqlsession-zhi-hang-liu-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Mybatis"}]},{"id":"CacmqsGvI7j0MJg5t1JP","title":"Java FrameWorks","pathname":"/java/java-frameworks-9","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"3OGwZe9shvC5IPa5D1kz","title":"Mybatis","pathname":"/java/java-frameworks-9/mybatis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"rgNE499cVyn1I6SUr6Wt","title":"Mybatis(八) - 缓存","pathname":"/java/java-frameworks-9/mybatis/mybatis-ba-huan-cun","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Mybatis"}]},{"id":"odMCYEq7nl870SDwCwS5","title":"Java FrameWorks","pathname":"/java/java-frameworks-10","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"0Zzn1IJS07MVmkchMxXK","title":"Mybatis","pathname":"/java/java-frameworks-10/mybatis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"QEBuDJ11oJCmEuDefvpe","title":"Mybatis(六) - 动态SQL的参数绑定与执行","pathname":"/java/java-frameworks-10/mybatis/mybatis-liu-dong-tai-sql-de-can-shu-bang-ding-yu-zhi-hang","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Mybatis"}]},{"id":"muk7ZVqZ5d7U0JJO6Cog","title":"Java FrameWorks","pathname":"/java/java-frameworks-11","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Ts9eLYNbjpHody7yqOXG","title":"Mybatis","pathname":"/java/java-frameworks-11/mybatis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"ezQDwe6yMZ0nZAm6mLj2","title":"Mybatis(十) - 插件","pathname":"/java/java-frameworks-11/mybatis/mybatis-shi-cha-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Mybatis"}]},{"id":"ZJFhS75iK0nh5g9uZbFs","title":"Java FrameWorks","pathname":"/java/java-frameworks-12","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"QBNZTrS4HF7Vdzo2SLno","title":"Mybatis","pathname":"/java/java-frameworks-12/mybatis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"Fitm4VbRr0nf2R4Mh6W4","title":"Mybatis(十一) - 日志","pathname":"/java/java-frameworks-12/mybatis/mybatis-shi-yi-ri-zhi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Mybatis"}]},{"id":"OB33BbHTGavr6CrDHqT1","title":"Java FrameWorks","pathname":"/java/java-frameworks-13","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"R0HAbAaNZqquzymDeU4R","title":"Mybatis","pathname":"/java/java-frameworks-13/mybatis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"htGId7ZIkklr73b7aQ6j","title":"Mybatis(四) - Mapper接口解析","pathname":"/java/java-frameworks-13/mybatis/mybatis-si-mapper-jie-kou-jie-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Mybatis"}]},{"id":"ZZA5D1nDOfKcsr5khTw0","title":"Java FrameWorks","pathname":"/java/java-frameworks-14","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"FrfRXn5xT9JYNVsx98mH","title":"Netty","pathname":"/java/java-frameworks-14/netty","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"hLVZCpoq3xyoPYY0eeWU","title":"Netty 可靠性分析","pathname":"/java/java-frameworks-14/netty/netty-ke-kao-xing-fen-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Netty"}]},{"id":"loz28ktdtD2oAuTMCXme","title":"Java FrameWorks","pathname":"/java/java-frameworks-15","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"E2sSKJRQcJ9NQfD4JCvA","title":"Netty","pathname":"/java/java-frameworks-15/netty","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"H0KJvE0vPc9511NGAEec","title":"Netty - Netty 线程模型","pathname":"/java/java-frameworks-15/netty/netty-xian-cheng-mo-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Netty"}]},{"id":"wb9nVVkZ4dfQMfn2D6XS","title":"Java FrameWorks","pathname":"/java/java-frameworks-16","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ClhSjjS7wAglUVNGMccY","title":"Netty","pathname":"/java/java-frameworks-16/netty","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"rxWhNBwdPAMJv3yugzgi","title":"Netty堆外内存泄露排查盛宴","pathname":"/java/java-frameworks-16/netty/netty-dui-wai-nei-cun-xie-lou-pai-cha-sheng-yan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Netty"}]},{"id":"cuWuv9pCGnoImPJ0Qzi5","title":"Java FrameWorks","pathname":"/java/java-frameworks-17","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"cUPlyQw0fKdAJ8bXUgs3","title":"Netty","pathname":"/java/java-frameworks-17/netty","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"R3BfIGg9gsmzfjIZiZ0H","title":"Netty高级 - 高性能之道","pathname":"/java/java-frameworks-17/netty/netty-gao-xing-neng-zhi-dao","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Netty"}]},{"id":"BmauQUqny7MG54ouWgux","title":"Java FrameWorks","pathname":"/java/java-frameworks-18","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"CoNaT7KDVbgNzNISRfWT","title":"Shiro","pathname":"/java/java-frameworks-18/shiro","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"rpKkVe7G2BguWVE6y3ob","title":"Shiro + JWT + Spring Boot Restful 简易教程","pathname":"/java/java-frameworks-18/shiro/shiro-+-jwt-+-spring-boot-restful-jian-yi-jiao-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Shiro"}]},{"id":"JG7OKze2KX1QOuE06xg9","title":"Java FrameWorks","pathname":"/java/java-frameworks-19","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"IGPa82uvcBwZQKX1ZmjJ","title":"Shiro","pathname":"/java/java-frameworks-19/shiro","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"YIou9tpergi5cJwew0Un","title":"非常详尽的 Shiro 架构解析！","pathname":"/java/java-frameworks-19/shiro/fei-chang-xiang-jin-de-shiro-jia-gou-jie-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Shiro"}]},{"id":"LwSc1dE5Ajd8d23iqexs","title":"Java FrameWorks","pathname":"/java/java-frameworks-20","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"4eO7EC1DkFbLtsfUduH7","title":"Spring","pathname":"/java/java-frameworks-20/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"70nS3bga4jdtlFmvNlm4","title":"Spring AOP 使用介绍，从前世到今生","pathname":"/java/java-frameworks-20/spring/spring-aop-shi-yong-jie-shao-cong-qian-shi-dao-jin-sheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"BGgq8HqkVrYltSyykq1U","title":"Java FrameWorks","pathname":"/java/java-frameworks-21","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"KjwjD3cDpkAO1BtX1Prg","title":"Spring","pathname":"/java/java-frameworks-21/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"nf1dMqNcZIcfMKVdX0TY","title":"Spring AOP 源码解析","pathname":"/java/java-frameworks-21/spring/spring-aop-yuan-ma-jie-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"SuxqvRfGu3dMge1bwuYT","title":"Java FrameWorks","pathname":"/java/java-frameworks-22","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"N7QQZjViOtT8mhNgY6cL","title":"Spring","pathname":"/java/java-frameworks-22/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"Fu27eLbmY4GP1SUIUxly","title":"Spring Event 实现原理","pathname":"/java/java-frameworks-22/spring/spring-event-shi-xian-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"VDPsPECySTGNZLuD7swu","title":"Java FrameWorks","pathname":"/java/java-frameworks-23","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"obd92WsmIBNyOINHbT70","title":"Spring","pathname":"/java/java-frameworks-23/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"ZD8Zs1vBsnSpMPju6hhF","title":"Spring Events","pathname":"/java/java-frameworks-23/spring/spring-events","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"XjTqfnmK6wibBGtz2X0r","title":"Java FrameWorks","pathname":"/java/java-frameworks-24","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Z4A9rpqw7WcLBdJwR5sj","title":"Spring","pathname":"/java/java-frameworks-24/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"iaeYdEDjPzWJDdDqiLaH","title":"Spring IOC容器源码分析","pathname":"/java/java-frameworks-24/spring/spring-ioc-rong-qi-yuan-ma-fen-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"zHDlR5HDgsTXTWcp61RN","title":"Java FrameWorks","pathname":"/java/java-frameworks-25","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"rE540HJXaVImQOi5vGCV","title":"Spring","pathname":"/java/java-frameworks-25/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"SsRUAZeOpkKlnW05XyVd","title":"Spring Integration简介","pathname":"/java/java-frameworks-25/spring/spring-integration-jian-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"YxQom0j93k9CJNTN2RZA","title":"Java FrameWorks","pathname":"/java/java-frameworks-26","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"jKwcCymuOkg11Qin50cG","title":"Spring","pathname":"/java/java-frameworks-26/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"HcpmhhoIMzNRIjq3AHxq","title":"Spring MVC 框架中拦截器 Interceptor 的使用方法","pathname":"/java/java-frameworks-26/spring/spring-mvc-kuang-jia-zhong-lan-jie-qi-interceptor-de-shi-yong-fang-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"VIhXCcHwMlOGfSLXRHrR","title":"Java FrameWorks","pathname":"/java/java-frameworks-27","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"pzKT53dGfVl0poB21log","title":"Spring","pathname":"/java/java-frameworks-27/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"6unEDzlkx6QCUx93nqvo","title":"Spring bean 解析、注册、实例化流程源码剖析","pathname":"/java/java-frameworks-27/spring/spring-bean-jie-xi-zhu-ce-shi-li-hua-liu-cheng-yuan-ma-pou-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"ckFvyE1LnJXzdvauKAs7","title":"Java FrameWorks","pathname":"/java/java-frameworks-28","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"wdimqbLAWM104sEkQ8cx","title":"Spring","pathname":"/java/java-frameworks-28/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"yYVuuiRE4joE4ebXO2T9","title":"Spring validation中@NotNull、@NotEmpty、@NotBlank的区别","pathname":"/java/java-frameworks-28/spring/spring-validation-zhong-notnullnotemptynotblank-de-qu-bie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"6INNdFzYOZ1LT1PF5wwj","title":"Java FrameWorks","pathname":"/java/java-frameworks-29","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"2CUhw0iwHbZQTZTRtQ6z","title":"Spring","pathname":"/java/java-frameworks-29/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"WxxaE2xCgrO1Mylh6MIL","title":"Spring 如何解决循环依赖？","pathname":"/java/java-frameworks-29/spring/spring-ru-he-jie-jue-xun-huan-yi-lai","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"MLr6cJdbwxgeyrSL9Mvw","title":"Java FrameWorks","pathname":"/java/java-frameworks-30","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"6SwNL7JKwvAMXTaz4Yqd","title":"Spring","pathname":"/java/java-frameworks-30/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"QI3bralfVbjIwvntCVC9","title":"Spring 异步实现原理与实战分享","pathname":"/java/java-frameworks-30/spring/spring-yi-bu-shi-xian-yuan-li-yu-shi-zhan-fen-xiang","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"qbNwvS3GAqBtwgg1Dwz3","title":"Java FrameWorks","pathname":"/java/java-frameworks-31","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"UNfXn5e0nPxyAFBbMTBT","title":"Spring","pathname":"/java/java-frameworks-31/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"4y3tYKrlXSCg1I29ii82","title":"Spring中的“for update”问题","pathname":"/java/java-frameworks-31/spring/spring-zhong-de-for-update-wen-ti","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"ALYtYqqFlISn6Z9Fg7mF","title":"Java FrameWorks","pathname":"/java/java-frameworks-32","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"jyny7noXv3uajvoFOXJq","title":"Spring","pathname":"/java/java-frameworks-32/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"TdL5sPr2VE2R5fuBaH0x","title":"Spring中的设计模式","pathname":"/java/java-frameworks-32/spring/spring-zhong-de-she-ji-mo-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"QoW2cKGYtM6FULqgghZS","title":"Java FrameWorks","pathname":"/java/java-frameworks-33","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Bq7MMYcoCQAEaTcQuRiG","title":"Spring","pathname":"/java/java-frameworks-33/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"lZnqfD0Tm5ZogPASP4Bz","title":"Spring事务失效的 8 大原因","pathname":"/java/java-frameworks-33/spring/spring-shi-wu-shi-xiao-de-8-da-yuan-yin","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"SHtcK5t7TtwtgCPqdxm5","title":"Java FrameWorks","pathname":"/java/java-frameworks-34","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"DLjA2YK5DAnPSA64BLrs","title":"Spring","pathname":"/java/java-frameworks-34/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"7GwRtGWYygLUBchBEaHC","title":"Spring事务管理详解","pathname":"/java/java-frameworks-34/spring/spring-shi-wu-guan-li-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"TyKfAsCMsEGyW9W0658p","title":"Java FrameWorks","pathname":"/java/java-frameworks-35","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"hB1DbUErRpTrPI37uFt1","title":"Spring","pathname":"/java/java-frameworks-35/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"s3ZDRgGYr7s8x6C72C1D","title":"Spring计时器StopWatch使用","pathname":"/java/java-frameworks-35/spring/spring-ji-shi-qi-stopwatch-shi-yong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"rBTyrUQpMAu1ed6VjTqH","title":"Java FrameWorks","pathname":"/java/java-frameworks-36","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"bahzTSR86VxtofBxGulx","title":"Spring","pathname":"/java/java-frameworks-36/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"ghli30ZSkDjdosFoLTaX","title":"详述 Spring MVC 框架中拦截器 Interceptor 的使用方法","pathname":"/java/java-frameworks-36/spring/xiang-shu-spring-mvc-kuang-jia-zhong-lan-jie-qi-interceptor-de-shi-yong-fang-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"bEhXJ7EbwLdLL5DnUVe2","title":"Java FrameWorks","pathname":"/java/java-frameworks-37","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"vCtnr3elDVk6gwhiDOIY","title":"Spring","pathname":"/java/java-frameworks-37/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"qJt3DuvrILi0Z603utxl","title":"透彻的掌握 Spring 中@transactional 的使用","pathname":"/java/java-frameworks-37/spring/tou-che-de-zhang-wo-spring-zhong-transactional-de-shi-yong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"Fr9fGzAGBPH6tQIdtYsY","title":"Java","pathname":"/java/java","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"O2kBZ4V4qXuzPAqfZriY","title":"Java IO&NIO&AIO","pathname":"/java/java/java-io-and-nio-and-aio","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"W4DXZz9eDqU00WYeMbtM","title":"Java IO - BIO 详解","pathname":"/java/java/java-io-and-nio-and-aio/java-io-bio-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java IO&NIO&AIO"}]},{"id":"YpBsB8SRXvHrqCxM5jyO","title":"Java","pathname":"/java/java-1","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"hh6TjVk6TkoXWY0H7MrM","title":"Java IO&NIO&AIO","pathname":"/java/java-1/java-io-and-nio-and-aio","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"DoGy3NyJyIV4DSzhE76g","title":"Java NIO - IO多路复用详解","pathname":"/java/java-1/java-io-and-nio-and-aio/java-io-io-duo-lu-fu-yong-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java IO&NIO&AIO"}]},{"id":"6BgzC4GY4rXqTclJBcD6","title":"Java","pathname":"/java/java-2","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"tBhtVlXb8bVnOZ5UORnt","title":"Java IO&NIO&AIO","pathname":"/java/java-2/java-io-and-nio-and-aio","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"8NOWohJCeFgcGWUIQFsc","title":"Java N(A)IO - Netty","pathname":"/java/java-2/java-io-and-nio-and-aio/java-io-netty","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java IO&NIO&AIO"}]},{"id":"x5EZjmoq5C701y8tdEeY","title":"Java","pathname":"/java/java-3","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Bd6mgt4x1yxIsgORFPuX","title":"Java IO&NIO&AIO","pathname":"/java/java-3/java-io-and-nio-and-aio","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"Q7VGG009cuOeeczBZbdZ","title":"Java IO - Unix IO模型","pathname":"/java/java-3/java-io-and-nio-and-aio/java-io-unix-io-mo-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java IO&NIO&AIO"}]},{"id":"kg8PgT79OJtR1GLnsNti","title":"Java","pathname":"/java/java-4","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"0UuOR6RRVjcxvGCmxiWM","title":"Java IO&NIO&AIO","pathname":"/java/java-4/java-io-and-nio-and-aio","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"VH2Bx9WIIz1M1QhQhd97","title":"Java IO - 分类","pathname":"/java/java-4/java-io-and-nio-and-aio/java-io-fen-lei","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java IO&NIO&AIO"}]},{"id":"k4rwyUay6Ci2uin6OKzf","title":"Java","pathname":"/java/java-5","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"zkmsj22csPP0EgHG5pKh","title":"Java IO&NIO&AIO","pathname":"/java/java-5/java-io-and-nio-and-aio","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"6qjM1NZTA9lyZi9hn7HT","title":"Java NIO - 基础详解","pathname":"/java/java-5/java-io-and-nio-and-aio/java-io-ji-chu-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java IO&NIO&AIO"}]},{"id":"FfHkLhUdcbKvGxiTDeVv","title":"Java","pathname":"/java/java-6","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"0OyS0u4mFuznegNtu6zE","title":"Java IO&NIO&AIO","pathname":"/java/java-6/java-io-and-nio-and-aio","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"UGwmw2Fm7lCjvEvowkPT","title":"Java IO - 常见类使用","pathname":"/java/java-6/java-io-and-nio-and-aio/java-io-chang-jian-lei-shi-yong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java IO&NIO&AIO"}]},{"id":"5J0N0ueyWV9Ib1l0qpLL","title":"Java","pathname":"/java/java-7","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"28Ht4dOWqdk0Ji7EHo1M","title":"Java IO&NIO&AIO","pathname":"/java/java-7/java-io-and-nio-and-aio","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"HrYTqC48EnX1owDi1uGF","title":"Java AIO - 异步IO详解","pathname":"/java/java-7/java-io-and-nio-and-aio/java-io-yi-bu-io-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java IO&NIO&AIO"}]},{"id":"dEkyzzyztNUtW6MeYcpH","title":"Java","pathname":"/java/java-8","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"QJEs6vEV36uxp5awPXAM","title":"Java IO&NIO&AIO","pathname":"/java/java-8/java-io-and-nio-and-aio","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"AU05hAHS3JhjnJXDnOUf","title":"Java IO概述","pathname":"/java/java-8/java-io-and-nio-and-aio/java-io-gai-shu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java IO&NIO&AIO"}]},{"id":"2tVnALlaRfRiwMKO70uz","title":"Java","pathname":"/java/java-9","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"y5wwPq7uiMmQh96EqCRx","title":"Java IO&NIO&AIO","pathname":"/java/java-9/java-io-and-nio-and-aio","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"6OmQw36NFVVuw54zxJlE","title":"Java IO - 设计模式","pathname":"/java/java-9/java-io-and-nio-and-aio/java-io-she-ji-mo-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java IO&NIO&AIO"}]},{"id":"CnpRe640hwf5nNAUfxxH","title":"Java","pathname":"/java/java-10","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"QR6eOSpLgw2xxvhGfaam","title":"Java IO&NIO&AIO","pathname":"/java/java-10/java-io-and-nio-and-aio","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"4ILFcLstfBeXW82ZnOou","title":"Java NIO - 零拷贝实现","pathname":"/java/java-10/java-io-and-nio-and-aio/java-io-ling-kao-bei-shi-xian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java IO&NIO&AIO"}]},{"id":"VYbofMsyKc6tIRlIDTm9","title":"Java","pathname":"/java/java-11","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"NtRDtMN2q5QlLRIDKkEH","title":"Java JVM","pathname":"/java/java-11/java-jvm","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"EnNfePfKXtMCVVhqav4D","title":"JVM 优化经验总结","pathname":"/java/java-11/java-jvm/jvm-you-hua-jing-yan-zong-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java JVM"}]},{"id":"9TNhN5IOqcc9yeQvOleE","title":"Java","pathname":"/java/java-12","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"hwfP2VzIMDCKjqdK7q1F","title":"Java JVM","pathname":"/java/java-12/java-jvm","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"I8Nf8ewV0lKh5hO02KJJ","title":"JVM 内存结构","pathname":"/java/java-12/java-jvm/jvm-nei-cun-jie-gou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java JVM"}]},{"id":"r7DPI8wSihiPPUuU02Wj","title":"Java","pathname":"/java/java-13","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"up5Q6gzoKOpw1pCfeIVN","title":"Java JVM","pathname":"/java/java-13/java-jvm","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"EoNZImtXu0SxlBVIEQyt","title":"JVM参数设置","pathname":"/java/java-13/java-jvm/jvm-can-shu-she-zhi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java JVM"}]},{"id":"4oCMtra1yklvfdOMbklo","title":"Java","pathname":"/java/java-14","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"K09BcxIuVBHeDj0VV1Ab","title":"Java JVM","pathname":"/java/java-14/java-jvm","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"8RbPxbEzkePYWHaj4u4H","title":"Java 内存模型","pathname":"/java/java-14/java-jvm/java-nei-cun-mo-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java JVM"}]},{"id":"kJKBIRFmDrLYs1XcLu3B","title":"Java","pathname":"/java/java-15","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"rn9KnC7hLpBH8MXFVOWf","title":"Java JVM","pathname":"/java/java-15/java-jvm","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"6EIz1lBKEa890va3JQso","title":"从实际案例聊聊Java应用的GC优化","pathname":"/java/java-15/java-jvm/cong-shi-ji-an-li-liao-liao-java-ying-yong-de-gc-you-hua","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java JVM"}]},{"id":"j5RPamzGsI1bwZtujnvA","title":"Java","pathname":"/java/java-16","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"L79XIpOT6R2lXRO2PB38","title":"Java JVM","pathname":"/java/java-16/java-jvm","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"jmej1JuRrECDNVCTtvCv","title":"Java 垃圾回收器G1详解","pathname":"/java/java-16/java-jvm/la-ji-hui-shou-qi-g1-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java JVM"}]},{"id":"nn4MNcfMvG2NuDQWUkgI","title":"Java","pathname":"/java/java-17","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"r5Gg6h2wj1VsGOIOjhcl","title":"Java JVM","pathname":"/java/java-17/java-jvm","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"1ezOKJPnL1gGKjPanXpm","title":"垃圾回收器Shenandoah GC详解","pathname":"/java/java-17/java-jvm/la-ji-hui-shou-qi-shenandoah-gc-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java JVM"}]},{"id":"Ox724aqXlyz5PsWmKWzE","title":"Java","pathname":"/java/java-18","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"7YjklPvydhP719Nvck8K","title":"Java JVM","pathname":"/java/java-18/java-jvm","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"ywQxENlSiHhczQNi6gx6","title":"垃圾回收器ZGC详解","pathname":"/java/java-18/java-jvm/la-ji-hui-shou-qi-zgc-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java JVM"}]},{"id":"b1tJHVJmI6LyDp8P4FpP","title":"Java","pathname":"/java/java-19","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"RdnLW6nIfXI4G98kZLJE","title":"Java JVM","pathname":"/java/java-19/java-jvm","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"iME3moTyjb6uv66l91N0","title":"垃圾回收基础","pathname":"/java/java-19/java-jvm/la-ji-hui-shou-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java JVM"}]},{"id":"T3rahYIHHOoFJL50TeL5","title":"Java","pathname":"/java/java-20","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"bH4l9t8rdVbVx8ySHwUI","title":"Java JVM","pathname":"/java/java-20/java-jvm","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"iElqBWJWpg0J5HsNlnWV","title":"如何优化Java GC","pathname":"/java/java-20/java-jvm/ru-he-you-hua-java-gc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java JVM"}]},{"id":"ogn8hd7ugHHVTovIED6c","title":"Java","pathname":"/java/java-21","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"6xpndhiRBKnJViQeUn1u","title":"Java JVM","pathname":"/java/java-21/java-jvm","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"lRRQAi9uveBrKXoPtTGk","title":"类加载机制","pathname":"/java/java-21/java-jvm/lei-jia-zai-ji-zhi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java JVM"}]},{"id":"XnQacKEcwCQpj18sqQuu","title":"Java","pathname":"/java/java-22","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"b4W58M72FowuMp7xUVhV","title":"Java JVM","pathname":"/java/java-22/java-jvm","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"AstCWZTyEaPD0KB6nRuz","title":"类字节码详解","pathname":"/java/java-22/java-jvm/lei-zi-jie-ma-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java JVM"}]},{"id":"SMhKNvmUaydWGmEd4FeG","title":"Java","pathname":"/java/java-23","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"q3kGIbWtjyOHg7cv8vuQ","title":"Java 基础","pathname":"/java/java-23/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"RdA7KBWYxU3zr1mGYGTc","title":"Java hashCode() 和 equals()","pathname":"/java/java-23/java-ji-chu/java-hashcode-he-equals","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"RQ8UkqNliZ61x3WVeE9O","title":"Java","pathname":"/java/java-24","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"L8gmJSgedKhWaRqUmJVy","title":"Java 基础","pathname":"/java/java-24/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"DyUaIhRlkz7tyzfiKuQk","title":"Java 基础 - Java native方法以及JNI实践","pathname":"/java/java-24/java-ji-chu/java-native-fang-fa-yi-ji-jni-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"TOdIdQZLaFmnxaRn1X9n","title":"Java","pathname":"/java/java-25","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"s3eeBRSDTSs1YrFrUABw","title":"Java 基础","pathname":"/java/java-25/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"We4MXGlR2gGt2uALfMn1","title":"Java serialVersionUID 有什么作用？","pathname":"/java/java-25/java-ji-chu/java-serialversionuid-you-shi-mo-zuo-yong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"avuBojdIiiiAHALyzwAW","title":"Java","pathname":"/java/java-26","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"4pGQ1ExLwmUBRt5JOZas","title":"Java 基础","pathname":"/java/java-26/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"i5jfIzH9CwbOSgCJx1Xh","title":"Java 泛型的类型擦除","pathname":"/java/java-26/java-ji-chu/java-fan-xing-de-lei-xing-ca-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"hASgqlISOR8Qs98VNKQs","title":"Java","pathname":"/java/java-27","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"WKiADO5pa0DNboUHJuRX","title":"Java 基础","pathname":"/java/java-27/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"rh2G2YVkdDvlextEHYpP","title":"Java 基础 - Unsafe类解析","pathname":"/java/java-27/java-ji-chu/unsafe-lei-jie-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"JbvsfvnZjNtxri7saKSB","title":"Java","pathname":"/java/java-28","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"TfJ7yhSDKx2u3zc5kKrv","title":"Java 基础","pathname":"/java/java-28/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"5ekZga2RrExOSH9jDMYD","title":"Difference Between Statement and PreparedStatement","pathname":"/java/java-28/java-ji-chu/java-ji-chu-jdbc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"VvIq2XE44YZmuSXYyjgC","title":"Java","pathname":"/java/java-29","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"iyRul48SgooJly0Vyd0p","title":"Java 基础","pathname":"/java/java-29/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"UTTLXtiEtZiQhXm01nCl","title":"Java 基础 - SPI机制详解","pathname":"/java/java-29/java-ji-chu/java-ji-chu-spi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"uTdrdvCsVwwb52LqnXxx","title":"Java","pathname":"/java/java-30","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"OzwSBuuvC4OvbSRWrQrf","title":"Java 基础","pathname":"/java/java-30/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"55FEsLSOHSJxRc4vEvzV","title":"Java 基础 - final","pathname":"/java/java-30/java-ji-chu/java-ji-chu-final","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"AS026Xgx2YmV1ZfZvESR","title":"Java","pathname":"/java/java-31","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"bEH8BY3BmSVKNfGLBUkJ","title":"Java 基础","pathname":"/java/java-31/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"UiLxNx3jDy41gJSsaepG","title":"Java中static关键字详解","pathname":"/java/java-31/java-ji-chu/java-ji-chu-static","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"pTNe6aXOGDgA9hJH4Rya","title":"Java","pathname":"/java/java-32","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"kJcZzbeNaF4jr08KvGgi","title":"Java 基础","pathname":"/java/java-32/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"2k032y9TvjG7LQAYhxBU","title":"为什么说Java中只有值传递？","pathname":"/java/java-32/java-ji-chu/java-ji-chu-zhi-chuan-di-huan-shi-yin-yong-chuan-di","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"R3FygqtleBeD2R0QtJRr","title":"Java","pathname":"/java/java-33","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"RrCBaA0B8U7OLAk7G8Vi","title":"Java 基础","pathname":"/java/java-33/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"0RdApHj4X6sz3hoPh4k2","title":"Java 基础 - 即时编译器原理解析及实践","pathname":"/java/java-33/java-ji-chu/java-ji-chu-ji-shi-bian-yi-qi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"t3jlrcDsXvNM5NWiMYjz","title":"Java","pathname":"/java/java-34","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"0OGpXeGSYuyrAwut8ajF","title":"Java 基础","pathname":"/java/java-34/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"kpzXC7x6a75PsZZfmPC7","title":"Java 基础 - 反射","pathname":"/java/java-34/java-ji-chu/java-ji-chu-fan-she","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"OuJrIAne44wPUyeX8fmx","title":"Java","pathname":"/java/java-35","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"o9tI6SNV8DYP2opqRPUI","title":"Java 基础","pathname":"/java/java-35/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"Pq4iT0uoRQChd7bSnZqa","title":"Java多态的面试题","pathname":"/java/java-35/java-ji-chu/java-ji-chu-duo-tai","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"c19VGFYzxmceLf3q0S6d","title":"Java","pathname":"/java/java-36","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"fGWBEMQpLW2xd8qeRGIZ","title":"Java 基础","pathname":"/java/java-36/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"ebcJZdqwUvgPsf2xZvGW","title":"Java 基础 - 异常机制详解","pathname":"/java/java-36/java-ji-chu/java-ji-chu-yi-chang","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"ewP2uRy52tOiEQyB6fPh","title":"Java","pathname":"/java/java-37","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"SSRNhr2Ah0jhQFHhwGm0","title":"Java 基础","pathname":"/java/java-37/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"urJkBd1YaZWpJZgEXNXE","title":"为什么要有抽象类？","pathname":"/java/java-37/java-ji-chu/java-ji-chu-chou-xiang-lei","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"WcMdQMz3hxtoHEQ1ibfV","title":"Java","pathname":"/java/java-38","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"13FvueJblJsCZWT7pduS","title":"Java 基础","pathname":"/java/java-38/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"vauV7xSQnr5yX9uc6xi2","title":"接口的本质","pathname":"/java/java-38/java-ji-chu/java-ji-chu-jie-kou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"JMO1egLxIArnwEDMNSkM","title":"Java","pathname":"/java/java-39","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"8dpVnUElNxWBNSeYVAz0","title":"Java 基础","pathname":"/java/java-39/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"vEWDdEV91llep85E6hPA","title":"Java 基础 - 枚举","pathname":"/java/java-39/java-ji-chu/java-ji-chu-mei-ju","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"D6ex0zylJywK0EOZjwy3","title":"Java","pathname":"/java/java-40","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"GAaB6kNduUNEmuxe7vV2","title":"Java 基础","pathname":"/java/java-40/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"jP35t02RqrjdLItsy46d","title":"Java 基础 - 泛型机制详解","pathname":"/java/java-40/java-ji-chu/java-ji-chu-fan-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"7MZqx11vvHwTZrs7sw6g","title":"Java","pathname":"/java/java-41","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"MPAtdJdbVITPUM3Nfy2u","title":"Java 基础","pathname":"/java/java-41/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"mCOVyCf84wnV6wRB9fmE","title":"Java 基础 - 注解机制详解","pathname":"/java/java-41/java-ji-chu/java-ji-chu-zhu-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"CPyL1lNXaYLDC8ORYfJq","title":"Java","pathname":"/java/java-42","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ytEt4NdkTzqCsrqcHaK5","title":"Java 基础","pathname":"/java/java-42/java-ji-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"KSIVHAWSOmVdxfguFZ5b","title":"为什么 String hashCode 方法选择数字31作为乘子","pathname":"/java/java-42/java-ji-chu/wei-shi-mo-string-hashcode-fang-fa-xuan-ze-shu-zi-31-zuo-wei-cheng-zi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 基础"}]},{"id":"IMGHVJYBf69fZE7rEpmg","title":"Java","pathname":"/java/java-43","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"7oswTu4A9Jn5k51k1iPo","title":"Java 并发","pathname":"/java/java-43/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"oUMgxokZROR9AiLYcVdN","title":"Java 并发 - 14个Java并发容器","pathname":"/java/java-43/java-bing-fa/java-bing-fa-14-ge-java-bing-fa-rong-qi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"ch4ay1RKvSv8uxMASSoU","title":"Java","pathname":"/java/java-44","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"EoO5QzWcP9ZxOB6Zl4Cd","title":"Java 并发","pathname":"/java/java-44/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"ezK4GRNtPSqPD2GRfhoa","title":"Java 并发 - AQS","pathname":"/java/java-44/java-bing-fa/java-bing-fa-aqs","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"U9crjgLn6ZDe7nJXfNpc","title":"Java","pathname":"/java/java-45","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"RqCvC1XQmSGz05Gt7n4P","title":"Java 并发","pathname":"/java/java-45/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"70OI7Nq540qqXyB1ggBa","title":"Java 并发 - BlockingQueue","pathname":"/java/java-45/java-bing-fa/java-bing-fa-blockingqueue","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"qvUSHplOZB3sFCh8nA3q","title":"Java","pathname":"/java/java-46","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"3DQxQplztH5v9IjfCIQx","title":"Java 并发","pathname":"/java/java-46/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"jpzgBV0mGrxaIiEHEhGU","title":"Java 并发 - CAS","pathname":"/java/java-46/java-bing-fa/java-bing-fa-cas","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"3E0mzZtTpuCy1Nk6dTP3","title":"Java","pathname":"/java/java-47","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"vo441qCYNWDfiDv6OioU","title":"Java 并发","pathname":"/java/java-47/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"KxenvxdlpqGSamcFGV5N","title":"Java 并发 - Condition接口","pathname":"/java/java-47/java-bing-fa/java-bing-fa-condition-jie-kou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"cQ1MDD70tmrEc51tBZ3j","title":"Java","pathname":"/java/java-48","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"bh9ZM6F38kE1jfkxXTLE","title":"Java 并发","pathname":"/java/java-48/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"YyTjPurs4RCaUgM81nB4","title":"Java 并发 - CopyOnWriteArrayList","pathname":"/java/java-48/java-bing-fa/java-bing-fa-copyonwritearraylist","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"oeRJTMrddjn7L4cnYqfe","title":"Java","pathname":"/java/java-49","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"m4JPX6sM9YNBObrIyteC","title":"Java 并发","pathname":"/java/java-49/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"6s2Nzsz1BeePqMfTDen1","title":"Java 并发 - CountDownLatch、CyclicBarrier和Phaser对比","pathname":"/java/java-49/java-bing-fa/java-bing-fa-countdownlatchcyclicbarrier-he-phaser-dui-bi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"vnO9crnBuFseRR5pwJwn","title":"Java","pathname":"/java/java-50","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"g7QZLFFclX18tKqN5r5F","title":"Java 并发","pathname":"/java/java-50/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"jBdyRm5dBx8tTHfVjc5y","title":"Java 并发 - Fork&Join框架","pathname":"/java/java-50/java-bing-fa/java-bing-fa-forkjoin-kuang-jia","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"2FMZm5tSQ1v4zgMZxPdg","title":"Java","pathname":"/java/java-51","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"1RKqtUZy3wB1BY9DP1Bx","title":"Java 并发","pathname":"/java/java-51/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"DYTZVp7hh8NtQ2YZ2lRI","title":"Java 并发 - Java CompletableFuture 详解","pathname":"/java/java-51/java-bing-fa/java-bing-fa-java-completablefuture-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"kyXCVMcQXd8NlA1Z0Ms9","title":"Java","pathname":"/java/java-52","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"7UooJlR5Q3t9sHdW9UYG","title":"Java 并发","pathname":"/java/java-52/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"qub2gimBORe7Znb0PYn0","title":"Java 并发 - Java 线程池","pathname":"/java/java-52/java-bing-fa/java-bing-fa-java-xian-cheng-chi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"6TwXnOMedAilS640jGAO","title":"Java","pathname":"/java/java-53","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"uvapP7KbROvWAcbLGzim","title":"Java 并发","pathname":"/java/java-53/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"EnWXVUIobsUwnXIMiVXT","title":"Java 并发 - Lock接口","pathname":"/java/java-53/java-bing-fa/java-bing-fa-lock-jie-kou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"bG1vtclBPtH2XuqEuXBg","title":"Java","pathname":"/java/java-54","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"qUnRHbkwjLolKhMU8RNE","title":"Java 并发","pathname":"/java/java-54/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"RNUtZStjvjNtLkssozvm","title":"Java 并发 - ReentrantLock","pathname":"/java/java-54/java-bing-fa/java-bing-fa-reentrantlock","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"OeXGpESI997Z3nFc6bdF","title":"Java","pathname":"/java/java-55","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"NX4PNePeOzhbtFpk0U4V","title":"Java 并发","pathname":"/java/java-55/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"g7ffA1HSySGdkfjgJSQh","title":"Java 并发 - ReentrantReadWriteLock","pathname":"/java/java-55/java-bing-fa/java-bing-fa-reentrantreadwritelock","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"Ddbz8q853YHBKKIjhaWR","title":"Java","pathname":"/java/java-56","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"PTOxaZB6kr2K1gI2aSP2","title":"Java 并发","pathname":"/java/java-56/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"sfbrWMnZaa5wfHRNig6g","title":"Java 并发 - Synchronized","pathname":"/java/java-56/java-bing-fa/java-bing-fa-synchronized","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"mWd52KcgieNdQ5JNtSlS","title":"Java","pathname":"/java/java-57","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ZyiPfXaSjtUzM54eHpdw","title":"Java 并发","pathname":"/java/java-57/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"lQLUJMxC3vREIlTHtumU","title":"Java 并发 - ThreadLocal 内存泄漏问题","pathname":"/java/java-57/java-bing-fa/java-bing-fa-threadlocal-nei-cun-xie-lou-wen-ti","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"xnwTJSeMm7OcsH9eRpLP","title":"Java","pathname":"/java/java-58","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"tgMZC1soEE6gwG5MvwvD","title":"Java 并发","pathname":"/java/java-58/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"N0PXafbY3uD3oQZWUv6I","title":"Java 并发 - ThreadLocal","pathname":"/java/java-58/java-bing-fa/java-bing-fa-threadlocal","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"m3mqRQJjKvnzgOPimyGL","title":"Java","pathname":"/java/java-59","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"x1r9H4wX2qihaQPjXHlt","title":"Java 并发","pathname":"/java/java-59/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"VYN38haIrje36UgPcXkD","title":"Java 并发 - Volatile","pathname":"/java/java-59/java-bing-fa/java-bing-fa-volatile","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"brH4Z4o9NJCn8jZndTZ9","title":"Java","pathname":"/java/java-60","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"UT4TVxEansd9eLJwNrld","title":"Java 并发","pathname":"/java/java-60/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"q3n3JB5lEUCPJ7c2VV4c","title":"Java 并发 - 从ReentrantLock的实现看AQS的原理及应用","pathname":"/java/java-60/java-bing-fa/java-bing-fa-cong-reentrantlock-de-shi-xian-kan-aqs-de-yuan-li-ji-ying-yong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"xNhojXtSYJhb3L3htGxe","title":"Java","pathname":"/java/java-61","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"DiN15jbccbU01NHdRupe","title":"Java 并发","pathname":"/java/java-61/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"9kjvW0r9ah6QzFnYfYlE","title":"Java 并发 - 公平锁和非公平锁","pathname":"/java/java-61/java-bing-fa/java-bing-fa-gong-ping-suo-he-fei-gong-ping-suo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"TTxC2tF3VkUAT0ETAYre","title":"Java","pathname":"/java/java-62","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"UfFK3Q7p8rq5r5ImtWrh","title":"Java 并发","pathname":"/java/java-62/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"xfWwKvIOMiBVRgxHvdcS","title":"Java 并发 - 内存模型","pathname":"/java/java-62/java-bing-fa/java-bing-fa-nei-cun-mo-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"lwV42EZHY4DORrfgFrcU","title":"Java","pathname":"/java/java-63","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"qsG5N5e9NHZ7ZcVM3Kc7","title":"Java 并发","pathname":"/java/java-63/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"aIXbrFqLdHxK8LrFujni","title":"Java 并发 - 原子类","pathname":"/java/java-63/java-bing-fa/java-bing-fa-yuan-zi-lei","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"2ay8sa3Fv5iZoTaArjV7","title":"Java","pathname":"/java/java-64","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"yfKl6teXRiijJr51YX8u","title":"Java 并发","pathname":"/java/java-64/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"xoCX5K60bbrccifIy6Fs","title":"Java 并发 - 如何确保三个线程顺序执行？","pathname":"/java/java-64/java-bing-fa/java-bing-fa-ru-he-que-bao-san-ge-xian-cheng-shun-xu-zhi-hang","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"QssGjMgELekCkDEBDBwL","title":"Java","pathname":"/java/java-65","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"NiMm2MxOthE8z3CtSKwQ","title":"Java 并发","pathname":"/java/java-65/java-bing-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"dcbk1TnoEcafsEaB5Lqv","title":"Java 并发 - 锁","pathname":"/java/java-65/java-bing-fa/java-bing-fa-suo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 并发"}]},{"id":"djQ753VnTjE492mJC3HJ","title":"Java","pathname":"/java/java-66","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"QL7CkEOQph19xE9B3Ygz","title":"Java 的新特性","pathname":"/java/java-66/java-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"6kSkYHJ6bDfFSTjvqpox","title":"Java 10 新特性概述","pathname":"/java/java-66/java-de-xin-te-xing/java-10-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 的新特性"}]},{"id":"AcHPlU1kmOuWcLD2AT5R","title":"Java","pathname":"/java/java-67","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"3uTZX2Z7ZeQFJZEw5JuB","title":"Java 的新特性","pathname":"/java/java-67/java-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"vUFnyP9rgMUnXwszKI3r","title":"Java 11 新特性概述","pathname":"/java/java-67/java-de-xin-te-xing/java-11-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 的新特性"}]},{"id":"EhqPwvU833xCer5YDyeY","title":"Java","pathname":"/java/java-68","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"rtGlYHoTEWRGAiOBWwth","title":"Java 的新特性","pathname":"/java/java-68/java-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"f8WPgiaAxDiaFHsBd4qM","title":"Java 12 新特性概述","pathname":"/java/java-68/java-de-xin-te-xing/java-12-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 的新特性"}]},{"id":"89CVRL5HTeWaer9Odh1s","title":"Java","pathname":"/java/java-69","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"LZQuCd99F69ndJcKsEEF","title":"Java 的新特性","pathname":"/java/java-69/java-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"NRqiYk7sxnB98GKUsT9o","title":"Java 13 新特性概述","pathname":"/java/java-69/java-de-xin-te-xing/java-13-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 的新特性"}]},{"id":"vN2FgUOzMCvJjkZavvQO","title":"Java","pathname":"/java/java-70","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"H5Jy0xhY71M7CEUxfyWO","title":"Java 的新特性","pathname":"/java/java-70/java-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"SXROgKOFQG27Y5Rt6J5v","title":"Java 14 新特性概述","pathname":"/java/java-70/java-de-xin-te-xing/java-14-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 的新特性"}]},{"id":"rWmdPLqgZnK2l3QJ7wRY","title":"Java","pathname":"/java/java-71","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"PvTTsucEVQRpEU2BGYp2","title":"Java 的新特性","pathname":"/java/java-71/java-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"shuoLp6hQBgAKKJhHN34","title":"Java 15 新特性概述","pathname":"/java/java-71/java-de-xin-te-xing/java-15-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 的新特性"}]},{"id":"LvwxnWQRHn151qI4YNDS","title":"Java","pathname":"/java/java-72","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"KtghtKwBRfA39wVV0pOl","title":"Java 的新特性","pathname":"/java/java-72/java-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"bPFhwysHC6lJjrlZj0sI","title":"Java 8的新特性","pathname":"/java/java-72/java-de-xin-te-xing/java-8-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 的新特性"}]},{"id":"8kTiFybgqMrEPmQOjSYW","title":"Java","pathname":"/java/java-73","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"P4Vglo4i2JkWIttgMz0Q","title":"Java 的新特性","pathname":"/java/java-73/java-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"Am2d1dM9LGCgkDXyWQDq","title":"Java 9 新特性概述","pathname":"/java/java-73/java-de-xin-te-xing/java-9-de-xin-te-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 的新特性"}]},{"id":"r6kiALuhAYzrsxDU26ML","title":"Java","pathname":"/java/java-74","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"T9JPjW7Gp2fhbofss1K3","title":"Java 调试排错","pathname":"/java/java-74/java-tiao-shi-pai-cuo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"pq3csMM5vvFagJPazrJX","title":"调试排错 - Java Debug Interface(JDI)详解","pathname":"/java/java-74/java-tiao-shi-pai-cuo/tiao-shi-pai-cuo-java-debug-interfacejdi-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 调试排错"}]},{"id":"DCyiNZyljvBIYFxk5R0d","title":"Java","pathname":"/java/java-75","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"EuozN6teHVKsMNVDT30x","title":"Java 调试排错","pathname":"/java/java-75/java-tiao-shi-pai-cuo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"Ubx2qBIS9MUUQbK287vi","title":"调试排错 - CPU 100% 排查优化实践","pathname":"/java/java-75/java-tiao-shi-pai-cuo/tiao-shi-pai-cuo-cpu-100-pai-cha-you-hua-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 调试排错"}]},{"id":"WaYaZDXMivKxD6AUop9K","title":"Java","pathname":"/java/java-76","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"7GLMsms043yKQk2jDZp3","title":"Java 调试排错","pathname":"/java/java-76/java-tiao-shi-pai-cuo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"hkz8xS2FgOUZOePlo7Q8","title":"调试排错 - Java Heap Dump分析","pathname":"/java/java-76/java-tiao-shi-pai-cuo/tiao-shi-pai-cuo-java-heap-dump-fen-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 调试排错"}]},{"id":"6n3sXRy7uEC3bhUczEMU","title":"Java","pathname":"/java/java-77","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"SaUY3gUem8NScSWMt7Nj","title":"Java 调试排错","pathname":"/java/java-77/java-tiao-shi-pai-cuo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"uUixCXxz9UppeCXWj4wG","title":"调试排错 - Java Thread Dump分析","pathname":"/java/java-77/java-tiao-shi-pai-cuo/tiao-shi-pai-cuo-java-thread-dump-fen-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 调试排错"}]},{"id":"4u2qbsQSrCHpQskG14Iv","title":"Java","pathname":"/java/java-78","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"FEF5p17i1VNjG1EOLoqy","title":"Java 调试排错","pathname":"/java/java-78/java-tiao-shi-pai-cuo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"0EH3Oma8mX07BI3TE0le","title":"调试排错 - Java动态调试技术原理","pathname":"/java/java-78/java-tiao-shi-pai-cuo/tiao-shi-pai-cuo-java-dong-tai-tiao-shi-ji-shu-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 调试排错"}]},{"id":"wxA2IXXZ2rDbLvlAuQsL","title":"Java","pathname":"/java/java-79","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"PdMuLLPgfqlnnmcQHkXu","title":"Java 调试排错","pathname":"/java/java-79/java-tiao-shi-pai-cuo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"z27ebPri7qPWh9NAGKoX","title":"调试排错 - Java应用在线调试Arthas","pathname":"/java/java-79/java-tiao-shi-pai-cuo/tiao-shi-pai-cuo-java-ying-yong-zai-xian-tiao-shi-arthas","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 调试排错"}]},{"id":"56pD8BFN2w1ef1Dp5DaC","title":"Java","pathname":"/java/java-80","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"F4tQDTRBE4cmUFlBWz0J","title":"Java 调试排错","pathname":"/java/java-80/java-tiao-shi-pai-cuo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"za10VXcLGOEEJj4zOA1E","title":"调试排错 - Java问题排查：工具单","pathname":"/java/java-80/java-tiao-shi-pai-cuo/tiao-shi-pai-cuo-java-wen-ti-pai-cha-gong-ju-dan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 调试排错"}]},{"id":"N6xzjWV3C2R9ZiOjkjKM","title":"Java","pathname":"/java/java-81","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"9xr9rgsCp7kaLfuTYhKD","title":"Java 调试排错","pathname":"/java/java-81/java-tiao-shi-pai-cuo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"xXKId8wNBctt4IkISgG8","title":"调试排错 - 内存溢出与内存泄漏","pathname":"/java/java-81/java-tiao-shi-pai-cuo/tiao-shi-pai-cuo-nei-cun-yi-chu-yu-nei-cun-xie-lou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 调试排错"}]},{"id":"KXwDkDOwhXonBst5Z7jh","title":"Java","pathname":"/java/java-82","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"TqsCguTRTCgE1QLh53hU","title":"Java 调试排错","pathname":"/java/java-82/java-tiao-shi-pai-cuo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"SDeDLLyXL8CvMGNTLLNZ","title":"调试排错 - 在线分析GC日志的网站GCeasy","pathname":"/java/java-82/java-tiao-shi-pai-cuo/tiao-shi-pai-cuo-zai-xian-fen-xi-gc-ri-zhi-de-wang-zhan-gceasy","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 调试排错"}]},{"id":"7sfgCrDO4MK2pjvpeTgJ","title":"Java","pathname":"/java/java-83","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"V8t7bsqNTJPCMjY6cUIQ","title":"Java 调试排错","pathname":"/java/java-83/java-tiao-shi-pai-cuo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"XZ26ArSet5EJFox94i9T","title":"调试排错 - 常见的GC问题分析与解决","pathname":"/java/java-83/java-tiao-shi-pai-cuo/tiao-shi-pai-cuo-chang-jian-de-gc-wen-ti-fen-xi-yu-jie-jue","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 调试排错"}]},{"id":"ko1XRnnQRVJXjxvnuxD2","title":"Java","pathname":"/java/java-84","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"qq75rGRiIWKDuR38eNe9","title":"Java 集合","pathname":"/java/java-84/java-ji-he","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"xzmjvbq1X9ekl3pfHe26","title":"Java 集合 - ArrayList","pathname":"/java/java-84/java-ji-he/java-ji-he-arraylist","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 集合"}]},{"id":"iadtMZ3dGJkAlvTvG3ml","title":"Java","pathname":"/java/java-85","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"tRLIEPEmRMKXneGjFPDc","title":"Java 集合","pathname":"/java/java-85/java-ji-he","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"EgKvhAVnEVNJU9bwj4eD","title":"Java 集合 - HashMap 和 ConcurrentHashMap","pathname":"/java/java-85/java-ji-he/java-ji-he-hashmap-he-concurrenthashmap","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 集合"}]},{"id":"7utctJL2qXvYfeY6aZNK","title":"Java","pathname":"/java/java-86","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"4lixUsjMK1tDZeCVEwBG","title":"Java 集合","pathname":"/java/java-86/java-ji-he","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"c9oAVd1EFOcgLuogcqT9","title":"Java 集合 - HashMap的死循环问题","pathname":"/java/java-86/java-ji-he/java-ji-he-hashmap-de-si-xun-huan-wen-ti","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 集合"}]},{"id":"ix94ULb2Aqut7zsMlgLk","title":"Java","pathname":"/java/java-87","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"z13L8POH3K9ixNq3eGMp","title":"Java 集合","pathname":"/java/java-87/java-ji-he","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"CmRbDqRVCOwgNgAioAlB","title":"Java 集合 - LinkedHashSet&Map","pathname":"/java/java-87/java-ji-he/java-ji-he-linkedhashsetmap","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 集合"}]},{"id":"vVqoZfS3kMGzmoaa24x6","title":"Java","pathname":"/java/java-88","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"V6MZN25zKoQyzo6An58a","title":"Java 集合","pathname":"/java/java-88/java-ji-he","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"xj8Nz2ZkmibdWgxkyDOy","title":"Java 集合 - LinkedList","pathname":"/java/java-88/java-ji-he/java-ji-he-linkedlist","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 集合"}]},{"id":"2rjbKZWXL8O8jLb6Rju3","title":"Java","pathname":"/java/java-89","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"zUK4tizI1xdQDgWcyEHj","title":"Java 集合","pathname":"/java/java-89/java-ji-he","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"DMVKbjJ8euc1ROD8Kk6O","title":"Java 集合 - PriorityQueue","pathname":"/java/java-89/java-ji-he/java-ji-he-priorityqueue","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 集合"}]},{"id":"GBmo0afONM1zu8lydROq","title":"Java","pathname":"/java/java-90","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"VtrxHTjdDJRvkFYeFyE9","title":"Java 集合","pathname":"/java/java-90/java-ji-he","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"1WGqEOeVYhDocLQ9Tj1B","title":"Java 集合 - Stack & Queue","pathname":"/java/java-90/java-ji-he/java-ji-he-stack-queue","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 集合"}]},{"id":"l9OhlnR7lPmgk1oRGp5U","title":"Java","pathname":"/java/java-91","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"GzTZM1ySto3WhyYTnqAM","title":"Java 集合","pathname":"/java/java-91/java-ji-he","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"I8EEtPYsOOITdr1d5JiJ","title":"Java 集合 - TreeSet & TreeMap","pathname":"/java/java-91/java-ji-he/java-ji-he-treeset-treemap","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 集合"}]},{"id":"vMxyreGue8jMfDb1K4q4","title":"Java","pathname":"/java/java-92","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"RxBYyBOshGFNDsKyKztR","title":"Java 集合","pathname":"/java/java-92/java-ji-he","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"LHS9xBFBDTX5ULly7Kb5","title":"Java 集合 - WeakHashMap","pathname":"/java/java-92/java-ji-he/java-ji-he-weakhashmap","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 集合"}]},{"id":"wZqZhmwrXoCuluf6Y3tt","title":"Java","pathname":"/java/java-93","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"UvvjYPM52D5FyOjyqlBF","title":"Java 集合","pathname":"/java/java-93/java-ji-he","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"gkJKotSyj3CHadgbGYyV","title":"Java 集合 - 为什么HashMap的容量是2的幂次方","pathname":"/java/java-93/java-ji-he/java-ji-he-wei-shi-mo-hashmap-de-rong-liang-shi-2-de-mi-ci-fang","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 集合"}]},{"id":"4IT6tX7dKbxbsZZEczcf","title":"Java","pathname":"/java/java-94","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"oCcctocXjd9nuDtjBPjS","title":"Java 集合","pathname":"/java/java-94/java-ji-he","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"mHvK5fi7wT6bgpI3Acxc","title":"Java 集合 - 概览","pathname":"/java/java-94/java-ji-he/java-ji-he-gai-lan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 集合"}]},{"id":"TN7Ww9YBz18aEnDdpvrh","title":"Java","pathname":"/java/java-95","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"bPstdENtQ1R2EdgbhIJj","title":"Java 集合","pathname":"/java/java-95/java-ji-he","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"}]},{"id":"5pW7kvZyyNVuKyJnTUfq","title":"Java 集合 - 高性能队列Disruptor详解","pathname":"/java/java-95/java-ji-he/java-ji-he-gao-xing-neng-dui-lie-disruptor-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java"},{"label":"Java 集合"}]},{"id":"5RlYCD4bQ59FJgCt2lUe","title":"分布式","pathname":"/java/fen-bu-shi","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"C7HP1rKUWosUKuPG5WIR","title":"RPC","pathname":"/java/fen-bu-shi/rpc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"qNURX3fHzwITwodbuOc5","title":"⭐️RPC - Dubbo&hsf&Spring cloud的区别","pathname":"/java/fen-bu-shi/rpc/rpc-dubbohsfspring-cloud-de-qu-bie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"RPC"}]},{"id":"sIspTh1zb9zVUsLCZ3ps","title":"分布式","pathname":"/java/fen-bu-shi-1","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"kXYXGb5MTMdyjADGdjZD","title":"RPC","pathname":"/java/fen-bu-shi-1/rpc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"bTygMEpGUYjAxHMiz6ho","title":"⭐️RPC - Dubbo的架构原理","pathname":"/java/fen-bu-shi-1/rpc/rpc-dubbo-de-jia-gou-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"RPC"}]},{"id":"tJzoFAnY6WNJv8pjrkcL","title":"分布式","pathname":"/java/fen-bu-shi-2","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"QL1evsi829RplgSSyg6g","title":"RPC","pathname":"/java/fen-bu-shi-2/rpc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"jdoQK6ukrT0aCJbkrAWp","title":"⭐️RPC - HSF的原理分析","pathname":"/java/fen-bu-shi-2/rpc/rpc-hsf-de-yuan-li-fen-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"RPC"}]},{"id":"5RB8v8TET7F9hhKW0j3y","title":"分布式","pathname":"/java/fen-bu-shi-3","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"qGZUdrrGfUbtfFlWRo8S","title":"RPC","pathname":"/java/fen-bu-shi-3/rpc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"pg314K4qjUp7KQlYyRBg","title":"⭐️RPC - 你应该知道的RPC原理","pathname":"/java/fen-bu-shi-3/rpc/rpc-ni-ying-gai-zhi-dao-de-rpc-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"RPC"}]},{"id":"xBT9kWKmZAMfB8e1uUIf","title":"分布式","pathname":"/java/fen-bu-shi-4","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"dIVXs4jSjjIyJkIjAJpG","title":"RPC","pathname":"/java/fen-bu-shi-4/rpc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"K1H7QXYjrvAmIOsrVAjL","title":"⭐️RPC - 动态代理","pathname":"/java/fen-bu-shi-4/rpc/rpc-dong-tai-dai-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"RPC"}]},{"id":"lncbG3wPoRlMPJJwxJMe","title":"分布式","pathname":"/java/fen-bu-shi-5","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"VVQ5ZRrWzcllUmkgdrmR","title":"RPC","pathname":"/java/fen-bu-shi-5/rpc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"7Nn8apUuKBEyGHvcpRY5","title":"深入理解 RPC 之协议篇","pathname":"/java/fen-bu-shi-5/rpc/rpc-xie-yi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"RPC"}]},{"id":"LIpFzqqcr3Kbo8JW97Rx","title":"分布式","pathname":"/java/fen-bu-shi-6","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"uTO2kw7yAfbNIU0de0Yd","title":"RPC","pathname":"/java/fen-bu-shi-6/rpc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"H11nFWGxBeRbC9wmkrbI","title":"RPC - 序列化和反序列化","pathname":"/java/fen-bu-shi-6/rpc/rpc-xu-lie-hua-he-fan-xu-lie-hua","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"RPC"}]},{"id":"r9Jp3ELH2OFItiPlBKfE","title":"分布式","pathname":"/java/fen-bu-shi-7","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"hC9ibaLTK6cJcov60hbL","title":"RPC","pathname":"/java/fen-bu-shi-7/rpc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"dieXZK6ALPM3j9Fv8rEe","title":"⭐️RPC - 服务注册与发现","pathname":"/java/fen-bu-shi-7/rpc/rpc-fu-wu-zhu-ce-yu-fa-xian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"RPC"}]},{"id":"eNki3Q6qXdB6K0ODLNGg","title":"分布式","pathname":"/java/fen-bu-shi-8","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"POWUuB4VIC6yrpsWvMfT","title":"RPC","pathname":"/java/fen-bu-shi-8/rpc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"L7SaPRYozxwhoOjUNLQK","title":"RPC - 核心原理","pathname":"/java/fen-bu-shi-8/rpc/rpc-he-xin-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"RPC"}]},{"id":"dRsi8fSvUNs23RKi9NLk","title":"分布式","pathname":"/java/fen-bu-shi-9","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"1Ob7achdOWxM2kFLDF7C","title":"RPC","pathname":"/java/fen-bu-shi-9/rpc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"qt62f2Wvs46H1zFuZzRg","title":"⭐️RPC - 框架对比","pathname":"/java/fen-bu-shi-9/rpc/rpc-kuang-jia-dui-bi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"RPC"}]},{"id":"NR8azcyIjFBiXTSEgPcK","title":"分布式","pathname":"/java/fen-bu-shi-10","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"uMWnaACCMMJ6W4vE75b6","title":"RPC","pathname":"/java/fen-bu-shi-10/rpc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"Y2ZMb6HKPogFK0MXvxk4","title":"⭐️RPC - 网络通信","pathname":"/java/fen-bu-shi-10/rpc/rpc-wang-luo-tong-xin","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"RPC"}]},{"id":"rC2BXiJNwncK2azmHNup","title":"分布式","pathname":"/java/fen-bu-shi-11","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"FjVdy47PQhRXRVhHXXGd","title":"分布式事务","pathname":"/java/fen-bu-shi-11/fen-bu-shi-shi-wu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"4SS2x0wjxtwsY4oheH3b","title":"分布式事务 Seata TCC 模式深度解析","pathname":"/java/fen-bu-shi-11/fen-bu-shi-shi-wu/fen-bu-shi-shi-wu-seata-tcc-mo-shi-shen-du-jie-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"分布式事务"}]},{"id":"I3JBd1cq6Eb1uUDBGywg","title":"分布式","pathname":"/java/fen-bu-shi-12","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"DGyiyzX5LFriTKl03dcg","title":"分布式事务","pathname":"/java/fen-bu-shi-12/fen-bu-shi-shi-wu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"WFBDfMwLAX2wE2EqGJGG","title":"分布式事务的实现原理","pathname":"/java/fen-bu-shi-12/fen-bu-shi-shi-wu/fen-bu-shi-shi-wu-de-shi-xian-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"分布式事务"}]},{"id":"gW8P4Z51v806LJwKpD9i","title":"分布式","pathname":"/java/fen-bu-shi-13","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"tDpAWfZDHnu9jQOJaFLH","title":"分布式事务","pathname":"/java/fen-bu-shi-13/fen-bu-shi-shi-wu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"EzTDi8A17qrqFqCZeiYE","title":"常用的分布式事务解决方案","pathname":"/java/fen-bu-shi-13/fen-bu-shi-shi-wu/chang-yong-de-fen-bu-shi-shi-wu-jie-jue-fang-an","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"分布式事务"}]},{"id":"wd7wndqPqBBBGLCmuskP","title":"分布式","pathname":"/java/fen-bu-shi-14","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"o5yPJOI57e6OoQcpnaFw","title":"分布式事务","pathname":"/java/fen-bu-shi-14/fen-bu-shi-shi-wu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"9FsIVJKXSSqIcI6bWu3a","title":"手写实现基于消息队列的分布式事务框架","pathname":"/java/fen-bu-shi-14/fen-bu-shi-shi-wu/shou-xie-shi-xian-ji-yu-xiao-xi-dui-lie-de-fen-bu-shi-shi-wu-kuang-jia","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"分布式事务"}]},{"id":"SSpXBSjV3sfW4NBssfH8","title":"分布式","pathname":"/java/fen-bu-shi-15","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Kgun16PXMrmbuXOdZCwH","title":"分布式算法","pathname":"/java/fen-bu-shi-15/fen-bu-shi-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"pN3zdGO7u56WpYwvEmCF","title":"CAP 定理的含义","pathname":"/java/fen-bu-shi-15/fen-bu-shi-suan-fa/cap-ding-li-de-han-yi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"分布式算法"}]},{"id":"1wb2TNABG0EmUP5x0zot","title":"分布式","pathname":"/java/fen-bu-shi-16","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Nr9NuunqHJFAAwcgSS1f","title":"分布式算法","pathname":"/java/fen-bu-shi-16/fen-bu-shi-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"lpyTge9PKxUrdSoYTnPg","title":"Paxos和Raft比较","pathname":"/java/fen-bu-shi-16/fen-bu-shi-suan-fa/paxos-he-raft-bi-jiao","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"分布式算法"}]},{"id":"9pdFwkERHiGolQXwlxyi","title":"分布式","pathname":"/java/fen-bu-shi-17","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"N9UvlUXy6RCIwnjJaSWb","title":"分布式算法","pathname":"/java/fen-bu-shi-17/fen-bu-shi-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"30Ma2m2MjuF3JyWUkXPf","title":"分布式一致性与共识算法","pathname":"/java/fen-bu-shi-17/fen-bu-shi-suan-fa/fen-bu-shi-yi-zhi-xing-yu-gong-shi-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"分布式算法"}]},{"id":"HFVIDFFu1UkkqC3rqGJc","title":"分布式","pathname":"/java/fen-bu-shi-18","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"sSquEgSsn3BxCTWeDYbm","title":"分布式锁","pathname":"/java/fen-bu-shi-18/fen-bu-shi-suo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"xihdn1696spuRT4YYm9A","title":"⭐️分布式锁的原理及实现方式","pathname":"/java/fen-bu-shi-18/fen-bu-shi-suo/fen-bu-shi-suo-de-yuan-li-ji-shi-xian-fang-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"分布式锁"}]},{"id":"BZ1itJM3DnbzhypsyYgR","title":"分布式","pathname":"/java/fen-bu-shi-19","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"SRZbLJxNZu9Vnk4CmBsA","title":"搜索引擎","pathname":"/java/fen-bu-shi-19/sou-suo-yin-qing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"2EC5djE94f7ksWuxYEyk","title":"ElasticSearch与SpringBoot的集成与JPA方法的使用","pathname":"/java/fen-bu-shi-19/sou-suo-yin-qing/elasticsearch-yu-springboot-de-ji-cheng-yu-jpa-fang-fa-de-shi-yong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"搜索引擎"}]},{"id":"UnyFSsRcwMdY5j74zt9l","title":"分布式","pathname":"/java/fen-bu-shi-20","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"JBQrZ17h1fAXSm9cn6KA","title":"搜索引擎","pathname":"/java/fen-bu-shi-20/sou-suo-yin-qing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"cI4r1VcVxlAfqigcREEj","title":"全文搜索引擎 Elasticsearch 入门教程","pathname":"/java/fen-bu-shi-20/sou-suo-yin-qing/quan-wen-sou-suo-yin-qing-elasticsearch-ru-men-jiao-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"搜索引擎"}]},{"id":"8woVfDo2bq5MMpQLGwc1","title":"分布式","pathname":"/java/fen-bu-shi-21","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"57zOTT5judYVe1F1boiH","title":"搜索引擎","pathname":"/java/fen-bu-shi-21/sou-suo-yin-qing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"aGZ2RH36bBvJKxEBgVIl","title":"十分钟学会使用 Elasticsearch 优雅搭建自己的搜索系统","pathname":"/java/fen-bu-shi-21/sou-suo-yin-qing/shi-fen-zhong-xue-hui-shi-yong-elasticsearch-you-ya-da-jian-zi-ji-de-sou-suo-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"搜索引擎"}]},{"id":"dusrzLmgEYBN6xGvKuxc","title":"分布式","pathname":"/java/fen-bu-shi-22","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"3yzSkKAdVZsJNuJa7qLG","title":"搜索引擎","pathname":"/java/fen-bu-shi-22/sou-suo-yin-qing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"xnEZR2BCs2Pi57CAiB81","title":"腾讯万亿级 Elasticsearch 技术解密","pathname":"/java/fen-bu-shi-22/sou-suo-yin-qing/teng-xun-wan-yi-ji-elasticsearch-ji-shu-jie-mi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"搜索引擎"}]},{"id":"XqGp9XOQqeagOiArK3G0","title":"分布式","pathname":"/java/fen-bu-shi-23","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"YeqzKpdDBh4tfs6MkDSX","title":"日志系统","pathname":"/java/fen-bu-shi-23/ri-zhi-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"xNVscV9VM1MbQ0eNsYyM","title":"Grafana Loki 简明教程","pathname":"/java/fen-bu-shi-23/ri-zhi-xi-tong/grafana-loki-jian-ming-jiao-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"日志系统"}]},{"id":"DwWRJB9WPoONSxyhLvVX","title":"分布式","pathname":"/java/fen-bu-shi-24","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"TBAYSoH8XxtyBGp2rKDT","title":"日志系统","pathname":"/java/fen-bu-shi-24/ri-zhi-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"hZ57bbJ7z4ARigHhPnrs","title":"分布式系统中如何优雅地追踪日志","pathname":"/java/fen-bu-shi-24/ri-zhi-xi-tong/fen-bu-shi-xi-tong-zhong-ru-he-you-ya-di-zhui-zong-ri-zhi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"日志系统"}]},{"id":"KWe7dltqnoQwomcT8uRv","title":"分布式","pathname":"/java/fen-bu-shi-25","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"382mnXro7hhlBgJpD6an","title":"日志系统","pathname":"/java/fen-bu-shi-25/ri-zhi-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"w2KW3Hs3P3p8spfEORqd","title":"如何优雅地记录操作日志？","pathname":"/java/fen-bu-shi-25/ri-zhi-xi-tong/ru-he-you-ya-di-ji-lu-cao-zuo-ri-zhi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"日志系统"}]},{"id":"PPQd664MrNoGA96lMDzn","title":"分布式","pathname":"/java/fen-bu-shi-26","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"bBFvD5WFRoO8B6M7GbnH","title":"日志系统","pathname":"/java/fen-bu-shi-26/ri-zhi-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"VZfzuDqpcjVlcCUgd3Pm","title":"日志收集组件—Flume、Logstash、Filebeat对比","pathname":"/java/fen-bu-shi-26/ri-zhi-xi-tong/ri-zhi-shou-ji-zu-jian-flumelogstashfilebeat-dui-bi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"日志系统"}]},{"id":"rgQvcYog4CrTJOzyr0b2","title":"分布式","pathname":"/java/fen-bu-shi-27","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"6ZORBkeZQXexZnKYkILG","title":"日志系统","pathname":"/java/fen-bu-shi-27/ri-zhi-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"WVhMF0dyyVedhqFFuWdg","title":"集中式日志系统 ELK 协议栈详解","pathname":"/java/fen-bu-shi-27/ri-zhi-xi-tong/ji-zhong-shi-ri-zhi-xi-tong-elk-xie-yi-zhan-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"日志系统"}]},{"id":"DQWRSXl4Qfhy25X9WtJx","title":"分布式","pathname":"/java/fen-bu-shi-28","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"G9XO1dOljrFnGuDZdd4j","title":"消息队列","pathname":"/java/fen-bu-shi-28/xiao-xi-dui-lie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"FwamtScMKo49V7gt0Tih","title":"消息队列 - Kafka","pathname":"/java/fen-bu-shi-28/xiao-xi-dui-lie/xiao-xi-dui-lie-kafka","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"消息队列"}]},{"id":"IKEaK3rUi8yvOgDAaOBE","title":"分布式","pathname":"/java/fen-bu-shi-29","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"duWjfYPK8go5p5hjoF7Y","title":"消息队列","pathname":"/java/fen-bu-shi-29/xiao-xi-dui-lie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"0cmBDIKPlPb9mYVlUNBd","title":"消息队列 - Kafka、RabbitMQ、RocketMQ等消息中间件的对比","pathname":"/java/fen-bu-shi-29/xiao-xi-dui-lie/xiao-xi-dui-lie-kafkarabbitmqrocketmq-deng-xiao-xi-zhong-jian-jian-de-dui-bi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"消息队列"}]},{"id":"WnpClGsipkHd6DOxMBVC","title":"分布式","pathname":"/java/fen-bu-shi-30","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"2xDYVGpoaXjswJkpwg38","title":"消息队列","pathname":"/java/fen-bu-shi-30/xiao-xi-dui-lie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"W3ar5iPDTEAYDnSgNpMG","title":"消息队列之 RabbitMQ","pathname":"/java/fen-bu-shi-30/xiao-xi-dui-lie/xiao-xi-dui-lie-rabbitmq","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"消息队列"}]},{"id":"1iEHFui9JLpjutzuGDSf","title":"分布式","pathname":"/java/fen-bu-shi-31","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ubm0X2WssRNB4Zv7uxtL","title":"消息队列","pathname":"/java/fen-bu-shi-31/xiao-xi-dui-lie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"lvPA2us9TTximUGz1hMv","title":"消息队列 - 使用docker-compose构建kafka集群","pathname":"/java/fen-bu-shi-31/xiao-xi-dui-lie/xiao-xi-dui-lie-shi-yong-dockercompose-gou-jian-kafka-ji-qun","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"消息队列"}]},{"id":"bn8pv5kl2W7krOt8Ewhs","title":"分布式","pathname":"/java/fen-bu-shi-32","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"T64oSrpndC8IX19Ly52n","title":"消息队列","pathname":"/java/fen-bu-shi-32/xiao-xi-dui-lie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"iRQ00UPX3cIx8UVw2mKk","title":"消息队列 - 分布式系统与消息的投递","pathname":"/java/fen-bu-shi-32/xiao-xi-dui-lie/xiao-xi-dui-lie-fen-bu-shi-xi-tong-yu-xiao-xi-de-tou-di","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"消息队列"}]},{"id":"GfOGnUWl1ZuIhJlCHYYt","title":"分布式","pathname":"/java/fen-bu-shi-33","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"cHj9MnL0hNVcPXxnJnxH","title":"消息队列","pathname":"/java/fen-bu-shi-33/xiao-xi-dui-lie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"J79QU47EeObZW5BC2Wk5","title":"消息队列 - 如何保证消息的可靠性传输","pathname":"/java/fen-bu-shi-33/xiao-xi-dui-lie/xiao-xi-dui-lie-ru-he-bao-zheng-xiao-xi-de-ke-kao-xing-chuan-shu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"消息队列"}]},{"id":"5wtgFRLn7orIXWBayM4G","title":"分布式","pathname":"/java/fen-bu-shi-34","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"f7LKQngRrY9NCllCrxPc","title":"消息队列","pathname":"/java/fen-bu-shi-34/xiao-xi-dui-lie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"09c22eqTOdokaKRgs0i9","title":"消息队列 - 如何保证消息的顺序性","pathname":"/java/fen-bu-shi-34/xiao-xi-dui-lie/xiao-xi-dui-lie-ru-he-bao-zheng-xiao-xi-de-shun-xu-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"消息队列"}]},{"id":"M9Sfi2LoGvkozT2BLe51","title":"分布式","pathname":"/java/fen-bu-shi-35","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"J6P6R7jfxwEuIhJCyW2H","title":"消息队列","pathname":"/java/fen-bu-shi-35/xiao-xi-dui-lie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"3VcXs0mbtcW7yPGuX8aY","title":"消息队列 - 如何保证消息队列的高可用","pathname":"/java/fen-bu-shi-35/xiao-xi-dui-lie/xiao-xi-dui-lie-ru-he-bao-zheng-xiao-xi-dui-lie-de-gao-ke-yong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"消息队列"}]},{"id":"32Upek1H7Ug5wqNrrDzM","title":"分布式","pathname":"/java/fen-bu-shi-36","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"GpJwQu8SGxMjJeB4xF6j","title":"消息队列","pathname":"/java/fen-bu-shi-36/xiao-xi-dui-lie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"hPDir4MDSCepbdjF5LBT","title":"消息队列 - 消息队列设计精要","pathname":"/java/fen-bu-shi-36/xiao-xi-dui-lie/xiao-xi-dui-lie-xiao-xi-dui-lie-she-ji-jing-yao","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"消息队列"}]},{"id":"vg1pOTYndgN3slC04tAT","title":"分布式","pathname":"/java/fen-bu-shi-37","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"0Z9Y6AHQGP0k1nbooOAN","title":"监控系统","pathname":"/java/fen-bu-shi-37/jian-kong-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"fY6zhR3KKPteFSvPnjpT","title":"深度剖析开源分布式监控CAT","pathname":"/java/fen-bu-shi-37/jian-kong-xi-tong/shen-du-pou-xi-kai-yuan-fen-bu-shi-jian-kong-cat","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"监控系统"}]},{"id":"vEs1Vfkh8yZHuk10SsMc","title":"大数据","pathname":"/java/da-shu-ju","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"H5tZZ7cegKVmnzcvPmP5","title":"Flink","pathname":"/java/da-shu-ju/flink","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"大数据"}]},{"id":"RWEmJ2yAaokSAfV1pAkQ","title":"Flink架构与核心组件","pathname":"/java/da-shu-ju/flink/flink-jia-gou-yu-he-xin-zu-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"大数据"},{"label":"Flink"}]},{"id":"0Ly645tlOeo2UKB8rGWk","title":"微服务","pathname":"/java/wei-fu-wu-3","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"QgUgyVHZRjCkp7KOmyze","title":"Dubbo","pathname":"/java/wei-fu-wu-3/dubbo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"qZyzNP8uZWJhcFnsiLdm","title":"基于dubbo的分布式应用中的统一异常处理","pathname":"/java/wei-fu-wu-3/dubbo/ji-yu-dubbo-de-fen-bu-shi-ying-yong-zhong-de-tong-yi-yi-chang-chu-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Dubbo"}]},{"id":"uskpCIPWInU6W7zRBSSG","title":"微服务","pathname":"/java/wei-fu-wu-4","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"PiEUian7fG9ELQRqtohU","title":"Dubbo","pathname":"/java/wei-fu-wu-4/dubbo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"h4Nx9XQBs7QTe3wI0eK7","title":"Vim快捷键","pathname":"/java/wei-fu-wu-4/dubbo/fu-wu-tiao-yong-guo-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Dubbo"}]},{"id":"m3yg0edDFGlM926efAkI","title":"微服务","pathname":"/java/wei-fu-wu-5","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"EIflLHonajM9O9zOmnTG","title":"Service Mesh","pathname":"/java/wei-fu-wu-5/service-mesh","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"WdEBaedybixqC2paucRq","title":"Istio 是什么？","pathname":"/java/wei-fu-wu-5/service-mesh/istio-shi-shi-mo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Service Mesh"}]},{"id":"xrDK5V5WFkUuXKXzLETs","title":"微服务","pathname":"/java/wei-fu-wu-6","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Jar7OR4FptPPgSxAiQFl","title":"Service Mesh","pathname":"/java/wei-fu-wu-6/service-mesh","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"kwMJ75H8oApT7q67JFr8","title":"OCTO 2.0：美团基于Service Mesh的服务治理系统详解","pathname":"/java/wei-fu-wu-6/service-mesh/octo-2.0-mei-tuan-ji-yu-service-mesh-de-fu-wu-zhi-li-xi-tong-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Service Mesh"}]},{"id":"vvsL4SDD2ISMBfKLDkzO","title":"微服务","pathname":"/java/wei-fu-wu-7","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"U3d0wi7q6XDoNXtfiF5B","title":"Service Mesh","pathname":"/java/wei-fu-wu-7/service-mesh","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"98eYsjZB6xkjf6g3OMTR","title":"Service Mesh是什么？","pathname":"/java/wei-fu-wu-7/service-mesh/service-mesh-shi-shi-mo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Service Mesh"}]},{"id":"QY0hNQPPqv56gwKBl4gA","title":"微服务","pathname":"/java/wei-fu-wu-8","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"dyucXd1mdK5s0dn7AEfL","title":"Service Mesh","pathname":"/java/wei-fu-wu-8/service-mesh","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"oMo8QEkuTcJqUQjPWfs3","title":"Spring Cloud向Service Mesh迁移","pathname":"/java/wei-fu-wu-8/service-mesh/spring-cloud-xiang-service-mesh-qian-yi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Service Mesh"}]},{"id":"AMuKcIiVPSS1VjC2yls2","title":"微服务","pathname":"/java/wei-fu-wu-9","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"RAqM1begj4ziqBFSRtb7","title":"Service Mesh","pathname":"/java/wei-fu-wu-9/service-mesh","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"ysWJxudx5gGzHxQ4l6lU","title":"数据挖掘算法","pathname":"/java/wei-fu-wu-9/service-mesh/conduit","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Service Mesh"}]},{"id":"KGmX2wf9fRrzzBAOqK7R","title":"微服务","pathname":"/java/wei-fu-wu-10","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"XsALSxHPyl9sNAzvEYqL","title":"Service Mesh","pathname":"/java/wei-fu-wu-10/service-mesh","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"sKnCO82oN9UwGrqLpNgw","title":"Seata Saga 模式","pathname":"/java/wei-fu-wu-10/service-mesh/linkerd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Service Mesh"}]},{"id":"h3tyAASVpbdkq2tdDlce","title":"微服务","pathname":"/java/wei-fu-wu-11","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"iPU38zl2rdVw5CM0XSom","title":"Spring Cloud","pathname":"/java/wei-fu-wu-11/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"lQ8lpCJOMombvQFPiwww","title":"Seata TCC 模式","pathname":"/java/wei-fu-wu-11/spring-cloud/spring-cloud-bus","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"MSKQ0nDI7e61Denw7Zyi","title":"微服务","pathname":"/java/wei-fu-wu-12","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"TiMU4npYryVMLmFRlFOy","title":"Spring Cloud","pathname":"/java/wei-fu-wu-12/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"sAQglHKYsZlk0T0yqd5C","title":"Spring Cloud Config","pathname":"/java/wei-fu-wu-12/spring-cloud/spring-cloud-config","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"eoako4riNedmknHzaO0a","title":"微服务","pathname":"/java/wei-fu-wu-13","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"wBu8I3aELwGcZeKUB93Y","title":"Spring Cloud","pathname":"/java/wei-fu-wu-13/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"HyV981GT7shpH0pAGhEe","title":"Seata AT 模式","pathname":"/java/wei-fu-wu-13/spring-cloud/spring-cloud-consul","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"bVk6FBdJ56gxNSORIkYz","title":"微服务","pathname":"/java/wei-fu-wu-14","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"YBCRib2DbKyCjpRLNo4M","title":"Spring Cloud","pathname":"/java/wei-fu-wu-14/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"ZRSaA1A723S2vE3B7km5","title":"Spring Cloud Gateway","pathname":"/java/wei-fu-wu-14/spring-cloud/spring-cloud-gateway","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"hHkM1ke6A1Z8YgQBEDiU","title":"微服务","pathname":"/java/wei-fu-wu-15","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"yf1UrngpsApRRn2AV4Os","title":"Spring Cloud","pathname":"/java/wei-fu-wu-15/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"2e4b49vtla5XRA6Dfr1u","title":"Spring Cloud OpenFeign 的核心原理","pathname":"/java/wei-fu-wu-15/spring-cloud/spring-cloud-openfeign","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"2JRHrOq3M9GdN0CvUW36","title":"微服务","pathname":"/java/wei-fu-wu-16","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"qMlHkhztaHgnjVGiOdy1","title":"Spring Cloud","pathname":"/java/wei-fu-wu-16/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"XnvIQQOGa9zAFhALB1Jk","title":"Seata XA 模式","pathname":"/java/wei-fu-wu-16/spring-cloud/spring-cloud-stream","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"BI3KzaLTzYf08XVIhnLe","title":"数据库","pathname":"/java/shu-ju-ku","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"xnDWvYJX3F5KtvG1vpM4","title":"Database Version Control","pathname":"/java/shu-ju-ku/database-version-control","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"QJacGO03wXvfRVtOAA6f","title":"Liquibase vs. Flyway","pathname":"/java/shu-ju-ku/database-version-control/liquibase-vs.-flyway","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"}]},{"id":"mkb24cgoBn3xcOwYktur","title":"数据库","pathname":"/java/shu-ju-ku-1","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"T0bY7JriAGm0En9k6ld6","title":"Database Version Control","pathname":"/java/shu-ju-ku-1/database-version-control","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"aRvpYeGGz3durSfaMrrU","title":"Six reasons to version control your database","pathname":"/java/shu-ju-ku-1/database-version-control/six-reasons-to-version-control-your-database","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"}]},{"id":"9ddC4Ye1CkMKPJO39PM3","title":"数据库","pathname":"/java/shu-ju-ku-2","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Fr34kpJuD0JBFgLv8Qmb","title":"MySQL","pathname":"/java/shu-ju-ku-2/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"KJE7YmxHIWrdxmcmuPr5","title":"How Sharding Works","pathname":"/java/shu-ju-ku-2/mysql/how-sharding-works","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"VIAH5HwluvOwU64sktNm","title":"数据库","pathname":"/java/shu-ju-ku-3","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"IhsKP0zwFcLtsT4MZ0AV","title":"MySQL","pathname":"/java/shu-ju-ku-3/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"yxnjHfg8PrOyXd6yrfNi","title":"MySQL InnoDB中各种SQL语句加锁分析","pathname":"/java/shu-ju-ku-3/mysql/mysql-innodb-zhong-ge-zhong-sql-yu-ju-jia-suo-fen-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"yYGRY06YQmefHxFk6F8g","title":"数据库","pathname":"/java/shu-ju-ku-4","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"KvusTFdN5PbE0EeBR1Df","title":"MySQL","pathname":"/java/shu-ju-ku-4/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"WSUCapNf2g6w48691flh","title":"MySQL 事务隔离级别和锁","pathname":"/java/shu-ju-ku-4/mysql/mysql-shi-wu-ge-li-ji-bie-he-suo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"RYYE5GnlWiipyDlEwzSw","title":"数据库","pathname":"/java/shu-ju-ku-5","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"LiFHY3rVfenRcm1mDa1Q","title":"MySQL","pathname":"/java/shu-ju-ku-5/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"oLDA4npUUdWpgRteqEJW","title":"MySQL 索引性能分析概要","pathname":"/java/shu-ju-ku-5/mysql/mysql-suo-yin-xing-neng-fen-xi-gai-yao","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"H8L2c1VO3rMGIFmVuCg7","title":"数据库","pathname":"/java/shu-ju-ku-6","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"3AnfuEWYCQO61QORwDlL","title":"MySQL","pathname":"/java/shu-ju-ku-6/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"VS93VmTxuSUCIfEF2iIR","title":"MySQL 索引设计概要","pathname":"/java/shu-ju-ku-6/mysql/mysql-suo-yin-she-ji-gai-yao","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"ule2s70Q8OjnzX3rSlLQ","title":"数据库","pathname":"/java/shu-ju-ku-7","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"H2NxFDQvUOZdzOIcPDxL","title":"MySQL","pathname":"/java/shu-ju-ku-7/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"zlq0FqwBYaZY8eBCygs4","title":"MySQL出现Waiting for table metadata lock的原因以及解决方法","pathname":"/java/shu-ju-ku-7/mysql/mysql-chu-xian-waiting-for-table-metadata-lock-de-yuan-yin-yi-ji-jie-jue-fang-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"o0Vdrs5rZbFdW2lMOsRh","title":"数据库","pathname":"/java/shu-ju-ku-8","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"1evQVoHB7ZmHqezuDLW9","title":"MySQL","pathname":"/java/shu-ju-ku-8/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"af5ywR921nK8zefBKhyS","title":"MySQL的Limit性能问题","pathname":"/java/shu-ju-ku-8/mysql/mysql-de-limit-xing-neng-wen-ti","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"Rx05VUKtZ2ZEeall7wXM","title":"数据库","pathname":"/java/shu-ju-ku-9","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Eui6e41HoUup6ngjPEll","title":"MySQL","pathname":"/java/shu-ju-ku-9/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"s47kUIdJo1xHZirL7pxP","title":"MySQL索引优化explain","pathname":"/java/shu-ju-ku-9/mysql/mysql-suo-yin-you-hua-explain","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"FKfCeYBmAi4cJMc4bsur","title":"数据库","pathname":"/java/shu-ju-ku-10","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"czECy2vOz6SOijcjDRJo","title":"MySQL","pathname":"/java/shu-ju-ku-10/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"hCtabPHDCyc9BDcU8pi9","title":"MySQL索引背后的数据结构及算法原理","pathname":"/java/shu-ju-ku-10/mysql/mysql-suo-yin-bei-hou-de-shu-ju-jie-gou-ji-suan-fa-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"imF59OfjSsOMXT0dDMjr","title":"数据库","pathname":"/java/shu-ju-ku-11","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"x5QsTxuSrGBmiXcMtsim","title":"MySQL","pathname":"/java/shu-ju-ku-11/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"y6WveiuGBBkYg4LLACiX","title":"MySQL行转列、列转行问题","pathname":"/java/shu-ju-ku-11/mysql/mysql-hang-zhuan-lie-lie-zhuan-hang-wen-ti","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"uQF5UkrGfBh1f0yFcbJj","title":"数据库","pathname":"/java/shu-ju-ku-12","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"U5VGTLL5SwKXAPvQABiH","title":"MySQL","pathname":"/java/shu-ju-ku-12/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"bEUmoNt7qoxGqX8AQu63","title":"一条SQL更新语句是如何执行的？","pathname":"/java/shu-ju-ku-12/mysql/yi-tiao-sql-geng-xin-yu-ju-shi-ru-he-zhi-hang-de","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"fhLiQMKQfyjjJa05Atmb","title":"数据库","pathname":"/java/shu-ju-ku-13","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"x326Fzjnp5ho0BPKeUU6","title":"MySQL","pathname":"/java/shu-ju-ku-13/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"Lsl75y0l4DsaW90UIo8F","title":"一条SQL查询语句是如何执行的？","pathname":"/java/shu-ju-ku-13/mysql/yi-tiao-sql-cha-xun-yu-ju-shi-ru-he-zhi-hang-de","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"hSZkgFYbbF5zJcP3hiSO","title":"数据库","pathname":"/java/shu-ju-ku-14","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"O4gZhIVHtU5k0Nc6xjnK","title":"MySQL","pathname":"/java/shu-ju-ku-14/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"3crckueCxMoIs1XsZT42","title":"为什么 MySQL 使用 B+ 树","pathname":"/java/shu-ju-ku-14/mysql/wei-shi-mo-mysql-shi-yong-b+-shu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"aJxFbTQs7S3tkuOO0VqH","title":"数据库","pathname":"/java/shu-ju-ku-15","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Dujn4q7V6Cj90h4LUrjn","title":"MySQL","pathname":"/java/shu-ju-ku-15/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"pIpN8TM3UJh1TGYuo99v","title":"为什么 MySQL 的自增主键不单调也不连续","pathname":"/java/shu-ju-ku-15/mysql/wei-shi-mo-mysql-de-zi-zeng-zhu-jian-bu-dan-tiao-ye-bu-lian-xu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"5CXVPQk9UkeKJJba3li6","title":"数据库","pathname":"/java/shu-ju-ku-16","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"18oVN5WZ0lZNlBNZfxl9","title":"MySQL","pathname":"/java/shu-ju-ku-16/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"qanGL6xIabK442rgh9TS","title":"为什么我的MySQL会“抖”一下？","pathname":"/java/shu-ju-ku-16/mysql/wei-shi-mo-wo-de-mysql-hui-dou-yi-xia","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"MyzbsRIqYdUzhMO69lmL","title":"数据库","pathname":"/java/shu-ju-ku-17","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"xF4P5l0hQk5cXwVwrae8","title":"MySQL","pathname":"/java/shu-ju-ku-17/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"qAqTI0H0Uwo3rkSPR0sh","title":"为什么数据库不应该使用外键","pathname":"/java/shu-ju-ku-17/mysql/wei-shi-mo-shu-ju-ku-bu-ying-gai-shi-yong-wai-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"kVnP758VYnJhAHUvbOEq","title":"数据库","pathname":"/java/shu-ju-ku-18","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"dgEnmg3KVecZRqCYMG6a","title":"MySQL","pathname":"/java/shu-ju-ku-18/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"jUEqo2AzNWNIUXiVy1KS","title":"为什么数据库会丢失数据","pathname":"/java/shu-ju-ku-18/mysql/wei-shi-mo-shu-ju-ku-hui-diu-shi-shu-ju","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"leQYUWWLalHmanFlLIA2","title":"数据库","pathname":"/java/shu-ju-ku-19","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"321j95He0YaogL2ov02X","title":"MySQL","pathname":"/java/shu-ju-ku-19/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"ruQzU4IJO5O6f1axmgpL","title":"事务的可重复读的能力是怎么实现的？","pathname":"/java/shu-ju-ku-19/mysql/shi-wu-de-ke-zhong-fu-du-de-neng-li-shi-zen-mo-shi-xian-de","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"ZsdUjVqcNIpJlzFfoNMH","title":"数据库","pathname":"/java/shu-ju-ku-20","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"6q21GND8SjL1FmS2iLRB","title":"MySQL","pathname":"/java/shu-ju-ku-20/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"QGB1pmmSnttRYlrpV5EY","title":"大众点评订单系统分库分表实践","pathname":"/java/shu-ju-ku-20/mysql/da-zhong-dian-ping-ding-dan-xi-tong-fen-ku-fen-biao-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"2d9ziqpKG31qP5rZfuzl","title":"数据库","pathname":"/java/shu-ju-ku-21","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"tMj2087w3OXb6BpPDp6H","title":"MySQL","pathname":"/java/shu-ju-ku-21/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"jI5lacS4ohHafd1SxqSA","title":"如何保证缓存与数据库双写时的数据一致性？","pathname":"/java/shu-ju-ku-21/mysql/ru-he-bao-zheng-huan-cun-yu-shu-ju-ku-shuang-xie-shi-de-shu-ju-yi-zhi-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"UUbdOODLgxOU8NyCP4de","title":"数据库","pathname":"/java/shu-ju-ku-22","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"SoyB1qOj6OCWELqLWDGQ","title":"MySQL","pathname":"/java/shu-ju-ku-22/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"EJ1F1aZ2DmVihcgy0KLq","title":"浅谈数据库并发控制 - 锁和 MVCC","pathname":"/java/shu-ju-ku-22/mysql/qian-tan-shu-ju-ku-bing-fa-kong-zhi-suo-he-mvcc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"rZtaKrwooxxfhOMEZqlO","title":"数据库","pathname":"/java/shu-ju-ku-23","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"5DrfbpM7ScxRHYvqXYoW","title":"MySQL","pathname":"/java/shu-ju-ku-23/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"Mg2owSIFgQPS6sHx3b1F","title":"深入浅出MySQL 中事务的实现","pathname":"/java/shu-ju-ku-23/mysql/shen-ru-qian-chu-mysql-zhong-shi-wu-de-shi-xian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"tVbpY8KiKMN5RQTicFjt","title":"数据库","pathname":"/java/shu-ju-ku-24","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"rykayluyAOiUvEPAUYZK","title":"MySQL","pathname":"/java/shu-ju-ku-24/mysql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"7WeU9HY8Tt8h8syh7Nzk","title":"浅入浅出MySQL 和 InnoDB","pathname":"/java/shu-ju-ku-24/mysql/shen-ru-qian-chu-mysql-he-innodb","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"MySQL"}]},{"id":"CxFmsHHC0ON6VyTEe1ht","title":"数据库","pathname":"/java/shu-ju-ku-25","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ZXYFtGdPaVYhpMyMJ956","title":"PostgreSQL","pathname":"/java/shu-ju-ku-25/postgresql","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"e7Kmx28okTdPWSs8IV7c","title":"PostgreSQL upsert功能(insert on conflict do)的用法","pathname":"/java/shu-ju-ku-25/postgresql/postgresql-upsert-gong-neng-insert-on-conflict-do-de-yong-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"PostgreSQL"}]},{"id":"SQupzn6oHQIzPrLE98vT","title":"数据库","pathname":"/java/shu-ju-ku-26","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"x3Ek3Xgbl5URMGUkfRzU","title":"Redis","pathname":"/java/shu-ju-ku-26/redis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"bNINI9702tDQ95whnchG","title":"Redis GEO & 实现原理深度分析","pathname":"/java/shu-ju-ku-26/redis/redis-geo-shi-xian-yuan-li-shen-du-fen-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"zKqpwblvBEQfgkbQVvIm","title":"数据库","pathname":"/java/shu-ju-ku-27","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"TmXVtTqipwsmkxLkZER9","title":"Redis","pathname":"/java/shu-ju-ku-27/redis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"8x8urNI3Ah8qC1Gz8ldh","title":"Redis 和 I/O 多路复用","pathname":"/java/shu-ju-ku-27/redis/redis-he-io-duo-lu-fu-yong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"Dlmz9S7hPIYODozHzkdK","title":"数据库","pathname":"/java/shu-ju-ku-28","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"7BySvyv1xAM1JIbCQ3zR","title":"Redis","pathname":"/java/shu-ju-ku-28/redis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"GEjTnlqi6DMcyREKq4Dd","title":"Redis分布式锁","pathname":"/java/shu-ju-ku-28/redis/redis-fen-bu-shi-suo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"loUMWr0u1WgqfyhAstXZ","title":"数据库","pathname":"/java/shu-ju-ku-29","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"MbEj9alfYwhnmPiSiSle","title":"Redis","pathname":"/java/shu-ju-ku-29/redis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"P9YKRLptKFVbGE0kKxPf","title":"Redis实现分布式锁中的“坑”","pathname":"/java/shu-ju-ku-29/redis/redis-shi-xian-fen-bu-shi-suo-zhong-de-keng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"RBmhIr6erqRxEKfbG4rl","title":"数据库","pathname":"/java/shu-ju-ku-30","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ftdfAvET0G4TlIDc5ZcY","title":"Redis","pathname":"/java/shu-ju-ku-30/redis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"vx5Zztwjf49VhNpGV1NC","title":"Redis总结","pathname":"/java/shu-ju-ku-30/redis/redis-zong-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"tbSmSUWaBxS1EliJt5Wj","title":"数据库","pathname":"/java/shu-ju-ku-31","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"vcJ5f1kFFjlx7e80rKa3","title":"Redis","pathname":"/java/shu-ju-ku-31/redis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"Sqi8hxx11OzhNTTDac4u","title":"史上最全Redis高可用技术解决方案大全","pathname":"/java/shu-ju-ku-31/redis/redis-gao-ke-yong-ji-shu-jie-jue-fang-an","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"lZrmvCEdIUCDsuJqBdjT","title":"数据库","pathname":"/java/shu-ju-ku-32","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"SJvWiqXrXx9IXDdX3TdI","title":"Redis","pathname":"/java/shu-ju-ku-32/redis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"6pK4ufF2Y1nHmEVHXgUy","title":"Redlock：Redis分布式锁最牛逼的实现","pathname":"/java/shu-ju-ku-32/redis/redlockredis-fen-bu-shi-suo-zui-niu-bi-de-shi-xian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"VrQsEdjySgWHcQ2CvcQK","title":"数据库","pathname":"/java/shu-ju-ku-33","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"eWfjrJgPCfMDoUsvtNkk","title":"Redis","pathname":"/java/shu-ju-ku-33/redis","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"qO3XfyiWZ7ailAwKq2mL","title":"为什么 Redis 选择单线程模型","pathname":"/java/shu-ju-ku-33/redis/wei-shi-mo-redis-xuan-ze-dan-xian-cheng-mo-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Redis"}]},{"id":"RAkss9pn6QERUigsMDY0","title":"数据库","pathname":"/java/shu-ju-ku-34","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"aNcxpM748FmiFibxk9yw","title":"TiDB","pathname":"/java/shu-ju-ku-34/tidb","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"4bvx1s18f0NKrF5L1bKj","title":"新一代数据库TiDB在美团的实践","pathname":"/java/shu-ju-ku-34/tidb/xin-yi-dai-shu-ju-ku-tidb-zai-mei-tuan-de-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"TiDB"}]},{"id":"0dxXGDgYwgru3lLdJqsO","title":"数据库","pathname":"/java/shu-ju-ku-35","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"th22onhbJSwVd1Bg5Vzs","title":"数据仓库","pathname":"/java/shu-ju-ku-35/shu-ju-cang-ku","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"oTYoLV1JfWR9GkWggmf5","title":"实时数仓在有赞的实践","pathname":"/java/shu-ju-ku-35/shu-ju-cang-ku/shi-shi-shu-cang-zai-you-zan-de-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"数据仓库"}]},{"id":"4eKB5XFZW2AIPIXNlP3J","title":"数据库","pathname":"/java/shu-ju-ku-36","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"H9HpsDulOVg7qtG2ovEA","title":"数据库原理","pathname":"/java/shu-ju-ku-36/shu-ju-ku-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"5y424kd8YKxPtcKD3dgh","title":"OLTP与OLAP的关系是什么？","pathname":"/java/shu-ju-ku-36/shu-ju-ku-yuan-li/oltp-yu-olap-de-guan-xi-shi-shi-mo","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"数据库原理"}]},{"id":"uPplnMT20fbvD2oKjjWm","title":"数据库","pathname":"/java/shu-ju-ku-37","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ydqO2zvrKhTbNsTMOGHe","title":"数据库原理","pathname":"/java/shu-ju-ku-37/shu-ju-ku-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"rsgE05I8GxXdJDcLtJH2","title":"为什么 OLAP 需要列式存储","pathname":"/java/shu-ju-ku-37/shu-ju-ku-yuan-li/wei-shi-mo-olap-xu-yao-lie-shi-cun-chu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"数据库原理"}]},{"id":"rKqYVC0klANpM9sPRCKf","title":"系统设计","pathname":"/java/xi-tong-she-ji","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"17yVCDNwQ8OJWOdRStBr","title":"DDD","pathname":"/java/xi-tong-she-ji/ddd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"N9VoyRBg9BvbeVgnCb38","title":"Domain Primitive","pathname":"/java/xi-tong-she-ji/ddd/ddd-di-yi-jiang-domain-primitive","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"DDD"}]},{"id":"ltRM9vwPsht8uI72djQI","title":"系统设计","pathname":"/java/xi-tong-she-ji-1","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"U76uu87TK4UAxRNno95Q","title":"DDD","pathname":"/java/xi-tong-she-ji-1/ddd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"1py29v2TKpFjVO1bWEMj","title":"Repository模式","pathname":"/java/xi-tong-she-ji-1/ddd/ddd-di-san-jiang-repository-mo-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"DDD"}]},{"id":"ofIrj0q8k1SZhFEsqQMq","title":"系统设计","pathname":"/java/xi-tong-she-ji-2","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"5WEtC7HFbWJDCmFk6P0F","title":"DDD","pathname":"/java/xi-tong-she-ji-2/ddd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"olc9h2YucvhCWWNofdah","title":"应用架构","pathname":"/java/xi-tong-she-ji-2/ddd/ddd-di-er-jiang-ying-yong-jia-gou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"DDD"}]},{"id":"wYNAl3OmGBHrMrxpYl1j","title":"系统设计","pathname":"/java/xi-tong-she-ji-3","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"SbVos89mV9plPzAL3iGL","title":"DDD","pathname":"/java/xi-tong-she-ji-3/ddd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"jTAmzOskXaR5Qpy7OPv8","title":"聊聊如何避免写流水账代码","pathname":"/java/xi-tong-she-ji-3/ddd/ddd-di-wu-jiang-liao-liao-ru-he-bi-mian-xie-liu-shui-zhang-dai-ma","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"DDD"}]},{"id":"M35Z8JlfoLsTWBTn5TPy","title":"系统设计","pathname":"/java/xi-tong-she-ji-4","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"KplCvByRka5cwegkSryh","title":"DDD","pathname":"/java/xi-tong-she-ji-4/ddd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"rDI6wjswfvjbFvsKhaYQ","title":"领域层设计规范","pathname":"/java/xi-tong-she-ji-4/ddd/ddd-di-si-jiang-ling-yu-ceng-she-ji-gui-fan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"DDD"}]},{"id":"rmSe7SXR0L8vfFPjglyo","title":"系统设计","pathname":"/java/xi-tong-she-ji-5","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"LjfXDpvaWvk57yH7qaiG","title":"DDD","pathname":"/java/xi-tong-she-ji-5/ddd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"NL5uaV1NpjoC4YlMNwEC","title":"从三明治到六边形","pathname":"/java/xi-tong-she-ji-5/ddd/cong-san-ming-zhi-dao-liu-bian-xing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"DDD"}]},{"id":"OET3klnOUr7GMx2Omfxm","title":"系统设计","pathname":"/java/xi-tong-she-ji-6","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"xfhvuF1ZTwmN88gyelRI","title":"DDD","pathname":"/java/xi-tong-she-ji-6/ddd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"VeO3j9whhwyrDPNwRVvb","title":"阿里盒马领域驱动设计实践","pathname":"/java/xi-tong-she-ji-6/ddd/a-li-he-ma-ling-yu-qu-dong-she-ji-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"DDD"}]},{"id":"EMMTXVeEsfh7m4YSVmd2","title":"系统设计","pathname":"/java/xi-tong-she-ji-7","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"KD5hUHomBaEm1LHgVRXo","title":"DDD","pathname":"/java/xi-tong-she-ji-7/ddd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"SPeEWCnKre6ApAtZDcn8","title":"领域驱动设计(DDD)编码实践","pathname":"/java/xi-tong-she-ji-7/ddd/ling-yu-qu-dong-she-ji-ddd-bian-ma-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"DDD"}]},{"id":"IxIID4CYJbnOAlp6ndL3","title":"系统设计","pathname":"/java/xi-tong-she-ji-8","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ArJwXeuemx67CgMgNtpS","title":"DDD","pathname":"/java/xi-tong-she-ji-8/ddd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"U69oTfZ95n4a1lofJJs1","title":"领域驱动设计在互联网业务开发中的实践","pathname":"/java/xi-tong-she-ji-8/ddd/ling-yu-qu-dong-she-ji-zai-hu-lian-wang-ye-wu-kai-fa-zhong-de-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"DDD"}]},{"id":"aAWG2Kuei21lnMftMhnW","title":"系统设计","pathname":"/java/xi-tong-she-ji-9","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"rOcIUpxq6KJUpCdbfNks","title":"基础架构","pathname":"/java/xi-tong-she-ji-9/ji-chu-jia-gou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"H0qg4Y4GpGgZK7vpCztM","title":"容错，高可用和灾备","pathname":"/java/xi-tong-she-ji-9/ji-chu-jia-gou/rong-cuo-gao-ke-yong-he-zai-bei","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"基础架构"}]},{"id":"b17KKlze6BQjixWrVZsb","title":"系统设计","pathname":"/java/xi-tong-she-ji-10","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"HV8UVfZwGDJ9P381fW5H","title":"数据聚合","pathname":"/java/xi-tong-she-ji-10/shu-ju-ju-he","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"wfUN2M3yOy2Wgl9eJUOU","title":"GraphQL及元数据驱动架构在后端BFF中的实践","pathname":"/java/xi-tong-she-ji-10/shu-ju-ju-he/graphql-ji-yuan-shu-ju-qu-dong-jia-gou-zai-hou-duan-bff-zhong-de-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"数据聚合"}]},{"id":"olW8sLgU7xNewwYvEAqj","title":"系统设计","pathname":"/java/xi-tong-she-ji-11","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"eT1yvzB5Ytd9kuo1dYde","title":"数据聚合","pathname":"/java/xi-tong-she-ji-11/shu-ju-ju-he","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"yUY1bE4OfimMkMZ5yQxS","title":"高效研发-闲鱼在数据聚合上的探索与实践","pathname":"/java/xi-tong-she-ji-11/shu-ju-ju-he/gao-xiao-yan-fa-xian-yu-zai-shu-ju-ju-he-shang-de-tan-suo-yu-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"数据聚合"}]},{"id":"RrTRrM43MRECi5tnDHJi","title":"系统设计","pathname":"/java/xi-tong-she-ji-12","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"py2n3iv0qUvvWDguN6wg","title":"服务安全","pathname":"/java/xi-tong-she-ji-12/fu-wu-an-quan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"OiGRZL2fTQYxaB2dDPYi","title":"JSON Web Token 入门教程","pathname":"/java/xi-tong-she-ji-12/fu-wu-an-quan/json-web-token-ru-men-jiao-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"服务安全"}]},{"id":"SdyhPPEffhvq64K8VqsD","title":"系统设计","pathname":"/java/xi-tong-she-ji-13","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ERiDviz7eHPibCtnmpWF","title":"服务安全","pathname":"/java/xi-tong-she-ji-13/fu-wu-an-quan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"tmtEbcxk1z13XfLS86k9","title":"你还在用JWT做身份认证嘛？","pathname":"/java/xi-tong-she-ji-13/fu-wu-an-quan/ni-huan-zai-yong-jwt-zuo-shen-fen-ren-zheng-ma","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"服务安全"}]},{"id":"6Fjd8oSOYC2wq5fGI8wu","title":"系统设计","pathname":"/java/xi-tong-she-ji-14","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"TNbcFc1eq5NZOHgZGEaf","title":"服务安全","pathname":"/java/xi-tong-she-ji-14/fu-wu-an-quan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"Sa3V2itkLlYs3nQr2JFp","title":"凭证(Credentials)","pathname":"/java/xi-tong-she-ji-14/fu-wu-an-quan/ping-zheng-credentials","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"服务安全"}]},{"id":"K5MsDwnRpSDTcdc9PBE7","title":"系统设计","pathname":"/java/xi-tong-she-ji-15","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"h3P4sQ7g5tq6k6FdK6jB","title":"服务安全","pathname":"/java/xi-tong-she-ji-15/fu-wu-an-quan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"jdkama4Foi5XQoRufHPA","title":"授权(Authorization)","pathname":"/java/xi-tong-she-ji-15/fu-wu-an-quan/shou-quan-authorization","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"服务安全"}]},{"id":"cM4sPDZQA7W9hCUjnmIg","title":"系统设计","pathname":"/java/xi-tong-she-ji-16","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"CyCjpR5SrsLYY2v7FWoW","title":"服务安全","pathname":"/java/xi-tong-she-ji-16/fu-wu-an-quan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"edxZNwuUMvQdzQsLvKr7","title":"理解OAuth2.0","pathname":"/java/xi-tong-she-ji-16/fu-wu-an-quan/li-jie-oauth2.0","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"服务安全"}]},{"id":"w6UuCCFk3tFi3a2lW7BA","title":"系统设计","pathname":"/java/xi-tong-she-ji-17","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"rd76t01Mpms0KMDHI2Ua","title":"服务安全","pathname":"/java/xi-tong-she-ji-17/fu-wu-an-quan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"F3HwhEXvCDxxgOlanDWz","title":"认证（Authentication）","pathname":"/java/xi-tong-she-ji-17/fu-wu-an-quan/ren-zheng-authentication","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"服务安全"}]},{"id":"rgEeibml5kxwBBYgvbO6","title":"系统设计","pathname":"/java/xi-tong-she-ji-18","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"cWpjmkMQ7h6Wvv0I4pG8","title":"架构案例","pathname":"/java/xi-tong-she-ji-18/jia-gou-an-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"KHTkwnFrt1QSDtVdqnIj","title":"微信 Android 客户端架构演进之路","pathname":"/java/xi-tong-she-ji-18/jia-gou-an-li/wei-xin-android-ke-hu-duan-jia-gou-yan-jin-zhi-lu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"架构案例"}]},{"id":"pjbsxu26fmopldKG2P8f","title":"系统设计","pathname":"/java/xi-tong-she-ji-19","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"MQ5ez6LvabSU49RlV0B9","title":"高可用架构","pathname":"/java/xi-tong-she-ji-19/gao-ke-yong-jia-gou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"XKnNjBBDC4P1K2XfCzM2","title":"业务高可用的保障：异地多活架构","pathname":"/java/xi-tong-she-ji-19/gao-ke-yong-jia-gou/ye-wu-gao-ke-yong-de-bao-zhang-yi-di-duo-huo-jia-gou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"高可用架构"}]},{"id":"XMkd3di4RG6fqFv8485j","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"wtzO1gchsMINVh2p4lnX","title":"字符编码","pathname":"/java/ji-suan-ji-ji-chu/zi-fu-bian-ma","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"mhDFeSz2C1KYqowyXuZT","title":"Base64原理解析","pathname":"/java/ji-suan-ji-ji-chu/zi-fu-bian-ma/base64-yuan-li-jie-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"字符编码"}]},{"id":"OLXSyfVLrudvejZtps1B","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-1","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"WTL3vEUrmuIXTQyq5025","title":"字符编码","pathname":"/java/ji-suan-ji-ji-chu-1/zi-fu-bian-ma","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"lQOuRTX6luCHTUj2AfDT","title":"字符编码笔记：ASCII，Unicode 和 UTF-8","pathname":"/java/ji-suan-ji-ji-chu-1/zi-fu-bian-ma/zi-fu-bian-ma-bi-ji-asciiunicode-he-utf8","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"字符编码"}]},{"id":"MNPzAo7FpwM1xvhRTZ1E","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-2","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"r9Dz6MCQ8hDnITAq6bIl","title":"操作系统","pathname":"/java/ji-suan-ji-ji-chu-2/cao-zuo-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"t86kDCmagVZ5lMFV8Skx","title":"为什么 CPU 访问硬盘很慢","pathname":"/java/ji-suan-ji-ji-chu-2/cao-zuo-xi-tong/wei-shi-mo-cpu-fang-wen-ying-pan-hen-man","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"操作系统"}]},{"id":"hIit7T3O2gyyr6ECEETK","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-3","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"5BQS77Z8fOLmTtsFUGJn","title":"操作系统","pathname":"/java/ji-suan-ji-ji-chu-3/cao-zuo-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"2EVUtI8fpGvu8xy9976Q","title":"为什么 HTTPS 需要 7 次握手以及 9 倍时延","pathname":"/java/ji-suan-ji-ji-chu-3/cao-zuo-xi-tong/wei-shi-mo-https-xu-yao-7-ci-wo-shou-yi-ji-9-bei-shi-yan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"操作系统"}]},{"id":"HLxA4H5JPK8cNFo9EE9W","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-4","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"5xzWu0CX7A1RUG8llNE3","title":"操作系统","pathname":"/java/ji-suan-ji-ji-chu-4/cao-zuo-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"B2yJJmUsaCsTGt1n9F2u","title":"为什么 Linux 默认页大小是 4KB","pathname":"/java/ji-suan-ji-ji-chu-4/cao-zuo-xi-tong/wei-shi-mo-linux-mo-ren-ye-da-xiao-shi-4kb","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"操作系统"}]},{"id":"aRGCX3LE2TiNt8PYaYO5","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-5","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"DFARb3gOjspz6SDi84wD","title":"操作系统","pathname":"/java/ji-suan-ji-ji-chu-5/cao-zuo-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"LEyvXzXSoNZyUqjJpcGQ","title":"磁盘IO那些事","pathname":"/java/ji-suan-ji-ji-chu-5/cao-zuo-xi-tong/ci-pan-io-na-xie-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"操作系统"}]},{"id":"7uIwfZu45FYzpT7KHcBI","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-6","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"4YbKth6pg85zIyYCJXFE","title":"操作系统","pathname":"/java/ji-suan-ji-ji-chu-6/cao-zuo-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"em1IYkx8NZbfJ8PF2n5I","title":"虚拟机的3种网络模式","pathname":"/java/ji-suan-ji-ji-chu-6/cao-zuo-xi-tong/xu-ni-ji-de-3-zhong-wang-luo-mo-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"操作系统"}]},{"id":"bdU2jJjP3SoR66Q0J2ZM","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-7","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"WB3mz8oiqULZUNEkGqHV","title":"服务器","pathname":"/java/ji-suan-ji-ji-chu-7/fu-wu-qi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"v2UTOeH0Y5qvYWnPVsj8","title":"mac终端bash、zsh、oh-my-zsh最实用教程","pathname":"/java/ji-suan-ji-ji-chu-7/fu-wu-qi/mac-zhong-duan-bashzshohmyzsh-zui-shi-yong-jiao-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"服务器"}]},{"id":"2gzlXYD3BLCF5i4ZnGu0","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-8","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"4QZQ7QJ9x4xg8ESyM0vv","title":"服务器","pathname":"/java/ji-suan-ji-ji-chu-8/fu-wu-qi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"4whpQ4XKCsHoHTU46Dyi","title":"Nginx强制跳转Https","pathname":"/java/ji-suan-ji-ji-chu-8/fu-wu-qi/nginx-qiang-zhi-tiao-zhuan-https","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"服务器"}]},{"id":"3jGZuV65Nkkvn3F6NWso","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-9","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"f4V66ZWxKh45mrWfmRUb","title":"服务器","pathname":"/java/ji-suan-ji-ji-chu-9/fu-wu-qi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"4Bllvz2wslQIZvOGc7Qg","title":"curl 的用法指南","pathname":"/java/ji-suan-ji-ji-chu-9/fu-wu-qi/curl-de-yong-fa-zhi-nan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"服务器"}]},{"id":"QWgrhoTXJYnSpt2Kwier","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-10","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"87Jxprx20eFXHF4VCBWE","title":"网络安全","pathname":"/java/ji-suan-ji-ji-chu-10/wang-luo-an-quan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"Xx4TljNbnCuTMsJcjSvY","title":"如何设计一个安全的对外接口？","pathname":"/java/ji-suan-ji-ji-chu-10/wang-luo-an-quan/ru-he-she-ji-yi-ge-an-quan-de-dui-wai-jie-kou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"网络安全"}]},{"id":"qpZDjwGhtXx9O2J5aGmO","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-11","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"MJHofIIV58ZNEozrXfMw","title":"网络安全","pathname":"/java/ji-suan-ji-ji-chu-11/wang-luo-an-quan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"IgV8lR1wLPFvQAlM5tIz","title":"浅谈常见的七种加密算法及实现","pathname":"/java/ji-suan-ji-ji-chu-11/wang-luo-an-quan/qian-tan-chang-jian-de-qi-zhong-jia-mi-suan-fa-ji-shi-xian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"网络安全"}]},{"id":"zph9wssiUCeFEsr2J1eQ","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-12","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"gFB2P6lzpbmXq6x5WVQF","title":"网络编程","pathname":"/java/ji-suan-ji-ji-chu-12/wang-luo-bian-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"idRdf3zGuUTZVS2PuQ67","title":"MQTT - The Standard for IoT Messaging","pathname":"/java/ji-suan-ji-ji-chu-12/wang-luo-bian-cheng/mqtt-the-standard-for-iot-messaging","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"网络编程"}]},{"id":"vU4H3p2V6IwzOAlauQuC","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-13","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"JlMKwqnQZ7v74OJTiuUp","title":"网络编程","pathname":"/java/ji-suan-ji-ji-chu-13/wang-luo-bian-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"d8AGScHFSSZqoxrf7lBB","title":"两万字长文 50+ 张趣图带你领悟网络编程的内功心法","pathname":"/java/ji-suan-ji-ji-chu-13/wang-luo-bian-cheng/liang-wan-zi-chang-wen-50+-zhang-qu-tu-dai-ni-ling-wu-wang-luo-bian-cheng-de-nei-gong-xin-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"网络编程"}]},{"id":"A3AItqHGf9Scr6fnQny9","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-14","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"12Mrx99iatNjUT99cKhH","title":"网络编程","pathname":"/java/ji-suan-ji-ji-chu-14/wang-luo-bian-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"GKaoTt3du2Ow3VRvcHOm","title":"为什么 TCP 协议有 TIME_WAIT 状态","pathname":"/java/ji-suan-ji-ji-chu-14/wang-luo-bian-cheng/wei-shi-mo-tcp-xie-yi-you-timewait-zhuang-tai","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"网络编程"}]},{"id":"Fxs2d1iQuoXstBPeKWb9","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-15","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"oRO0CPXXaacvK1DJMrMW","title":"网络编程","pathname":"/java/ji-suan-ji-ji-chu-15/wang-luo-bian-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"jr4NBdPYKIiNwZ06DG6D","title":"为什么 TCP 协议有性能问题","pathname":"/java/ji-suan-ji-ji-chu-15/wang-luo-bian-cheng/wei-shi-mo-tcp-xie-yi-you-xing-neng-wen-ti","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"网络编程"}]},{"id":"pnoGMaLfzHdrRzL3Xat8","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-16","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"DKFTkQTlSTIUHRrr3P0X","title":"网络编程","pathname":"/java/ji-suan-ji-ji-chu-16/wang-luo-bian-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"WHAqaEIiMyH5sDZLYaMm","title":"为什么 TCP 协议有粘包问题","pathname":"/java/ji-suan-ji-ji-chu-16/wang-luo-bian-cheng/wei-shi-mo-tcp-xie-yi-you-nian-bao-wen-ti","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"网络编程"}]},{"id":"AuNLM22ezyjwQa2zETL3","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-17","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"DJDxm3XaGQsHOEsZKS0T","title":"网络编程","pathname":"/java/ji-suan-ji-ji-chu-17/wang-luo-bian-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"6eGAc5Nh63xb0rglsMxN","title":"为什么 TCP 建立连接需要三次握手","pathname":"/java/ji-suan-ji-ji-chu-17/wang-luo-bian-cheng/wei-shi-mo-tcp-jian-li-lian-jie-xu-yao-san-ci-wo-shou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"网络编程"}]},{"id":"dAXYNmSyMYOCV2ANTbRj","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-18","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"olsA5cfCavuDsHiaz30m","title":"网络编程","pathname":"/java/ji-suan-ji-ji-chu-18/wang-luo-bian-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"49TlAo5qVOt3X4eWo5cT","title":"为什么 TCP/IP 协议会拆分数据","pathname":"/java/ji-suan-ji-ji-chu-18/wang-luo-bian-cheng/wei-shi-mo-tcpip-xie-yi-hui-chai-fen-shu-ju","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"网络编程"}]},{"id":"PlzjXVixBxGKCBgMD2mj","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-19","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"XmtCF4nxBQBV6CnYlle3","title":"网络编程","pathname":"/java/ji-suan-ji-ji-chu-19/wang-luo-bian-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"qTxgLwSQBywrYKN6rdJp","title":"使用 OAuth 2 和 JWT 为微服务提供安全保障","pathname":"/java/ji-suan-ji-ji-chu-19/wang-luo-bian-cheng/shi-yong-oauth-2-he-jwt-wei-wei-fu-wu-ti-gong-an-quan-bao-zhang","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"网络编程"}]},{"id":"w2POK5vyM3u8d1qTIwPz","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-20","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"zgFhIOUeDnMKooJpXKWW","title":"网络编程","pathname":"/java/ji-suan-ji-ji-chu-20/wang-luo-bian-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"iOlu3eHteUD3KhjeEMhi","title":"四种常见的 POST 提交数据方式","pathname":"/java/ji-suan-ji-ji-chu-20/wang-luo-bian-cheng/si-zhong-chang-jian-de-post-ti-jiao-shu-ju-fang-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"网络编程"}]},{"id":"zu4063aBrnfLrpGPtWBi","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-21","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Wqg3nJcvGDVHosQkmyh2","title":"网络编程","pathname":"/java/ji-suan-ji-ji-chu-21/wang-luo-bian-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"VIyXeFbXESwHO8yWq4GY","title":"有赞TCP网络编程最佳实践","pathname":"/java/ji-suan-ji-ji-chu-21/wang-luo-bian-cheng/you-zan-tcp-wang-luo-bian-cheng-zui-jia-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"网络编程"}]},{"id":"LRUkf7BDTzCHYxMelFE2","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-22","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"b19AU60Usfot0d86gCXp","title":"网络编程","pathname":"/java/ji-suan-ji-ji-chu-22/wang-luo-bian-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"GtSnXKfdDEhAcfMjFE1A","title":"看完这篇HTTP，跟面试官扯皮就没问题了","pathname":"/java/ji-suan-ji-ji-chu-22/wang-luo-bian-cheng/kan-wan-zhe-pian-http-gen-mian-shi-guan-che-pi-jiu-mei-wen-ti-le","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"网络编程"}]},{"id":"vGrQGMc4e9wL40SPvMJj","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-23","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Pu4Yu8j3ShgPK79sEqMF","title":"网络编程","pathname":"/java/ji-suan-ji-ji-chu-23/wang-luo-bian-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"taBL70kXPDGgm3q8kAHh","title":"详细解析 HTTP 与 HTTPS 的区别","pathname":"/java/ji-suan-ji-ji-chu-23/wang-luo-bian-cheng/xiang-xi-jie-xi-http-yu-https-de-qu-bie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"网络编程"}]},{"id":"TfRbwvieKdIRioKyhOj0","title":"质量&效率","pathname":"/java/zhi-liang-xiao-shuai-2","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"UoCfeKM81fw0OSYaYkgu","title":"快捷键","pathname":"/java/zhi-liang-xiao-shuai-2/kuai-jie-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"}]},{"id":"2IJf7LJbx4YZIOKy24aC","title":"Idea快捷键（Mac版）","pathname":"/java/zhi-liang-xiao-shuai-2/kuai-jie-jian/idea-kuai-jie-jian-mac-ban","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"},{"label":"快捷键"}]},{"id":"q95wuwxxZQz1oBYN9LAZ","title":"质量&效率","pathname":"/java/zhi-liang-xiao-shuai-3","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"M0H3dq3n5CSMK24Ay0Xg","title":"快捷键","pathname":"/java/zhi-liang-xiao-shuai-3/kuai-jie-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"}]},{"id":"Wwgnwi4kbhcU4AzB8WcK","title":"Shell快捷键","pathname":"/java/zhi-liang-xiao-shuai-3/kuai-jie-jian/shell-kuai-jie-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"},{"label":"快捷键"}]},{"id":"VqbnLePj2OvqoVqhMzm7","title":"质量&效率","pathname":"/java/zhi-liang-xiao-shuai-4","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"RGZ3jnnjBqosXRIVag9V","title":"快捷键","pathname":"/java/zhi-liang-xiao-shuai-4/kuai-jie-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"}]},{"id":"OY650CivWnmPkc79ulC6","title":"conduit","pathname":"/java/zhi-liang-xiao-shuai-4/kuai-jie-jian/vim-kuai-jie-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"},{"label":"快捷键"}]},{"id":"1sZWSwlwoEXrmNaXUNz5","title":"质量&效率","pathname":"/java/zhi-liang-xiao-shuai-5","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ncBbli03LbFYQ0AN1rbB","title":"敏捷开发","pathname":"/java/zhi-liang-xiao-shuai-5/min-jie-kai-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"}]},{"id":"iL9rL2zshwpOPDbDdjSL","title":"Scrum的3种角色","pathname":"/java/zhi-liang-xiao-shuai-5/min-jie-kai-fa/scrum-de-3-zhong-jiao-se","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"},{"label":"敏捷开发"}]},{"id":"en1JkbQbLwGr1wYo62NT","title":"质量&效率","pathname":"/java/zhi-liang-xiao-shuai-6","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"EKIVJWHPrRBTmpSrcwIT","title":"敏捷开发","pathname":"/java/zhi-liang-xiao-shuai-6/min-jie-kai-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"}]},{"id":"Erwl9A85Wp94AaYrv27a","title":"Scrum的4种会议","pathname":"/java/zhi-liang-xiao-shuai-6/min-jie-kai-fa/scrum-de-4-zhong-hui-yi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"},{"label":"敏捷开发"}]},{"id":"Wd30yAPYFhjr6vCG3P9o","title":"质量&效率","pathname":"/java/zhi-liang-xiao-shuai-7","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"V7x6BdNDzSCiLs2Tfirw","title":"敏捷开发","pathname":"/java/zhi-liang-xiao-shuai-7/min-jie-kai-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"}]},{"id":"kDYKDZuzz306dYV6qzea","title":"ThoughtWorks的敏捷开发","pathname":"/java/zhi-liang-xiao-shuai-7/min-jie-kai-fa/thoughtworks-de-min-jie-kai-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"},{"label":"敏捷开发"}]},{"id":"Oe1OoiuAfdLjRwJhejDz","title":"质量&效率","pathname":"/java/zhi-liang-xiao-shuai-8","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"1Lt0ohM9ucqkD9kEK226","title":"敏捷开发","pathname":"/java/zhi-liang-xiao-shuai-8/min-jie-kai-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"}]},{"id":"g50uypho5TmWpLSvuOl1","title":"敏捷开发入门教程","pathname":"/java/zhi-liang-xiao-shuai-8/min-jie-kai-fa/min-jie-kai-fa-ru-men-jiao-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"质量&效率"},{"label":"敏捷开发"}]},{"id":"IpBdUrAHo8JgcLr3pgF4","title":"运维&测试","pathname":"/java/yun-wei-ce-shi","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"AjHWZ9LbPODGOw1jWQDj","title":"Docker","pathname":"/java/yun-wei-ce-shi/docker","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"W8URYnvHF4RXpEEvLmBh","title":"Docker (容器) 的原理","pathname":"/java/yun-wei-ce-shi/docker/docker-rong-qi-de-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"Docker"}]},{"id":"OH6QQ4bxDAcdOOy3LomK","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-1","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"eBrDp9RWF2Tww9lEfwq8","title":"Docker","pathname":"/java/yun-wei-ce-shi-1/docker","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"h46Q6lvBz7w8WLHD1Njs","title":"Docker Compose：链接外部容器的几种方式","pathname":"/java/yun-wei-ce-shi-1/docker/docker-compose-lian-jie-wai-bu-rong-qi-de-ji-zhong-fang-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"Docker"}]},{"id":"yRvu4HosUGrwTQtPORwv","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-2","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"OZMfhYeDK7VquguhgrBD","title":"Docker","pathname":"/java/yun-wei-ce-shi-2/docker","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"GuXzwxQxMzF1q7NNoOBJ","title":"Docker 入门教程","pathname":"/java/yun-wei-ce-shi-2/docker/docker-ru-men-jiao-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"Docker"}]},{"id":"k6boYk4zVZ0xqH4RQHlW","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-3","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"eI1vgb7dbPlxLslG8Tzn","title":"Docker","pathname":"/java/yun-wei-ce-shi-3/docker","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"ADhDswgxTmba7gElKMBO","title":"Docker 核心技术与实现原理","pathname":"/java/yun-wei-ce-shi-3/docker/docker-he-xin-ji-shu-yu-shi-xian-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"Docker"}]},{"id":"mdaB9Yrjdte8vswS0b3G","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-4","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"AYvC3wB0Lij2jWsYmFo1","title":"Docker","pathname":"/java/yun-wei-ce-shi-4/docker","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"D7cnPmTMPDREUcUrX6Ly","title":"Dockerfile 最佳实践","pathname":"/java/yun-wei-ce-shi-4/docker/dockerfile-zui-jia-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"Docker"}]},{"id":"CuzG09plMLODXwsdg1on","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-5","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"7pT76TnSc9PBxiJEppK4","title":"Docker","pathname":"/java/yun-wei-ce-shi-5/docker","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"a3LCzy8nurWW1pSZbRcS","title":"Docker开启Remote API 访问 2375端口","pathname":"/java/yun-wei-ce-shi-5/docker/docker-kai-qi-remote-api-fang-wen-2375-duan-kou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"Docker"}]},{"id":"X4JkZaI2tVneHgeVHAGv","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-6","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"TRvDKDbT3q4drM3bjUjJ","title":"Docker","pathname":"/java/yun-wei-ce-shi-6/docker","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"bL8EZokaFCfsABqS7jiu","title":"Watchtower - 自动更新 Docker 镜像与容器","pathname":"/java/yun-wei-ce-shi-6/docker/watchtower-zi-dong-geng-xin-docker-jing-xiang-yu-rong-qi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"Docker"}]},{"id":"MU8x819507DbThE8r4YS","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-7","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"DWchdV62L1HdxY6Z97BV","title":"Kubernetes","pathname":"/java/yun-wei-ce-shi-7/kubernetes","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"LAQWStGcLbUhVaNZSK1h","title":"Kubernetes 介绍","pathname":"/java/yun-wei-ce-shi-7/kubernetes/kubernetes-jie-shao","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"Kubernetes"}]},{"id":"LNNuAAcQiAmOMSV5OVQQ","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-8","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ecCY1GAHBuIYd7S7Ue0z","title":"Kubernetes","pathname":"/java/yun-wei-ce-shi-8/kubernetes","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"xASxpX0kAmMFNnxa1ia6","title":"Kubernetes 在有赞的实践","pathname":"/java/yun-wei-ce-shi-8/kubernetes/kubernetes-zai-you-zan-de-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"Kubernetes"}]},{"id":"HPXcBDYW09oi4SChdIga","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-9","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"aNI2Z85st4pw3CZFU9NO","title":"Kubernetes","pathname":"/java/yun-wei-ce-shi-9/kubernetes","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"Ggo5hVUXD5w7047TLvs2","title":"Kubernetes 学习路径","pathname":"/java/yun-wei-ce-shi-9/kubernetes/kubernetes-xue-xi-lu-jing","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"Kubernetes"}]},{"id":"NSsL9Gan7XPOum0znAQL","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-10","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"hHpNbS4F2CQTbBeIVFmc","title":"Kubernetes","pathname":"/java/yun-wei-ce-shi-10/kubernetes","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"mTrhlMyywX7zlZpBxsrC","title":"Kubernetes如何改变美团的云基础设施？","pathname":"/java/yun-wei-ce-shi-10/kubernetes/kubernetes-ru-he-gai-bian-mei-tuan-de-yun-ji-chu-she-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"Kubernetes"}]},{"id":"iqmVPVWtMHjKoueLw21T","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-11","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"cbhPDqydk2DWHATUgO2u","title":"Kubernetes","pathname":"/java/yun-wei-ce-shi-11/kubernetes","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"LMWvnbr7ek850s49MS4N","title":"Kubernetes的三种外部访问方式：NodePort、LoadBalancer 和 Ingress","pathname":"/java/yun-wei-ce-shi-11/kubernetes/nodeportloadbalancer-he-ingress","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"Kubernetes"}]},{"id":"rzIrKnMaQeoPa3Ukivsc","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-12","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"BV4JRAQTIVrqcPD69RVJ","title":"Kubernetes","pathname":"/java/yun-wei-ce-shi-12/kubernetes","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"k8We2HjFw6sS6GHdDyUl","title":"谈 Kubernetes 的架构设计与实现原理","pathname":"/java/yun-wei-ce-shi-12/kubernetes/tan-kubernetes-de-jia-gou-she-ji-yu-shi-xian-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"Kubernetes"}]},{"id":"fTpgvF4MaYaOywH2UnKO","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-13","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"EHN5nG7ISVqi4iQG8XWE","title":"压测","pathname":"/java/yun-wei-ce-shi-13/ya-ce","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"4flxSDtg51vQCUvjcF0g","title":"全链路压测平台（Quake）在美团中的实践","pathname":"/java/yun-wei-ce-shi-13/ya-ce/quan-lian-lu-ya-ce-ping-tai-quake-zai-mei-tuan-zhong-de-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"压测"}]},{"id":"P4kjaz15dREhYW0VPEgk","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-14","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"dRATlWzMqy3JBVxvhYVV","title":"测试","pathname":"/java/yun-wei-ce-shi-14/ce-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"ttG7ImtFa68CmjDEBIbe","title":"Cpress - JavaScript End to End Testing Framework","pathname":"/java/yun-wei-ce-shi-14/ce-shi/cpress-javascript-end-to-end-testing-framework","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"}]},{"id":"YL7gU53FCUuRdZnDulnH","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-15","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"WJenhEMLSNzGLIM0FbY1","title":"测试","pathname":"/java/yun-wei-ce-shi-15/ce-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"Cj7D8UB06l4kJ8QtkWjn","title":"代码覆盖率-JaCoCo","pathname":"/java/yun-wei-ce-shi-15/ce-shi/dai-ma-fu-gai-shuai-jacoco","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"}]},{"id":"HpfjnFXWQdrMz27aZZDa","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-16","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"XzHZdGFwHHjDjM2aHIVU","title":"测试","pathname":"/java/yun-wei-ce-shi-16/ce-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"k8itqXEpGQx4OGaxrNcc","title":"浅谈代码覆盖率","pathname":"/java/yun-wei-ce-shi-16/ce-shi/qian-tan-dai-ma-fu-gai-shuai","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"}]},{"id":"mRhKeJvTh16ZIHkdD3LQ","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-17","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"tMSFZinuwygStoFvzdbc","title":"测试","pathname":"/java/yun-wei-ce-shi-17/ce-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"jRkNK927DA5y17lBtQzg","title":"测试中 Fakes、Mocks 以及 Stubs 概念明晰","pathname":"/java/yun-wei-ce-shi-17/ce-shi/ce-shi-zhong-fakesmocks-yi-ji-stubs-gai-nian-ming-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"}]},{"id":"2OGJQq91W5sBKhytd6BI","title":"Java FrameWorks","pathname":"/java/java-frameworks-38","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"kzAObJRll1663Soqe9Af","title":"Spring","pathname":"/java/java-frameworks-38/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"lKFVveBuFTNwod8VPxIp","title":"Spring AOP","pathname":"/java/java-frameworks-38/spring/spring-aop","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"lQAhbLPjFW3Luicl8uo0","title":"Spring AOP中的Bean是如何被AOP代理的","pathname":"/java/java-frameworks-38/spring/spring-aop/spring-aop-zhong-de-bean-shi-ru-he-bei-aop-dai-li-de","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring AOP"}]},{"id":"cUL1MJBwVzFGleCb9pZe","title":"Java FrameWorks","pathname":"/java/java-frameworks-39","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"NSJEnmZqNwCijDXEwmiJ","title":"Spring","pathname":"/java/java-frameworks-39/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"EfR5FHJ6p07faLCXtA7I","title":"Spring AOP","pathname":"/java/java-frameworks-39/spring/spring-aop","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"hhd3PsSj09iGjaGKhVB6","title":"Spring AOP原生动态代理和Cglib动态代理","pathname":"/java/java-frameworks-39/spring/spring-aop/spring-aop-yuan-sheng-dong-tai-dai-li-he-cglib-dong-tai-dai-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring AOP"}]},{"id":"6QDdPq6slVpMuL0lhPWZ","title":"Java FrameWorks","pathname":"/java/java-frameworks-40","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"0BiQTj54JvqipqjfMoaT","title":"Spring","pathname":"/java/java-frameworks-40/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"dArqangfeCzWMRTWqzBU","title":"Spring AOP","pathname":"/java/java-frameworks-40/spring/spring-aop","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"oqzKX5in9ZpJ7FYd8CTv","title":"Spring AOP实现方式（xml&注解）","pathname":"/java/java-frameworks-40/spring/spring-aop/spring-aop-shi-xian-fang-shi-xml-zhu-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring AOP"}]},{"id":"xbHtmcAOrWrN7klToASG","title":"Java FrameWorks","pathname":"/java/java-frameworks-41","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"BYLuo31V5LQaQpxVs2xo","title":"Spring","pathname":"/java/java-frameworks-41/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"F1g5Cy4WsHRX3QU7c9hd","title":"Spring AOP","pathname":"/java/java-frameworks-41/spring/spring-aop","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"H3C2AHwGuljUQzCohMhA","title":"Spring AOP是如何收集切面类并封装的","pathname":"/java/java-frameworks-41/spring/spring-aop/spring-aop-shi-ru-he-shou-ji-qie-mian-lei-bing-feng-zhuang-de","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring AOP"}]},{"id":"gmRgZ1kf6e5viK33SXBH","title":"Java FrameWorks","pathname":"/java/java-frameworks-42","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"FnuIaKSMRbAFOGUDDWSk","title":"Spring","pathname":"/java/java-frameworks-42/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"yBJmzEC34ZgdyqsGsDx9","title":"Spring AOP","pathname":"/java/java-frameworks-42/spring/spring-aop","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"kUpF6EVtDc0XBkAmJHP1","title":"Spring AOP概述","pathname":"/java/java-frameworks-42/spring/spring-aop/spring-aop-gai-shu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring AOP"}]},{"id":"U9f0iMUkx0GELc8Y2Wft","title":"Java FrameWorks","pathname":"/java/java-frameworks-43","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"DBAIoonRMnL8fMnSBcde","title":"Spring","pathname":"/java/java-frameworks-43/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"6wwPnQDkbnG25CchQg7U","title":"Spring AOP","pathname":"/java/java-frameworks-43/spring/spring-aop","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"aAIcabFzWI6kNEIJrMaH","title":"Spring AOP的底层核心后置处理器","pathname":"/java/java-frameworks-43/spring/spring-aop/spring-aop-de-di-ceng-he-xin-hou-zhi-chu-li-qi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring AOP"}]},{"id":"cDWYQcZFIvKdSgdvkzen","title":"Java FrameWorks","pathname":"/java/java-frameworks-44","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"gfbcJ3LsMP9OmGzHC8sZ","title":"Spring","pathname":"/java/java-frameworks-44/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"ySmC6jasBB4Pw9ervn9r","title":"Spring AOP","pathname":"/java/java-frameworks-44/spring/spring-aop","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"486j07dlnqjFpJj6d0sj","title":"Spring AOP的延伸知识","pathname":"/java/java-frameworks-44/spring/spring-aop/spring-aop-de-yan-shen-zhi-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring AOP"}]},{"id":"63rRhUZvsDPsbbDQ47ZQ","title":"Java FrameWorks","pathname":"/java/java-frameworks-45","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"LmABvXpuDNGYFkEssend","title":"Spring","pathname":"/java/java-frameworks-45/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"5zxDLYuZwixXeYgFG3rX","title":"Spring Boot","pathname":"/java/java-frameworks-45/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"buyHrVs0S38se7Akgcqt","title":"Spring Boot - IOC(一)","pathname":"/java/java-frameworks-45/spring/spring-boot/spring-boot-ioc-yi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"L8kUgBRgXIlJmkrZ3blG","title":"Java FrameWorks","pathname":"/java/java-frameworks-46","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"B5xx3KW47Nx1rqklRrUX","title":"Spring","pathname":"/java/java-frameworks-46/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"Rc7ajcDjxkaP0edUeC2g","title":"Spring Boot","pathname":"/java/java-frameworks-46/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"jvIQ8xwFBEDRTwxDhvCS","title":"Spring Boot - IOC(三)","pathname":"/java/java-frameworks-46/spring/spring-boot/spring-boot-ioc-san","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"DmdMDj0N1VO49zErfx6e","title":"Java FrameWorks","pathname":"/java/java-frameworks-47","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"3ZiXGSOl8hO8XK9rVI6L","title":"Spring","pathname":"/java/java-frameworks-47/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"GFe3FA171HMceo2lfcFD","title":"Spring Boot","pathname":"/java/java-frameworks-47/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"6c8PjORCgmJaN7pTPdIu","title":"Spring Boot - IOC(二)","pathname":"/java/java-frameworks-47/spring/spring-boot/spring-boot-ioc-er","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"6LlM5vvdpmTDG4hBkjKG","title":"Java FrameWorks","pathname":"/java/java-frameworks-48","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"2rDFWZkPKeGPjAR1xtK0","title":"Spring","pathname":"/java/java-frameworks-48/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"o6ZwzMVyv6ZcV2PgoJkq","title":"Spring Boot","pathname":"/java/java-frameworks-48/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"jZQP4119QiwVQ5baQHk4","title":"Spring Boot - IOC(五)","pathname":"/java/java-frameworks-48/spring/spring-boot/spring-boot-ioc-wu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"RhfXKCb8m0Wp1nvoiOoL","title":"Java FrameWorks","pathname":"/java/java-frameworks-49","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"9Wu8TNMOJod6QrXLVuyC","title":"Spring","pathname":"/java/java-frameworks-49/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"rKO1sVyd6zhzt4qzP3KC","title":"Spring Boot","pathname":"/java/java-frameworks-49/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"JbryLQb2YNRRjsLQgTcO","title":"Spring Boot - IOC(四) - 循环依赖与解决方案","pathname":"/java/java-frameworks-49/spring/spring-boot/spring-boot-ioc-si-xun-huan-yi-lai-yu-jie-jue-fang-an","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"PZI7dY5pG9gcCMVULDFG","title":"Java FrameWorks","pathname":"/java/java-frameworks-50","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"oAjkGPXqY2lFZ0nQOrsB","title":"Spring","pathname":"/java/java-frameworks-50/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"NCskOo6CeN2JgexzUhi1","title":"Spring Boot","pathname":"/java/java-frameworks-50/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"1dwrgZcCel21GI0alk5J","title":"Spring Boot - 启动引导","pathname":"/java/java-frameworks-50/spring/spring-boot/spring-boot-qi-dong-yin-dao","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"GjniH6xlXXaOnNxikR5f","title":"Java FrameWorks","pathname":"/java/java-frameworks-51","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"rGOOz7yWZqmi6xywlAI5","title":"Spring","pathname":"/java/java-frameworks-51/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"8SFynjZORXTZw2DqV9RV","title":"Spring Boot","pathname":"/java/java-frameworks-51/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"iDTULculPYbz8108VnfX","title":"Spring Boot JarLauncher","pathname":"/java/java-frameworks-51/spring/spring-boot/spring-boot-jarlauncher","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"9OUyHmSKiEHtfchYVPlw","title":"Java FrameWorks","pathname":"/java/java-frameworks-52","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"hhh4ALdm3On25ZG0YYsS","title":"Spring","pathname":"/java/java-frameworks-52/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"TQ8GPI54xeeXohem7B1F","title":"Spring Boot","pathname":"/java/java-frameworks-52/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"Tpk0yvwNCWxx9wWR0BI0","title":"Spring Boot Web Mvc 自动装配","pathname":"/java/java-frameworks-52/spring/spring-boot/spring-boot-web-mvc-zi-dong-zhuang-pei","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"b370W6EvgFCFJkJXOV3L","title":"Java FrameWorks","pathname":"/java/java-frameworks-53","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"HIBb40b4TEOYGJhLqxjb","title":"Spring","pathname":"/java/java-frameworks-53/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"5rFZGjaghb74WJ3fxlsy","title":"Spring Boot","pathname":"/java/java-frameworks-53/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"QZlPbeZNSTH8vG5lxY69","title":"Spring Boot 使用ApplicationListener监听器","pathname":"/java/java-frameworks-53/spring/spring-boot/spring-boot-shi-yong-applicationlistener-jian-ting-qi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"RPPfOknHob09umvVRM7a","title":"Java FrameWorks","pathname":"/java/java-frameworks-54","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"gN7F0LMjfSLlXcX9B1Ao","title":"Spring","pathname":"/java/java-frameworks-54/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"9ql3iVyqribHx5KDXsrg","title":"Spring Boot","pathname":"/java/java-frameworks-54/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"IFyeiEdualyQwFvbgpPr","title":"Spring Boot 声明式事务","pathname":"/java/java-frameworks-54/spring/spring-boot/spring-boot-sheng-ming-shi-shi-wu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"LNcYcZkI89TNcDBGSwb0","title":"Java FrameWorks","pathname":"/java/java-frameworks-55","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"JexLnLiOtjOixVEXgQYt","title":"Spring","pathname":"/java/java-frameworks-55/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"2NqNxu4K7xveC7MWkuGu","title":"Spring Boot","pathname":"/java/java-frameworks-55/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"RpFv4ftwvz4Ko9BUkRfZ","title":"Spring Boot 嵌入式容器","pathname":"/java/java-frameworks-55/spring/spring-boot/spring-boot-qian-ru-shi-rong-qi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"ttU9x935rVaEj9w6sUxz","title":"Java FrameWorks","pathname":"/java/java-frameworks-56","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"rjb0Ck2gxQuEfmGFAsGd","title":"Spring","pathname":"/java/java-frameworks-56/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"XcNyzMvkHufBjy6x1Iww","title":"Spring Boot","pathname":"/java/java-frameworks-56/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"aXH8JQL5D4ZdnCGXoFNX","title":"Spring Boot引起的“堆外内存泄漏”排查及经验总结","pathname":"/java/java-frameworks-56/spring/spring-boot/spring-boot-yin-qi-de-dui-wai-nei-cun-xie-lou-pai-cha-ji-jing-yan-zong-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"PGunzqC9rB71BQliE2Eq","title":"Java FrameWorks","pathname":"/java/java-frameworks-57","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"gWGXToLFFcCw7bCEmv8B","title":"Spring","pathname":"/java/java-frameworks-57/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"mYjWeZzC5LLBREKy0oRV","title":"Spring Boot","pathname":"/java/java-frameworks-57/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"HjTZbzPlXrVRyO1RJW1P","title":"Spring Boot的启动流程","pathname":"/java/java-frameworks-57/spring/spring-boot/spring-boot-de-qi-dong-liu-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"3Jz4pW3nt858I5OKKC76","title":"Java FrameWorks","pathname":"/java/java-frameworks-58","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ILDSQvKIrrlzuSM8bS40","title":"Spring","pathname":"/java/java-frameworks-58/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"sBsMXY5y9bPTNqtyVj2M","title":"Spring Boot","pathname":"/java/java-frameworks-58/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"puACwZ1yl7GKv0Jp9PKM","title":"Spring Boot自动化配置源码分析","pathname":"/java/java-frameworks-58/spring/spring-boot/spring-boot-zi-dong-hua-pei-zhi-yuan-ma-fen-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"NDpZcD2ohpF7DLMJAQHM","title":"Java FrameWorks","pathname":"/java/java-frameworks-59","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"wWYWkAsyaFJ39ISxJFVf","title":"Spring","pathname":"/java/java-frameworks-59/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"8wC4aHcRbbQfsioFBrrm","title":"Spring Boot","pathname":"/java/java-frameworks-59/spring/spring-boot","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"VNXgF40GcsFFJw0r5Csj","title":"如何自定义Spring Boot Starter？","pathname":"/java/java-frameworks-59/spring/spring-boot/ru-he-zi-ding-yi-spring-boot-starter","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Boot"}]},{"id":"dTGcOIYKKIbYs6JkxupT","title":"Java FrameWorks","pathname":"/java/java-frameworks-60","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"gb9RmdV00R1WjL2dAXhr","title":"Spring","pathname":"/java/java-frameworks-60/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"mWFWHfYktOjPNPTMbGBj","title":"Spring IOC","pathname":"/java/java-frameworks-60/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"0M7exnwROcVu1UFg3psC","title":"IOC - 模块装配和条件装配","pathname":"/java/java-frameworks-60/spring/spring-ioc/ioc-mo-kuai-zhuang-pei-he-tiao-jian-zhuang-pei","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"okE5vuUWFGDFWI7Y3iJs","title":"Java FrameWorks","pathname":"/java/java-frameworks-61","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"YxIgMlVhHGBn51CKRmaG","title":"Spring","pathname":"/java/java-frameworks-61/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"HAFENXPXkLMmuTXibTsn","title":"Spring IOC","pathname":"/java/java-frameworks-61/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"Z3wd3ZzfdyXoWjQNKEC1","title":"IOC - 配置源(xml，注解)","pathname":"/java/java-frameworks-61/spring/spring-ioc/ioc-pei-zhi-yuan-xml-zhu-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"m8jsZpXbxvnwK1ZJfncZ","title":"Java FrameWorks","pathname":"/java/java-frameworks-62","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"UgX92KRO7fhvOCZZuX00","title":"Spring","pathname":"/java/java-frameworks-62/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"Rqb5KuIysZKb2vU9QSjF","title":"Spring IOC","pathname":"/java/java-frameworks-62/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"rYOJjyIcSWGuQvpVVnx9","title":"Spring Environment","pathname":"/java/java-frameworks-62/spring/spring-ioc/spring-environment","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"rdzFjDl4qKpwpi8niYrG","title":"Java FrameWorks","pathname":"/java/java-frameworks-63","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"dFzPcYFLHfRdWseT0Z4x","title":"Spring","pathname":"/java/java-frameworks-63/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"nFGtvzYLC9mYMrWeaMwY","title":"Spring IOC","pathname":"/java/java-frameworks-63/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"Mxmf6wnyyztTlU8NumF6","title":"Spring ApplicationContext","pathname":"/java/java-frameworks-63/spring/spring-ioc/spring-applicationcontext","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"Ui81O5eRRnjwE8V4VONE","title":"Java FrameWorks","pathname":"/java/java-frameworks-64","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"mZKXRuO8ZB9bl3eSq94k","title":"Spring","pathname":"/java/java-frameworks-64/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"mJiFrAaQu0yuh2hn9HZQ","title":"Spring IOC","pathname":"/java/java-frameworks-64/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"UGzfv2ZmdNTJ089Edyh8","title":"Spring BeanDefinition","pathname":"/java/java-frameworks-64/spring/spring-ioc/spring-beandefinition","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"ZuWtNt0b40wzCEi29fHd","title":"Java FrameWorks","pathname":"/java/java-frameworks-65","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"SQmdLCSTjKIx2tmMLUgf","title":"Spring","pathname":"/java/java-frameworks-65/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"J6zbBKhbkKHji3N4P33f","title":"Spring IOC","pathname":"/java/java-frameworks-65/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"BElYS3Gy5DeZ86KcqOtb","title":"Spring BeanFactory","pathname":"/java/java-frameworks-65/spring/spring-ioc/spring-beanfactory","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"NKkYJnOzZYk3fo6aAQAT","title":"Java FrameWorks","pathname":"/java/java-frameworks-66","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Ftv143coYnb1uunJ9o80","title":"Spring","pathname":"/java/java-frameworks-66/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"SKYbD6hJtg365nW62kyT","title":"Spring IOC","pathname":"/java/java-frameworks-66/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"ylRuGVKN1fEGwNdSVKCY","title":"Spring BeanFactoryPostProcessor","pathname":"/java/java-frameworks-66/spring/spring-ioc/spring-beanfactorypostprocessor","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"gppttxnbpBmjKHFlmgTh","title":"Java FrameWorks","pathname":"/java/java-frameworks-67","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"bHER876bvwQ6c4mcPPnP","title":"Spring","pathname":"/java/java-frameworks-67/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"SmcQ8hiGL7uwrSxp3t4d","title":"Spring IOC","pathname":"/java/java-frameworks-67/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"1N8t2CxhzJMClsY9hGkZ","title":"Spring BeanPostProcessor","pathname":"/java/java-frameworks-67/spring/spring-ioc/spring-beanpostprocessor","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"0nITTaayriPqhwdCF5vh","title":"Java FrameWorks","pathname":"/java/java-frameworks-68","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"qepw0ZweFHiqJ1Rnd8K6","title":"Spring","pathname":"/java/java-frameworks-68/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"90d4XGMjwsMNG3D83K6c","title":"Spring IOC","pathname":"/java/java-frameworks-68/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"aA1femClTwlor3ATUm0e","title":"Spring Bean的生命周期(一) - 概述","pathname":"/java/java-frameworks-68/spring/spring-ioc/spring-bean-de-sheng-ming-zhou-qi-yi-gai-shu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"6epQztWhGwJ4frzcLTyY","title":"Java FrameWorks","pathname":"/java/java-frameworks-69","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"l1JhGCeNoDnIRVbgL7ON","title":"Spring","pathname":"/java/java-frameworks-69/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"FisvvV5fcxuZuPomrEJw","title":"Spring IOC","pathname":"/java/java-frameworks-69/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"aT24dD0ncGmkAeFxwcKw","title":"Spring Bean的生命周期(三) - 实例化阶段","pathname":"/java/java-frameworks-69/spring/spring-ioc/spring-bean-de-sheng-ming-zhou-qi-san-shi-li-hua-jie-duan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"0xm4RryovK84PZw8GoWH","title":"Java FrameWorks","pathname":"/java/java-frameworks-70","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"DyUDOTgys3ZG1qFDN59h","title":"Spring","pathname":"/java/java-frameworks-70/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"kfmev2UPxKinc3BwjTjF","title":"Spring IOC","pathname":"/java/java-frameworks-70/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"VDzWJ8ykbQRe7sANDZQn","title":"Spring Bean的生命周期(二) - BeanDefinition","pathname":"/java/java-frameworks-70/spring/spring-ioc/spring-bean-de-sheng-ming-zhou-qi-er-beandefinition","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"MtCYDyEkBcu3S3vupbeP","title":"Java FrameWorks","pathname":"/java/java-frameworks-71","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"P3k1KKvFWrSKFwVww06q","title":"Spring","pathname":"/java/java-frameworks-71/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"P4DhxG5oTFESIJUsULlJ","title":"Spring IOC","pathname":"/java/java-frameworks-71/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"7Ui8lw26yXjvsRL9U9qu","title":"Spring Bean的生命周期(五) - 销毁阶段","pathname":"/java/java-frameworks-71/spring/spring-ioc/spring-bean-de-sheng-ming-zhou-qi-wu-xiao-hui-jie-duan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"sgiEH32c3jvYrrvho2lh","title":"Java FrameWorks","pathname":"/java/java-frameworks-72","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"eMPUsV7pSH9JLiLphbT6","title":"Spring","pathname":"/java/java-frameworks-72/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"Uikjl4TND1QpK2NDlUU7","title":"Spring IOC","pathname":"/java/java-frameworks-72/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"Fe3ZC7kZT9d3GlbF2fJM","title":"Spring Bean的生命周期(四) - 初始化阶段","pathname":"/java/java-frameworks-72/spring/spring-ioc/spring-bean-de-sheng-ming-zhou-qi-si-chu-shi-hua-jie-duan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"M0ZXwtm0BKsxpOfCycoj","title":"Java FrameWorks","pathname":"/java/java-frameworks-73","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"OoiBO083uZYOR4KDNgzM","title":"Spring","pathname":"/java/java-frameworks-73/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"v6tdRLiAaITDwa498PVb","title":"Spring IOC","pathname":"/java/java-frameworks-73/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"ciXMb6hK6JGYqukwBdEE","title":"Spring ComponentScan","pathname":"/java/java-frameworks-73/spring/spring-ioc/spring-componentscan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"goAbjn5Brsimd7MQZhEO","title":"Java FrameWorks","pathname":"/java/java-frameworks-74","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"WGKK1ABkSHZD372K92UQ","title":"Spring","pathname":"/java/java-frameworks-74/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"MMMSCQPGEjJiFgiPelIj","title":"Spring IOC","pathname":"/java/java-frameworks-74/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"sLPlEFGA5PWthA8uawUG","title":"Spring Events","pathname":"/java/java-frameworks-74/spring/spring-ioc/spring-events","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"8hn0OK9Tw2Itt2ydU2NT","title":"Java FrameWorks","pathname":"/java/java-frameworks-75","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"rm1iqXi9QX6bmM5HMfkO","title":"Spring","pathname":"/java/java-frameworks-75/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"GUuTLwsIXNDsSQcwXQoh","title":"Spring IOC","pathname":"/java/java-frameworks-75/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"sOjkfvCv4aSfxj8lPWSV","title":"Spring IOC 基础篇","pathname":"/java/java-frameworks-75/spring/spring-ioc/spring-ioc-ji-chu-pian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"GLD6X4WIRTNyj9f7nzP5","title":"Java FrameWorks","pathname":"/java/java-frameworks-76","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"cmDErD6EcjhpCXuKyu5i","title":"Spring","pathname":"/java/java-frameworks-76/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"9a5rNL0Q6BBlVZggksSM","title":"Spring IOC","pathname":"/java/java-frameworks-76/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"632TXm6KzNYeMXXlsnj0","title":"Spring IOC 总结","pathname":"/java/java-frameworks-76/spring/spring-ioc/spring-ioc-zong-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"6o1viRDmvs0GiYPbDZYv","title":"Java FrameWorks","pathname":"/java/java-frameworks-77","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"UYrg8gSkS80zxH29lkdU","title":"Spring","pathname":"/java/java-frameworks-77/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"hFnzXRbaUEKq9WBBeqPl","title":"Spring IOC","pathname":"/java/java-frameworks-77/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"8Jm6VcQxnHWk9nCZcJib","title":"Spring IOC 进阶篇","pathname":"/java/java-frameworks-77/spring/spring-ioc/spring-ioc-jin-jie-pian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"fOPLCR4mO1gvYox4eCKt","title":"Java FrameWorks","pathname":"/java/java-frameworks-78","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"9GFqPgLo9Q4TERiaGPFc","title":"Spring","pathname":"/java/java-frameworks-78/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"odOeKtKhA5iRV4SH5q41","title":"Spring IOC","pathname":"/java/java-frameworks-78/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"PImHENNdBnpe6FBRl7In","title":"Spring IOC容器的生命周期","pathname":"/java/java-frameworks-78/spring/spring-ioc/spring-ioc-rong-qi-de-sheng-ming-zhou-qi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"je3vUtXh1Wpol8A4CNlA","title":"Java FrameWorks","pathname":"/java/java-frameworks-79","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"UkZfEYvV01yFww2YTNAj","title":"Spring","pathname":"/java/java-frameworks-79/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"4qd2NOIi0UqvVDrxuQpD","title":"Spring IOC","pathname":"/java/java-frameworks-79/spring/spring-ioc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"mBsHowiiXdvvT87bjb1a","title":"Spring Resource","pathname":"/java/java-frameworks-79/spring/spring-ioc/spring-resource","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring IOC"}]},{"id":"izdgvnPd6mkk2TQ1ijsq","title":"Java FrameWorks","pathname":"/java/java-frameworks-80","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"rvQSS5ij0A43wkI17Yzc","title":"Spring","pathname":"/java/java-frameworks-80/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"DHl4OTSA0hZS5HeSiSmi","title":"Spring MVC","pathname":"/java/java-frameworks-80/spring/spring-mvc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"TzamLIQMknpy7CsSHoe3","title":"DispatcherServlet的初始化原理","pathname":"/java/java-frameworks-80/spring/spring-mvc/dispatcherservlet-de-chu-shi-hua-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring MVC"}]},{"id":"SO5nbP7KQS7qNFECmwR6","title":"Java FrameWorks","pathname":"/java/java-frameworks-81","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"pR3STGbkj50U6ftiXIhN","title":"Spring","pathname":"/java/java-frameworks-81/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"SzwCAlFn5pFkbPCRnfkG","title":"Spring MVC","pathname":"/java/java-frameworks-81/spring/spring-mvc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"nGimUmGDSSiR90clIMsM","title":"DispatcherServlet的核心工作原理","pathname":"/java/java-frameworks-81/spring/spring-mvc/dispatcherservlet-de-he-xin-gong-zuo-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring MVC"}]},{"id":"TDwLdNQzbwImHxVXtLb4","title":"Java FrameWorks","pathname":"/java/java-frameworks-82","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ArxCOOKCN1C8s5A4uBa5","title":"Spring","pathname":"/java/java-frameworks-82/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"No0R5m9V4OzxgPehrHo9","title":"Spring MVC","pathname":"/java/java-frameworks-82/spring/spring-mvc","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"h3WXXkHtttQPZ8nGuKE5","title":"WebMvc的架构设计与组件功能解析","pathname":"/java/java-frameworks-82/spring/spring-mvc/webmvc-de-jia-gou-she-ji-yu-zu-jian-gong-neng-jie-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring MVC"}]},{"id":"EHarg47beMyHN1vCaxm4","title":"Java FrameWorks","pathname":"/java/java-frameworks-83","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"QSwWqoqLQZuyAVNaBQ45","title":"Spring","pathname":"/java/java-frameworks-83/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"K1SQMJ1mF6dRQwBaAnok","title":"Spring Security","pathname":"/java/java-frameworks-83/spring/spring-security","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"ZGHK1mUYikyHIfnV2bM4","title":"Spring Boot 2 + Spring Security 5 + JWT 的单页应用 Restful 解决方案","pathname":"/java/java-frameworks-83/spring/spring-security/spring-boot-2-+-spring-security-5-+-jwt-de-dan-ye-ying-yong-restful-jie-jue-fang-an","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Security"}]},{"id":"EYpdLmkiUBoebrNhpgYp","title":"Java FrameWorks","pathname":"/java/java-frameworks-84","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"v17U0LgdJ5Ivrf2Ph4N0","title":"Spring","pathname":"/java/java-frameworks-84/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"mumjSPQr1mqjs0JRB06Y","title":"Spring Security","pathname":"/java/java-frameworks-84/spring/spring-security","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"rZGrkZoIYzp5FkQuy0Rq","title":"Spring Security Oauth","pathname":"/java/java-frameworks-84/spring/spring-security/spring-security-oauth","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Security"}]},{"id":"16ug7L2HGHevOqN9icTP","title":"Java FrameWorks","pathname":"/java/java-frameworks-85","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"2znvwH1yAc4Bx9dUvTAG","title":"Spring","pathname":"/java/java-frameworks-85/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"HV6abCNLYiDdwCUeHudT","title":"Spring Security","pathname":"/java/java-frameworks-85/spring/spring-security","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"5vqe7nOChMvUgIACSl77","title":"Spring Security","pathname":"/java/java-frameworks-85/spring/spring-security/spring-security","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring Security"}]},{"id":"DolPIAgbpsQHqBQRgFdV","title":"Java FrameWorks","pathname":"/java/java-frameworks-86","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"QwoTWRTboUld18fVCSfj","title":"Spring","pathname":"/java/java-frameworks-86/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"sqnsx442QxHEOArY1Bpf","title":"Spring WebFlux","pathname":"/java/java-frameworks-86/spring/spring-webflux","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"uQlXPDrsBOSIUuHosyxd","title":"DispatcherHandler的工作原理（传统方式）","pathname":"/java/java-frameworks-86/spring/spring-webflux/dispatcherhandler-de-gong-zuo-yuan-li-chuan-tong-fang-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring WebFlux"}]},{"id":"3ImYZnZC4kCuWtsEcrtp","title":"Java FrameWorks","pathname":"/java/java-frameworks-87","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"piMWf0zgkq3slofu2I0X","title":"Spring","pathname":"/java/java-frameworks-87/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"XFz85CslL5wtcsZ0OVc0","title":"Spring WebFlux","pathname":"/java/java-frameworks-87/spring/spring-webflux","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"rRGd44O9Dmnl6Mkp5RlO","title":"DispatcherHandler的工作原理（函数式端点）","pathname":"/java/java-frameworks-87/spring/spring-webflux/dispatcherhandler-de-gong-zuo-yuan-li-han-shu-shi-duan-dian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring WebFlux"}]},{"id":"KftukmDb0xkO9T5sD93t","title":"Java FrameWorks","pathname":"/java/java-frameworks-88","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"1ExrLhszD8DqKCvAq8dz","title":"Spring","pathname":"/java/java-frameworks-88/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"LJWxgFMJlbIhx0pirVZF","title":"Spring WebFlux","pathname":"/java/java-frameworks-88/spring/spring-webflux","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"5IjY0SflggGyOu2Kr4uO","title":"WebFlux的自动装配","pathname":"/java/java-frameworks-88/spring/spring-webflux/webflux-de-zi-dong-zhuang-pei","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring WebFlux"}]},{"id":"OWnyYf3Jozhu7W4fgOFu","title":"Java FrameWorks","pathname":"/java/java-frameworks-89","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"W1KGBzp8OabypEW4lk6w","title":"Spring","pathname":"/java/java-frameworks-89/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"xyh1r1jllFODmLS6imty","title":"Spring WebFlux","pathname":"/java/java-frameworks-89/spring/spring-webflux","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"vZi8wMA10MGDntGmhYr0","title":"快速了解响应式编程与Reactive","pathname":"/java/java-frameworks-89/spring/spring-webflux/kuai-su-le-jie-xiang-ying-shi-bian-cheng-yu-reactive","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring WebFlux"}]},{"id":"h1W9xb4cIktY2R0SvyuH","title":"Java FrameWorks","pathname":"/java/java-frameworks-90","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"rRuE4NuZ33Khjpy5aKRx","title":"Spring","pathname":"/java/java-frameworks-90/spring","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"}]},{"id":"1qaj5mgEKO5eUkrKOc3D","title":"Spring WebFlux","pathname":"/java/java-frameworks-90/spring/spring-webflux","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"}]},{"id":"xgz4cvIfv6d4moZO958Z","title":"快速使用WebFlux","pathname":"/java/java-frameworks-90/spring/spring-webflux/kuai-su-shi-yong-webflux","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"Java FrameWorks"},{"label":"Spring"},{"label":"Spring WebFlux"}]},{"id":"hClI4l3fU3XavCHu0jcf","title":"分布式","pathname":"/java/fen-bu-shi-38","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"G204OtGMCtJUBI5jq1OH","title":"协调服务","pathname":"/java/fen-bu-shi-38/xie-tiao-fu-wu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"phvnSAypYifcfOpatckv","title":"Zookeeper","pathname":"/java/fen-bu-shi-38/xie-tiao-fu-wu/zookeeper","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"协调服务"}]},{"id":"IOcTNLfpOEb15WD2YxxL","title":"Zookeeper - 客户端之 Curator","pathname":"/java/fen-bu-shi-38/xie-tiao-fu-wu/zookeeper/zookeeper-ke-hu-duan-zhi-curator","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"协调服务"},{"label":"Zookeeper"}]},{"id":"ZYryjYmASysvTkElIW5M","title":"分布式","pathname":"/java/fen-bu-shi-39","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"AaMr00ndEcZ7GfPnLMGH","title":"协调服务","pathname":"/java/fen-bu-shi-39/xie-tiao-fu-wu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"NajGHvTfwcpgFZb33IUW","title":"Zookeeper","pathname":"/java/fen-bu-shi-39/xie-tiao-fu-wu/zookeeper","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"协调服务"}]},{"id":"x5gRnX872guHyzfczxyF","title":"详解分布式协调服务 ZooKeeper","pathname":"/java/fen-bu-shi-39/xie-tiao-fu-wu/zookeeper/zookeeper-fen-bu-shi-xie-tiao-fu-wu-zookeeper-xiang-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"协调服务"},{"label":"Zookeeper"}]},{"id":"yzebMicDUH9TLeQwyUWY","title":"分布式","pathname":"/java/fen-bu-shi-40","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"fU3K6FLWnOx28GGHuChx","title":"协调服务","pathname":"/java/fen-bu-shi-40/xie-tiao-fu-wu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"}]},{"id":"ogRk9LGMTqkdtoJGyJGZ","title":"etcd","pathname":"/java/fen-bu-shi-40/xie-tiao-fu-wu/etcd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"协调服务"}]},{"id":"VT1NqCCqETlHsaew39ww","title":"高可用分布式存储 etcd 的实现原理","pathname":"/java/fen-bu-shi-40/xie-tiao-fu-wu/etcd/gao-ke-yong-fen-bu-shi-cun-chu-etcd-de-shi-xian-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"分布式"},{"label":"协调服务"},{"label":"etcd"}]},{"id":"0ntg9EdZdzU0FC8cF99M","title":"数据库","pathname":"/java/shu-ju-ku-38","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"AmzqyMSERPv09mzYWCAH","title":"Database Version Control","pathname":"/java/shu-ju-ku-38/database-version-control","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"ygjCwxf9mcP344swwSNk","title":"Flyway","pathname":"/java/shu-ju-ku-38/database-version-control/flyway","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"}]},{"id":"K4oBoz1zxLqnKInjw9Eh","title":"Database Migrations with Flyway","pathname":"/java/shu-ju-ku-38/database-version-control/flyway/database-migrations-with-flyway","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"},{"label":"Flyway"}]},{"id":"cMdXnpDRzFymY27jUH6u","title":"数据库","pathname":"/java/shu-ju-ku-39","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"6J9TM4uExFxZXH2IIn1d","title":"Database Version Control","pathname":"/java/shu-ju-ku-39/database-version-control","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"cEPYMKHPAjwVBvlqOggs","title":"Flyway","pathname":"/java/shu-ju-ku-39/database-version-control/flyway","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"}]},{"id":"qDvUYFqfZ9I6Fd7eLP5P","title":"How Flyway works","pathname":"/java/shu-ju-ku-39/database-version-control/flyway/how-flyway-works","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"},{"label":"Flyway"}]},{"id":"uUTvHvCmDQHRaiqcq45c","title":"数据库","pathname":"/java/shu-ju-ku-40","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"QOpk6TJOkXL2mB96euvm","title":"Database Version Control","pathname":"/java/shu-ju-ku-40/database-version-control","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"as3ANDIcoIgOucR38XoQ","title":"Flyway","pathname":"/java/shu-ju-ku-40/database-version-control/flyway","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"}]},{"id":"ZkyhzVEjDH1U2pVB6UXY","title":"Rolling Back Migrations with Flyway","pathname":"/java/shu-ju-ku-40/database-version-control/flyway/rolling-back-migrations-with-flyway","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"},{"label":"Flyway"}]},{"id":"dSp4lvjQyxMAqIYZu3Hk","title":"数据库","pathname":"/java/shu-ju-ku-41","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"NO4uWQo5YkrghTKgT9O3","title":"Database Version Control","pathname":"/java/shu-ju-ku-41/database-version-control","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"gdKOpsBU91U0dOApW3Tc","title":"Flyway","pathname":"/java/shu-ju-ku-41/database-version-control/flyway","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"}]},{"id":"nvhLoppj8wEfeh3j9kCn","title":"The meaning of the concept of checksums","pathname":"/java/shu-ju-ku-41/database-version-control/flyway/the-meaning-of-the-concept-of-checksums","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"},{"label":"Flyway"}]},{"id":"jtBOxr5BittfQp5j6ayO","title":"数据库","pathname":"/java/shu-ju-ku-42","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"gH731NWE3fIb2fPQRb1V","title":"Database Version Control","pathname":"/java/shu-ju-ku-42/database-version-control","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"KukqZkA0U6Sk9doOmOpv","title":"Liquibase","pathname":"/java/shu-ju-ku-42/database-version-control/liquibase","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"}]},{"id":"X6fKjpt7juQg66FZENzD","title":"Introduction to Liquibase Rollback","pathname":"/java/shu-ju-ku-42/database-version-control/liquibase/introduction-to-liquibase-rollback","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"},{"label":"Liquibase"}]},{"id":"QBZwJIWMWY3jzjQdnBLE","title":"数据库","pathname":"/java/shu-ju-ku-43","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ezbHJyBNABUGzNkXAV9w","title":"Database Version Control","pathname":"/java/shu-ju-ku-43/database-version-control","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"0ljzzsKTiehICeqvJtSM","title":"Liquibase","pathname":"/java/shu-ju-ku-43/database-version-control/liquibase","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"}]},{"id":"3vZdtyPo5TEwbtWKrMeS","title":"LiquiBase中文学习指南","pathname":"/java/shu-ju-ku-43/database-version-control/liquibase/liquibase-zhong-wen-xue-xi-zhi-nan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"},{"label":"Liquibase"}]},{"id":"pKvHUk9Np3wGLDEGnYen","title":"数据库","pathname":"/java/shu-ju-ku-44","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"ZrXPqstcb2B3PD4DPjJt","title":"Database Version Control","pathname":"/java/shu-ju-ku-44/database-version-control","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"}]},{"id":"fn0T4Scu1tus5Z20IWu5","title":"Liquibase","pathname":"/java/shu-ju-ku-44/database-version-control/liquibase","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"}]},{"id":"wSF0x8RRVoxTqSgBxPZM","title":"Use Liquibase to Safely Evolve Your Database Schema","pathname":"/java/shu-ju-ku-44/database-version-control/liquibase/use-liquibase-to-safely-evolve-your-database-schema","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"数据库"},{"label":"Database Version Control"},{"label":"Liquibase"}]},{"id":"070RZ8oMXAznHmzueBS7","title":"系统设计","pathname":"/java/xi-tong-she-ji-20","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"xJXNG67PDAJxzlt7lzuq","title":"流量控制","pathname":"/java/xi-tong-she-ji-20/liu-liang-kong-zhi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"cyR9l9H6SMamxvqgVY9W","title":"RateLimiter","pathname":"/java/xi-tong-she-ji-20/liu-liang-kong-zhi/ratelimiter","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"流量控制"}]},{"id":"FtPNOHCrJ2i3eBqKXuDp","title":"Guava Rate Limiter实现分析","pathname":"/java/xi-tong-she-ji-20/liu-liang-kong-zhi/ratelimiter/guava-rate-limiter-shi-xian-fen-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"流量控制"},{"label":"RateLimiter"}]},{"id":"OJNgtH3yMY2LIQG8zXfW","title":"系统设计","pathname":"/java/xi-tong-she-ji-21","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"IU7YHNlipl55JP5iTlky","title":"流量控制","pathname":"/java/xi-tong-she-ji-21/liu-liang-kong-zhi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"3M6Fu6PDvFGhxw5OBm0b","title":"Sentinel","pathname":"/java/xi-tong-she-ji-21/liu-liang-kong-zhi/sentinel","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"流量控制"}]},{"id":"oPC9IhzS6KQZ4Lsot3gU","title":"Sentinel 与 Hystrix 的对比","pathname":"/java/xi-tong-she-ji-21/liu-liang-kong-zhi/sentinel/sentinel-yu-hystrix-de-dui-bi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"流量控制"},{"label":"Sentinel"}]},{"id":"nEJ7Acyprp5pcUrRzMBD","title":"系统设计","pathname":"/java/xi-tong-she-ji-22","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"1rZHRPppoxjyt9jidbQw","title":"流量控制","pathname":"/java/xi-tong-she-ji-22/liu-liang-kong-zhi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"EYTHRsq2Zhmu4a6OMQIx","title":"Sentinel","pathname":"/java/xi-tong-she-ji-22/liu-liang-kong-zhi/sentinel","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"流量控制"}]},{"id":"kMOavZB84XUaokuUtt84","title":"Sentinel工作主流程","pathname":"/java/xi-tong-she-ji-22/liu-liang-kong-zhi/sentinel/sentinel-gong-zuo-zhu-liu-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"流量控制"},{"label":"Sentinel"}]},{"id":"2v0kWJbsb1uHYrqpbuHJ","title":"系统设计","pathname":"/java/xi-tong-she-ji-23","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Ps6OzJeOu31uJp6EzIg2","title":"流量控制","pathname":"/java/xi-tong-she-ji-23/liu-liang-kong-zhi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"ToiexfxNgsqMuEJZn9pI","title":"算法","pathname":"/java/xi-tong-she-ji-23/liu-liang-kong-zhi/suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"流量控制"}]},{"id":"RXz7bVwbsC2I2hBkapU6","title":"分布式服务限流实战","pathname":"/java/xi-tong-she-ji-23/liu-liang-kong-zhi/suan-fa/fen-bu-shi-fu-wu-xian-liu-shi-zhan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"流量控制"},{"label":"算法"}]},{"id":"HyC5ATNZjXA1mhW0Xz5T","title":"系统设计","pathname":"/java/xi-tong-she-ji-24","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"bVneIAjVoSFs29OTHq4e","title":"解决方案","pathname":"/java/xi-tong-she-ji-24/jie-jue-fang-an","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"7IZOrqLfB4OHLkeT93zq","title":"秒杀系统","pathname":"/java/xi-tong-she-ji-24/jie-jue-fang-an/miao-sha-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"解决方案"}]},{"id":"FQORhxOGSwqwmk454KmR","title":"如何设计一个秒杀系统","pathname":"/java/xi-tong-she-ji-24/jie-jue-fang-an/miao-sha-xi-tong/ru-he-she-ji-yi-ge-miao-sha-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"解决方案"},{"label":"秒杀系统"}]},{"id":"PH4oPMuYYq8AcveiuL6W","title":"系统设计","pathname":"/java/xi-tong-she-ji-25","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"bxOononDnkI5sT5WFEEe","title":"解决方案","pathname":"/java/xi-tong-she-ji-25/jie-jue-fang-an","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"}]},{"id":"XyINDPeKS72RYxfZNl9J","title":"红包系统","pathname":"/java/xi-tong-she-ji-25/jie-jue-fang-an/hong-bao-xi-tong","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"解决方案"}]},{"id":"RI2b6x1sKMYh5EhdkJKg","title":"微信高并发资金交易系统设计方案--百亿红包背后的技术支撑","pathname":"/java/xi-tong-she-ji-25/jie-jue-fang-an/hong-bao-xi-tong/wei-xin-gao-bing-fa-zi-jin-jiao-yi-xi-tong-she-ji-fang-an-bai-yi-hong-bao-bei-hou-de-ji-shu-zhi-chen","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"系统设计"},{"label":"解决方案"},{"label":"红包系统"}]},{"id":"PPppMJ9QBAqQYaYG24FT","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-24","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Y9eLuz9DoWK3UdxcrHS0","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-24/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"jrl25QNqNPZWFniHeK7m","title":"其他相关","pathname":"/java/ji-suan-ji-ji-chu-24/shu-ju-jie-gou-yu-suan-fa/qi-ta-xiang-guan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"pUcprRtOacYDV6a4wbju","title":"什么是预排序遍历树算法（MPTT，Modified Preorder Tree Traversal）","pathname":"/java/ji-suan-ji-ji-chu-24/shu-ju-jie-gou-yu-suan-fa/qi-ta-xiang-guan/shi-mo-shi-yu-pai-xu-bian-li-shu-suan-fa-mptt","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"其他相关"}]},{"id":"dcYoHnlJZslIKDotvSl6","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-25","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"GAdawPamY92xdDWwHlD0","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-25/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"9zsftoK8S9QGr6K14nlJ","title":"其他相关","pathname":"/java/ji-suan-ji-ji-chu-25/shu-ju-jie-gou-yu-suan-fa/qi-ta-xiang-guan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"109dueF8WvIqIQAoRAtw","title":"加密算法","pathname":"/java/ji-suan-ji-ji-chu-25/shu-ju-jie-gou-yu-suan-fa/qi-ta-xiang-guan/jia-mi-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"其他相关"}]},{"id":"r3W9GkXDYM11JPB4fY36","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-26","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"E734uPU7LntcK37mu0Sf","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-26/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"UAIeVVhjapeVJoQnfyCT","title":"其他相关","pathname":"/java/ji-suan-ji-ji-chu-26/shu-ju-jie-gou-yu-suan-fa/qi-ta-xiang-guan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"FT5xlt4tXP40DZwzCTwi","title":"推荐系统算法","pathname":"/java/ji-suan-ji-ji-chu-26/shu-ju-jie-gou-yu-suan-fa/qi-ta-xiang-guan/tui-jian-xi-tong-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"其他相关"}]},{"id":"3Gn9tBQXypDR47ngPFo5","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-27","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"FkmCQwaTU1OPFerLzypT","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-27/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"zY6kUNbdO6fJP2vY2wQ4","title":"其他相关","pathname":"/java/ji-suan-ji-ji-chu-27/shu-ju-jie-gou-yu-suan-fa/qi-ta-xiang-guan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"BrrFdMlvBZEZS543hAXb","title":"linkerd","pathname":"/java/ji-suan-ji-ji-chu-27/shu-ju-jie-gou-yu-suan-fa/qi-ta-xiang-guan/shu-ju-wa-jue-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"其他相关"}]},{"id":"0WL9OfI8EoX3U0l8qaD3","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-28","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"mBnPdbsmtHjV3zaSsFtl","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-28/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"KJQP60RCABxW9IDTmTIp","title":"其他相关","pathname":"/java/ji-suan-ji-ji-chu-28/shu-ju-jie-gou-yu-suan-fa/qi-ta-xiang-guan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"WgYs9evIGgd0E4tbopv5","title":"查找算法","pathname":"/java/ji-suan-ji-ji-chu-28/shu-ju-jie-gou-yu-suan-fa/qi-ta-xiang-guan/cha-zhao-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"其他相关"}]},{"id":"0Ks7ktcxbRynJN9iJr2X","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-29","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"9lyb7jhyVB9iWoEHzZjC","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-29/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"c6cGfwZh4gTOjk1Tjh6j","title":"其他相关","pathname":"/java/ji-suan-ji-ji-chu-29/shu-ju-jie-gou-yu-suan-fa/qi-ta-xiang-guan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"XaXjXSjzQyXscNQptoxh","title":"缓存淘汰算法中的LRU和LFU","pathname":"/java/ji-suan-ji-ji-chu-29/shu-ju-jie-gou-yu-suan-fa/qi-ta-xiang-guan/huan-cun-tao-tai-suan-fa-zhong-de-lru-he-lfu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"其他相关"}]},{"id":"6PrO6zT1dYK68KEuEz5R","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-30","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"sGukbSFa2fZk7Op1w2qw","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-30/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"aTopG1pkuVTzQ9UWkvQq","title":"其他相关","pathname":"/java/ji-suan-ji-ji-chu-30/shu-ju-jie-gou-yu-suan-fa/qi-ta-xiang-guan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"tdhr0p9rNStI17R3EYdf","title":"负载均衡算法","pathname":"/java/ji-suan-ji-ji-chu-30/shu-ju-jie-gou-yu-suan-fa/qi-ta-xiang-guan/fu-zai-jun-heng-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"其他相关"}]},{"id":"1FMvFtkVkK4kXZnDIFou","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-31","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"iRSaoJiT76tlKD5yJGAU","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-31/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"V446thXJ484pfLP5BTZI","title":"分布式算法","pathname":"/java/ji-suan-ji-ji-chu-31/shu-ju-jie-gou-yu-suan-fa/fen-bu-shi-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"QAHE6AT2ZFCD3qOp7oyK","title":"分布式算法 - Paxos算法","pathname":"/java/ji-suan-ji-ji-chu-31/shu-ju-jie-gou-yu-suan-fa/fen-bu-shi-suan-fa/fen-bu-shi-suan-fa-paxos-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"分布式算法"}]},{"id":"TqwF82u8jsALM2vWUXNw","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-32","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"sBVDhTggBt5le2J2Rper","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-32/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"OQjXKQlfVFhOJrYpKpwa","title":"分布式算法","pathname":"/java/ji-suan-ji-ji-chu-32/shu-ju-jie-gou-yu-suan-fa/fen-bu-shi-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"d1xmbX4HjmV1VZxQRFyq","title":"分布式算法 - Raft算法","pathname":"/java/ji-suan-ji-ji-chu-32/shu-ju-jie-gou-yu-suan-fa/fen-bu-shi-suan-fa/fen-bu-shi-suan-fa-raft-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"分布式算法"}]},{"id":"NByh9I4jQEoEGgApVUuH","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-33","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Sn9rUZTwoNIfXO5jdxsG","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-33/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"8r0FH7AxN52ReL1FVDqg","title":"分布式算法","pathname":"/java/ji-suan-ji-ji-chu-33/shu-ju-jie-gou-yu-suan-fa/fen-bu-shi-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"teAtvPaEzGmL2VQdPmDz","title":"分布式算法 - Snowflake算法","pathname":"/java/ji-suan-ji-ji-chu-33/shu-ju-jie-gou-yu-suan-fa/fen-bu-shi-suan-fa/fen-bu-shi-suan-fa-snowflake-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"分布式算法"}]},{"id":"AmbNdYMv2XK65OipawQW","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-34","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"LrzBkXXx0v98Vlw1i7Pt","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-34/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"nqKOqkP83MqpSlUQ9suK","title":"分布式算法","pathname":"/java/ji-suan-ji-ji-chu-34/shu-ju-jie-gou-yu-suan-fa/fen-bu-shi-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"rtOHYAZCkclE6MYEvb3v","title":"分布式算法 - ZAB算法","pathname":"/java/ji-suan-ji-ji-chu-34/shu-ju-jie-gou-yu-suan-fa/fen-bu-shi-suan-fa/fen-bu-shi-suan-fa-zab-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"分布式算法"}]},{"id":"ASOfWGFHbudFgPgProGS","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-35","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"P8XyAz52S9aFVIFNXCPc","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-35/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"NoBREFMA5xkks5AYc0De","title":"分布式算法","pathname":"/java/ji-suan-ji-ji-chu-35/shu-ju-jie-gou-yu-suan-fa/fen-bu-shi-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"JMlpr7vMcyLLpZGGVn5L","title":"分布式算法 - 一致性Hash算法","pathname":"/java/ji-suan-ji-ji-chu-35/shu-ju-jie-gou-yu-suan-fa/fen-bu-shi-suan-fa/fen-bu-shi-suan-fa-yi-zhi-xing-hash-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"分布式算法"}]},{"id":"zICiZrImFYFGqSPV5xvM","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-36","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"3Nb0Biuv4h85Fq7QJDCA","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-36/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"9J4XA282Gpnr3JJoFJ7H","title":"大数据处理","pathname":"/java/ji-suan-ji-ji-chu-36/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"Zh8rWhhEQ0yN62Xm1jpF","title":"大数据处理 - Bitmap & Bloom Filter","pathname":"/java/ji-suan-ji-ji-chu-36/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li/da-shu-ju-chu-li-bitmap-bloom-filter","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"大数据处理"}]},{"id":"eXXsdHbGg2fuUepd4aGZ","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-37","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"nCf9OPayZa3TomORY6SF","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-37/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"59rHi4Zt78R4ZDTSflBs","title":"大数据处理","pathname":"/java/ji-suan-ji-ji-chu-37/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"FDPi1ndKIcq63LQFZzdr","title":"大数据处理 - Map & Reduce","pathname":"/java/ji-suan-ji-ji-chu-37/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li/da-shu-ju-chu-li-map-reduce","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"大数据处理"}]},{"id":"LktImbDf4dxHNRmw0Y6H","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-38","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"R3N9IFAHcfLUUbjuN84O","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-38/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"A0S6GyX46t8e179WIShM","title":"大数据处理","pathname":"/java/ji-suan-ji-ji-chu-38/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"evAMXTogRnI4M3SrnDks","title":"大数据处理 - Trie树/数据库/倒排索引","pathname":"/java/ji-suan-ji-ji-chu-38/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li/da-shu-ju-chu-li-trie-shu-shu-ju-ku-dao-pai-suo-yin","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"大数据处理"}]},{"id":"87hBKEdSEPVH8XdPDPyX","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-39","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"tbZhCad2gEkx5i9RHbdH","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-39/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"reNyIIVYBILnfNcoTWrN","title":"大数据处理","pathname":"/java/ji-suan-ji-ji-chu-39/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"vCGAlJvYEPu0mWPd8SoR","title":"大数据处理 - 分治/hash/排序","pathname":"/java/ji-suan-ji-ji-chu-39/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li/da-shu-ju-chu-li-fen-zhi-hash-pai-xu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"大数据处理"}]},{"id":"bkiqdbQD6miEzTANyvVY","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-40","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"qdiQX8oODaV1f76gBSYV","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-40/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"lfg6DEtADQIw8bZEqCrz","title":"大数据处理","pathname":"/java/ji-suan-ji-ji-chu-40/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"vEGfvt208Cc38L6NrItd","title":"大数据处理 - 双层桶划分","pathname":"/java/ji-suan-ji-ji-chu-40/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li/da-shu-ju-chu-li-shuang-ceng-tong-hua-fen","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"大数据处理"}]},{"id":"nw2KlvLphVqw4oYwtM9u","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-41","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"UQ5YzPGa6zCQPUKQQEJ7","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-41/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"sHvUe1lxQCJJpoJV2MnB","title":"大数据处理","pathname":"/java/ji-suan-ji-ji-chu-41/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"Si1nKIuzh0KP0XTNK3DV","title":"大数据处理 - 外（磁盘文件）排序","pathname":"/java/ji-suan-ji-ji-chu-41/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li/da-shu-ju-chu-li-wai-ci-pan-wen-jian-pai-xu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"大数据处理"}]},{"id":"kBdx6rA33bo5MY5M1PKG","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-42","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"rU3Y0Dt0dylY2K76bpIe","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-42/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"miht2R86Nxn7pb8mwvtV","title":"大数据处理","pathname":"/java/ji-suan-ji-ji-chu-42/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"kbSLMV20hqHEuCsfTv49","title":"大数据处理 - 布隆过滤器","pathname":"/java/ji-suan-ji-ji-chu-42/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li/da-shu-ju-chu-li-bu-long-guo-lv-qi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"大数据处理"}]},{"id":"oU1X3HtTLJdn9LgaCQ4p","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-43","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"2t3sNDub8xwBlR9GICsx","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-43/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"h9R6qAiT3NPqbSweUsUQ","title":"大数据处理","pathname":"/java/ji-suan-ji-ji-chu-43/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"p3MQgiSo4jbBC0QOudCl","title":"大数据处理算法","pathname":"/java/ji-suan-ji-ji-chu-43/shu-ju-jie-gou-yu-suan-fa/da-shu-ju-chu-li/da-shu-ju-chu-li-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"大数据处理"}]},{"id":"kJsH0Zf7JTzBFRsa90J0","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-44","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"yat6u1E9zFPx4yZO4hLF","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-44/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"tX3LFPd3wPjXIjbBXlRb","title":"字符串匹配算法","pathname":"/java/ji-suan-ji-ji-chu-44/shu-ju-jie-gou-yu-suan-fa/zi-fu-chuan-pi-pei-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"L8bIMr8f1DLE2fcFMhdF","title":"字符串匹配 - 文本预处理：后缀树（Suffix Tree）","pathname":"/java/ji-suan-ji-ji-chu-44/shu-ju-jie-gou-yu-suan-fa/zi-fu-chuan-pi-pei-suan-fa/zi-fu-chuan-pi-pei-wen-ben-yu-chu-li-hou-zhui-shu-suffix-tree","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"字符串匹配算法"}]},{"id":"2V7zEndgFmOa4KOOw5sn","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-45","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"FxJJRNCebBNvl5c0m9aX","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-45/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"00a3jMXlXQkxohuCX7wK","title":"字符串匹配算法","pathname":"/java/ji-suan-ji-ji-chu-45/shu-ju-jie-gou-yu-suan-fa/zi-fu-chuan-pi-pei-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"WC6LgdaBBkkQaljOyiq6","title":"字符串匹配 - 模式预处理：BM 算法 (Boyer-Moore)","pathname":"/java/ji-suan-ji-ji-chu-45/shu-ju-jie-gou-yu-suan-fa/zi-fu-chuan-pi-pei-suan-fa/zi-fu-chuan-pi-pei-mo-shi-yu-chu-li-bm-suan-fa-boyermoore","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"字符串匹配算法"}]},{"id":"gDgaXEAqqXsYz4yQPP8r","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-46","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"oWpnMIUj4c2p6AuEvYXj","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-46/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"D1JoIszwhw2PBYmd8cZj","title":"字符串匹配算法","pathname":"/java/ji-suan-ji-ji-chu-46/shu-ju-jie-gou-yu-suan-fa/zi-fu-chuan-pi-pei-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"GgC7qUQR9kOY0qTePIMM","title":"字符串匹配 - 模式预处理：KMP 算法（Knuth-Morris-Pratt）","pathname":"/java/ji-suan-ji-ji-chu-46/shu-ju-jie-gou-yu-suan-fa/zi-fu-chuan-pi-pei-suan-fa/zi-fu-chuan-pi-pei-mo-shi-yu-chu-li-kmp-suan-fa-knuthmorrispratt","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"字符串匹配算法"}]},{"id":"NElEkACtEAnWM42o8qUu","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-47","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"dprVUrb8GnsbEyZcS3zA","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-47/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"KUSy2PSbtm9ovssd2htM","title":"字符串匹配算法","pathname":"/java/ji-suan-ji-ji-chu-47/shu-ju-jie-gou-yu-suan-fa/zi-fu-chuan-pi-pei-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"iA8DFWacO4ElRCSRsPWt","title":"字符串匹配 - 模式预处理：朴素算法（Naive)(暴力破解)","pathname":"/java/ji-suan-ji-ji-chu-47/shu-ju-jie-gou-yu-suan-fa/zi-fu-chuan-pi-pei-suan-fa/zi-fu-chuan-pi-pei-mo-shi-yu-chu-li-pu-su-suan-fa-naive-bao-li-po-jie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"字符串匹配算法"}]},{"id":"wZw5f4mRiDoq7OgCiCFm","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-48","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"kFXftwYm3zQcj2rV8Qxx","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-48/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"Ih3IIJO9WxQo8an6rGBO","title":"字符串匹配算法","pathname":"/java/ji-suan-ji-ji-chu-48/shu-ju-jie-gou-yu-suan-fa/zi-fu-chuan-pi-pei-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"Lysadtii7RxzOnrWP1x7","title":"字符串匹配","pathname":"/java/ji-suan-ji-ji-chu-48/shu-ju-jie-gou-yu-suan-fa/zi-fu-chuan-pi-pei-suan-fa/zi-fu-chuan-pi-pei","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"字符串匹配算法"}]},{"id":"pELhqtGsr6nis9fdJyux","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-49","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Z2Y4bfwTxYNehWrv5X9D","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-49/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"EFIOnkz9FAvgVWrdzr1m","title":"常用算法","pathname":"/java/ji-suan-ji-ji-chu-49/shu-ju-jie-gou-yu-suan-fa/chang-yong-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"KdBGoBKB8J3ZQbHlkSiR","title":"分支限界算法","pathname":"/java/ji-suan-ji-ji-chu-49/shu-ju-jie-gou-yu-suan-fa/chang-yong-suan-fa/fen-zhi-xian-jie-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"常用算法"}]},{"id":"QbhI7TWXgp7bkx7ZD0hh","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-50","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"KJUdcS9LQlJLXBCfU8nn","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-50/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"WELAipa7n7iI1gpI5S1G","title":"常用算法","pathname":"/java/ji-suan-ji-ji-chu-50/shu-ju-jie-gou-yu-suan-fa/chang-yong-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"bI3l0NbzI76QSzT3ItIA","title":"分治算法","pathname":"/java/ji-suan-ji-ji-chu-50/shu-ju-jie-gou-yu-suan-fa/chang-yong-suan-fa/fen-zhi-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"常用算法"}]},{"id":"CgZFARIFu2enARTWHl6F","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-51","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"dkZzGtafoZD4NOtqc5vX","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-51/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"KC57w3nbBeoVcYl8d7c3","title":"常用算法","pathname":"/java/ji-suan-ji-ji-chu-51/shu-ju-jie-gou-yu-suan-fa/chang-yong-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"NcX1vJMYMMKfQnrKTHHe","title":"动态规划算法","pathname":"/java/ji-suan-ji-ji-chu-51/shu-ju-jie-gou-yu-suan-fa/chang-yong-suan-fa/dong-tai-gui-hua-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"常用算法"}]},{"id":"Yh9RtMXeQNfgchsS6ewO","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-52","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"cpYpoh1y3Ox40qmlwnbj","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-52/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"x9scu53jaIFcrq59ayZP","title":"常用算法","pathname":"/java/ji-suan-ji-ji-chu-52/shu-ju-jie-gou-yu-suan-fa/chang-yong-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"brSmVhZwo2CgMurWnPtv","title":"回溯算法","pathname":"/java/ji-suan-ji-ji-chu-52/shu-ju-jie-gou-yu-suan-fa/chang-yong-suan-fa/hui-su-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"常用算法"}]},{"id":"X045rOE3mj4kUC9EglVR","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-53","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"6t0ti8SIG2ISTnTqlP8l","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-53/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"UAJ0d69KWF52dTDspViT","title":"常用算法","pathname":"/java/ji-suan-ji-ji-chu-53/shu-ju-jie-gou-yu-suan-fa/chang-yong-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"F4IkYaYJjzBtYak2V1pH","title":"贪心算法","pathname":"/java/ji-suan-ji-ji-chu-53/shu-ju-jie-gou-yu-suan-fa/chang-yong-suan-fa/tan-xin-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"常用算法"}]},{"id":"Q2WrOjH8MJ9D3ezE6ssr","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-54","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"jI4hdEd7aDAjUaNzGAah","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-54/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"UuhMznfzGSlxvBkbj36h","title":"排序算法","pathname":"/java/ji-suan-ji-ji-chu-54/shu-ju-jie-gou-yu-suan-fa/pai-xu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"CYes06FlEfZxvaCZAIKt","title":"十大排序算法","pathname":"/java/ji-suan-ji-ji-chu-54/shu-ju-jie-gou-yu-suan-fa/pai-xu-suan-fa/shi-da-pai-xu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"排序算法"}]},{"id":"PT10nADkOlcTE1IMSZxb","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-55","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"BrypDrltKFmnfJJqD1ZY","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-55/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"b8qFxHtc2T2mpLdIoz4K","title":"排序算法","pathname":"/java/ji-suan-ji-ji-chu-55/shu-ju-jie-gou-yu-suan-fa/pai-xu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"K0TbRiSbmK8iDnSE185M","title":"图解排序算法(一)之3种简单排序(选择，冒泡，直接插入)","pathname":"/java/ji-suan-ji-ji-chu-55/shu-ju-jie-gou-yu-suan-fa/pai-xu-suan-fa/tu-jie-pai-xu-suan-fa-yi-zhi-3-zhong-jian-dan-pai-xu-xuan-ze-mao-pao-zhi-jie-cha-ru","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"排序算法"}]},{"id":"8xrotDUIREndllXkII1S","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-56","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"IEgYxOcRtdyvSMrAzrKS","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-56/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"oUpgySZeHPmqUzNE8WW3","title":"排序算法","pathname":"/java/ji-suan-ji-ji-chu-56/shu-ju-jie-gou-yu-suan-fa/pai-xu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"S4n6LXdvTFiy9Vrgn4KX","title":"图解排序算法(三)之堆排序","pathname":"/java/ji-suan-ji-ji-chu-56/shu-ju-jie-gou-yu-suan-fa/pai-xu-suan-fa/tu-jie-pai-xu-suan-fa-san-zhi-dui-pai-xu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"排序算法"}]},{"id":"HPxYCV16NaK256XgEdUn","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-57","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"xbiMScVDYLiI8oL98UdR","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-57/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"JnVpIgd7r1aFVRupUTJz","title":"排序算法","pathname":"/java/ji-suan-ji-ji-chu-57/shu-ju-jie-gou-yu-suan-fa/pai-xu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"IkCJ8If6q0VKOM6EfLJM","title":"图解排序算法(二)之希尔排序","pathname":"/java/ji-suan-ji-ji-chu-57/shu-ju-jie-gou-yu-suan-fa/pai-xu-suan-fa/tu-jie-pai-xu-suan-fa-er-zhi-xi-er-pai-xu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"排序算法"}]},{"id":"LfqUAVUkXT7WvJXcD8ha","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-58","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"NtNVputhd5msh1FC6K0z","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-58/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"pgDVf2EQdk04K0GGRA7I","title":"排序算法","pathname":"/java/ji-suan-ji-ji-chu-58/shu-ju-jie-gou-yu-suan-fa/pai-xu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"Wl4AVFZA4LyIrkkF5HhZ","title":"图解排序算法(四)之归并排序","pathname":"/java/ji-suan-ji-ji-chu-58/shu-ju-jie-gou-yu-suan-fa/pai-xu-suan-fa/tu-jie-pai-xu-suan-fa-si-zhi-gui-bing-pai-xu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"排序算法"}]},{"id":"5ZhbVKXZx5Yl82imBYKF","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-59","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"IMsZsHIXwHAclMaiOGBA","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-59/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"9svWGfU962WHCXFA6Xmk","title":"数据结构","pathname":"/java/ji-suan-ji-ji-chu-59/shu-ju-jie-gou-yu-suan-fa/shu-ju-jie-gou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"tFP1koRnvNG3dg6zHYdK","title":"树的高度和深度","pathname":"/java/ji-suan-ji-ji-chu-59/shu-ju-jie-gou-yu-suan-fa/shu-ju-jie-gou/shu-de-gao-du-he-shen-du","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"数据结构"}]},{"id":"2KSTBXjVzee7S1qsW2xW","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-60","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"9w2Mt2zmLjDLvUl40xki","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-60/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"lJRjjttuTVpVaaQkyi3Z","title":"数据结构","pathname":"/java/ji-suan-ji-ji-chu-60/shu-ju-jie-gou-yu-suan-fa/shu-ju-jie-gou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"SixYRbROxTKgpwQ4G7Su","title":"红黑树深入剖析及Java实现","pathname":"/java/ji-suan-ji-ji-chu-60/shu-ju-jie-gou-yu-suan-fa/shu-ju-jie-gou/hong-hei-shu-shen-ru-pou-xi-ji-java-shi-xian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"数据结构"}]},{"id":"7pv3ifq4hSJVCkjjIe3E","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-61","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"BDo1iqKZpRRb7pC6CgGL","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-61/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"Ep1Ts251xXvpi7rGes6I","title":"数据结构","pathname":"/java/ji-suan-ji-ji-chu-61/shu-ju-jie-gou-yu-suan-fa/shu-ju-jie-gou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"yIKHoBitJQGXza4eqT81","title":"线性结构 - Hash","pathname":"/java/ji-suan-ji-ji-chu-61/shu-ju-jie-gou-yu-suan-fa/shu-ju-jie-gou/xian-xing-jie-gou-hash","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"数据结构"}]},{"id":"upI5MWrQJoq9Tk7VaEvD","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-62","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"YZiWbNL3pc6Rhm39jkRW","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-62/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"0C645S0SMnu5GgUttRwl","title":"数据结构","pathname":"/java/ji-suan-ji-ji-chu-62/shu-ju-jie-gou-yu-suan-fa/shu-ju-jie-gou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"5SvInvWZSnkzw6EAUZ73","title":"线性结构 - 数组、链表、栈、队列","pathname":"/java/ji-suan-ji-ji-chu-62/shu-ju-jie-gou-yu-suan-fa/shu-ju-jie-gou/xian-xing-jie-gou-shu-zu-lian-biao-zhan-dui-lie","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"数据结构"}]},{"id":"quIToQd43y0QX1NoqyHd","title":"计算机基础","pathname":"/java/ji-suan-ji-ji-chu-63","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"s4acdlXgmFwQoLbPxA57","title":"数据结构与算法","pathname":"/java/ji-suan-ji-ji-chu-63/shu-ju-jie-gou-yu-suan-fa","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"}]},{"id":"44gnaIXkc9Stf0ygxxx0","title":"数据结构","pathname":"/java/ji-suan-ji-ji-chu-63/shu-ju-jie-gou-yu-suan-fa/shu-ju-jie-gou","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"}]},{"id":"LQBf32EIBmNInyXDmZaf","title":"逻辑结构 - 树","pathname":"/java/ji-suan-ji-ji-chu-63/shu-ju-jie-gou-yu-suan-fa/shu-ju-jie-gou/luo-ji-jie-gou-shu","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"计算机基础"},{"label":"数据结构与算法"},{"label":"数据结构"}]},{"id":"HixUfjU4UlVjiGgQtM0u","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-18","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"wRkGSlJqfPA90CM7iH1X","title":"测试","pathname":"/java/yun-wei-ce-shi-18/ce-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"8CBxQ4A3jHJhnmILfytT","title":"Spock","pathname":"/java/yun-wei-ce-shi-18/ce-shi/spock","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"}]},{"id":"XIT7QQGGvKEZSNFQ2lkS","title":"Groovy 简明教程","pathname":"/java/yun-wei-ce-shi-18/ce-shi/spock/groovy-jian-ming-jiao-cheng","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"},{"label":"Spock"}]},{"id":"F2KVczgEqOigy2SswMkV","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-19","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"OdtbgwqZ5cQgDUFYTE2T","title":"测试","pathname":"/java/yun-wei-ce-shi-19/ce-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"txRcdIjctud651cs009V","title":"Spock","pathname":"/java/yun-wei-ce-shi-19/ce-shi/spock","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"}]},{"id":"43pPn7pd1nGPGRc63ien","title":"Spock 官方文档","pathname":"/java/yun-wei-ce-shi-19/ce-shi/spock/spock-guan-fang-wen-dang","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"},{"label":"Spock"}]},{"id":"1jbByyvs9HL7xqyUjFhO","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-20","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"zhtPnL2hKV5P2X7u3IH9","title":"测试","pathname":"/java/yun-wei-ce-shi-20/ce-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"ISGIXI53YByBF0LOLbfm","title":"Spock","pathname":"/java/yun-wei-ce-shi-20/ce-shi/spock","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"}]},{"id":"ePzBOxkqpkA9b3XmQ724","title":"Spock单元测试框架介绍以及在美团优选的实践","pathname":"/java/yun-wei-ce-shi-20/ce-shi/spock/spock-dan-yuan-ce-shi-kuang-jia-jie-shao-yi-ji-zai-mei-tuan-you-xuan-de-shi-jian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"},{"label":"Spock"}]},{"id":"3NjFuN79zn9P6DcOGOfS","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-21","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"n4wkPzFm4ccPQmgUMrj5","title":"测试","pathname":"/java/yun-wei-ce-shi-21/ce-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"PI0wThGUDftoAjD0Ucm1","title":"TDD","pathname":"/java/yun-wei-ce-shi-21/ce-shi/tdd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"}]},{"id":"7tp48VSVE4Sdoslg5xGA","title":"TDD 实践 - FizzFuzzWhizz（一）","pathname":"/java/yun-wei-ce-shi-21/ce-shi/tdd/tdd-fizzfuzzwhizz-yi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"},{"label":"TDD"}]},{"id":"bG7spxnF25l12oJPBfdG","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-22","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"WDfWfadreHLB9Ew2xJ93","title":"测试","pathname":"/java/yun-wei-ce-shi-22/ce-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"W8NSN3YSBDiZrX01EfYj","title":"TDD","pathname":"/java/yun-wei-ce-shi-22/ce-shi/tdd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"}]},{"id":"5dfNJOdcAHHAAxs5ocEx","title":"TDD 实践 - FizzFuzzWhizz（三）","pathname":"/java/yun-wei-ce-shi-22/ce-shi/tdd/tdd-fizzfuzzwhizz-san","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"},{"label":"TDD"}]},{"id":"NW93By1UeiB7z7lxZi2R","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-23","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"942m4PwNYxG9axwtxMp5","title":"测试","pathname":"/java/yun-wei-ce-shi-23/ce-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"G7sAMb9yCRa0zJmFsCXx","title":"TDD","pathname":"/java/yun-wei-ce-shi-23/ce-shi/tdd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"}]},{"id":"tHSpahqfqO5cYjEMWKa7","title":"TDD 实践 - FizzFuzzWhizz（二）","pathname":"/java/yun-wei-ce-shi-23/ce-shi/tdd/tdd-fizzfuzzwhizz-er","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"},{"label":"TDD"}]},{"id":"IRfsGlQQZkpShvn3EkZY","title":"运维&测试","pathname":"/java/yun-wei-ce-shi-24","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"gn0ZexCZ8Bu2mJsSSPhw","title":"测试","pathname":"/java/yun-wei-ce-shi-24/ce-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"}]},{"id":"GxV73uq4m04cA8gf4kr8","title":"TDD","pathname":"/java/yun-wei-ce-shi-24/ce-shi/tdd","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"}]},{"id":"k88gW3VYFLUZzDAh3g5z","title":"测试驱动开发（TDD）- 原理篇","pathname":"/java/yun-wei-ce-shi-24/ce-shi/tdd/tdd-yuan-li-pian","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"运维&测试"},{"label":"测试"},{"label":"TDD"}]},{"id":"cXU0DDNK84F8OY4kGtPM","title":"微服务","pathname":"/java/wei-fu-wu-17","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"AWlRfjlYkJ934rFYQIJT","title":"Spring Cloud","pathname":"/java/wei-fu-wu-17/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"shpU5GE0lLXEBbob03qe","title":"Spring Cloud Alibaba","pathname":"/java/wei-fu-wu-17/spring-cloud/spring-cloud-alibaba","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"EfN8v4n0Z91e40wtb33q","title":"Nacos","pathname":"/java/wei-fu-wu-17/spring-cloud/spring-cloud-alibaba/nacos","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"}]},{"id":"yt96BnWvZ7kK1ZnuVILY","title":"Nacos 服务注册的原理","pathname":"/java/wei-fu-wu-17/spring-cloud/spring-cloud-alibaba/nacos/nacos-fu-wu-zhu-ce-de-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"},{"label":"Nacos"}]},{"id":"MjCeh2w2KEK7Lp7Fbvnv","title":"微服务","pathname":"/java/wei-fu-wu-18","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Nn29GD0yjajObotAjzxS","title":"Spring Cloud","pathname":"/java/wei-fu-wu-18/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"xd9xakQLoZCg04JKqWMl","title":"Spring Cloud Alibaba","pathname":"/java/wei-fu-wu-18/spring-cloud/spring-cloud-alibaba","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"lzb8qow8480hx163Avxg","title":"Nacos","pathname":"/java/wei-fu-wu-18/spring-cloud/spring-cloud-alibaba/nacos","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"}]},{"id":"W6CatrMUlOC9Bos2yZaJ","title":"Nacos 配置中心原理分析","pathname":"/java/wei-fu-wu-18/spring-cloud/spring-cloud-alibaba/nacos/nacos-pei-zhi-zhong-xin-yuan-li-fen-xi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"},{"label":"Nacos"}]},{"id":"KvWSw3OhlpkTQx62oNaW","title":"微服务","pathname":"/java/wei-fu-wu-19","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"Nbc2JMhB9P9GGvBpr1MJ","title":"Spring Cloud","pathname":"/java/wei-fu-wu-19/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"ixXmjFSVzHaOhhG988SK","title":"Spring Cloud Alibaba","pathname":"/java/wei-fu-wu-19/spring-cloud/spring-cloud-alibaba","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"5tzwZMgub7qZjppAEQOk","title":"Seata","pathname":"/java/wei-fu-wu-19/spring-cloud/spring-cloud-alibaba/seata","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"}]},{"id":"kO9R7RSZZGOw9lAkdaY4","title":"服务调用过程","pathname":"/java/wei-fu-wu-19/spring-cloud/spring-cloud-alibaba/seata/seata-at-mo-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"},{"label":"Seata"}]},{"id":"iWVl8BXRmH8nINAncI4Q","title":"微服务","pathname":"/java/wei-fu-wu-20","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"UUmai9oeZj98aPsZldYp","title":"Spring Cloud","pathname":"/java/wei-fu-wu-20/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"XJRggQPCuvaNouOOV9fN","title":"Spring Cloud Alibaba","pathname":"/java/wei-fu-wu-20/spring-cloud/spring-cloud-alibaba","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"0RJaeFt1QLbDqAzyyMLA","title":"Seata","pathname":"/java/wei-fu-wu-20/spring-cloud/spring-cloud-alibaba/seata","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"}]},{"id":"O5BUfE5aGKKQMRtmuXK3","title":"Spring Cloud Bus","pathname":"/java/wei-fu-wu-20/spring-cloud/spring-cloud-alibaba/seata/seata-saga-mo-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"},{"label":"Seata"}]},{"id":"3VizTYTeBKoMFp2rkkmd","title":"微服务","pathname":"/java/wei-fu-wu-21","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"0PfR4F8Qm9psryDcpgTZ","title":"Spring Cloud","pathname":"/java/wei-fu-wu-21/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"p8pNWTiLuXqgTr2h7q15","title":"Spring Cloud Alibaba","pathname":"/java/wei-fu-wu-21/spring-cloud/spring-cloud-alibaba","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"C0hI3z9pX2Twc6d6QK7I","title":"Seata","pathname":"/java/wei-fu-wu-21/spring-cloud/spring-cloud-alibaba/seata","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"}]},{"id":"ErHALv2WKC6iRo25AoYK","title":"Spring Cloud Consul","pathname":"/java/wei-fu-wu-21/spring-cloud/spring-cloud-alibaba/seata/seata-tcc-mo-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"},{"label":"Seata"}]},{"id":"vHxLize1MAFG7y7oA4zB","title":"微服务","pathname":"/java/wei-fu-wu-22","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"bK8sabHPD3e4M73HTMGJ","title":"Spring Cloud","pathname":"/java/wei-fu-wu-22/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"qbAlZYun6jgK3I5VkX4o","title":"Spring Cloud Alibaba","pathname":"/java/wei-fu-wu-22/spring-cloud/spring-cloud-alibaba","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"PHSUvq1mrC0SescYGZVA","title":"Seata","pathname":"/java/wei-fu-wu-22/spring-cloud/spring-cloud-alibaba/seata","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"}]},{"id":"Q62aCGtNkIDcTxnTk4sg","title":"Spring Cloud Stream","pathname":"/java/wei-fu-wu-22/spring-cloud/spring-cloud-alibaba/seata/seata-xa-mo-shi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"},{"label":"Seata"}]},{"id":"FdDsbMnTPtL4OByHunhT","title":"微服务","pathname":"/java/wei-fu-wu-23","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"DKtQ8hq8GSbG2zEQZFOW","title":"Spring Cloud","pathname":"/java/wei-fu-wu-23/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"NIoW3B2P65BPyj0hxXr7","title":"Spring Cloud Alibaba","pathname":"/java/wei-fu-wu-23/spring-cloud/spring-cloud-alibaba","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"7w4UuY6B3LDx2mmpP5OT","title":"Sentinel","pathname":"/java/wei-fu-wu-23/spring-cloud/spring-cloud-alibaba/sentinel","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"}]},{"id":"xutNd2DPNpWWW0t7ozhU","title":"Sentinel 与 Hystrix 的对比","pathname":"/java/wei-fu-wu-23/spring-cloud/spring-cloud-alibaba/sentinel/sentinel-yu-hystrix-de-dui-bi","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"},{"label":"Sentinel"}]},{"id":"Yu7YeKhrKiLLAvfu02wU","title":"微服务","pathname":"/java/wei-fu-wu-24","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"7S3UOheLeYXMQhsTxh0h","title":"Spring Cloud","pathname":"/java/wei-fu-wu-24/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"uQKLErYqesjG5kL33MyE","title":"Spring Cloud Alibaba","pathname":"/java/wei-fu-wu-24/spring-cloud/spring-cloud-alibaba","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"emyF5YNyMQevmjkHj5XR","title":"Sentinel","pathname":"/java/wei-fu-wu-24/spring-cloud/spring-cloud-alibaba/sentinel","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"}]},{"id":"TqSsriyBzcNNYMaeFffb","title":"Sentinel","pathname":"/java/wei-fu-wu-24/spring-cloud/spring-cloud-alibaba/sentinel/sentinel","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Alibaba"},{"label":"Sentinel"}]},{"id":"XPjGttRqGNNgwDqZa09i","title":"微服务","pathname":"/java/wei-fu-wu-25","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"nTfCaybE1UZCsrir4xRb","title":"Spring Cloud","pathname":"/java/wei-fu-wu-25/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"9JR4UPrTyHuw4o9G875z","title":"Spring Cloud Netflix","pathname":"/java/wei-fu-wu-25/spring-cloud/spring-cloud-netflix","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"nbeuTDLGicIkYNk7P7Ji","title":"Hystrix","pathname":"/java/wei-fu-wu-25/spring-cloud/spring-cloud-netflix/hystrix","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Netflix"}]},{"id":"yniIVDsoZ97FIwjhLixL","title":"How Hystrix Works","pathname":"/java/wei-fu-wu-25/spring-cloud/spring-cloud-netflix/hystrix/how-hystrix-works","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Netflix"},{"label":"Hystrix"}]},{"id":"nqsQdzmQYVTZYAHeNe32","title":"微服务","pathname":"/java/wei-fu-wu-26","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"qWMStVmSlk9U4EmJuljf","title":"Spring Cloud","pathname":"/java/wei-fu-wu-26/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"bl3Jl5lX6fnOfAGohAat","title":"Spring Cloud Netflix","pathname":"/java/wei-fu-wu-26/spring-cloud/spring-cloud-netflix","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"uhlW7TUhaxnShLla0yio","title":"Hystrix","pathname":"/java/wei-fu-wu-26/spring-cloud/spring-cloud-netflix/hystrix","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Netflix"}]},{"id":"ab6Ht9X4GhCRruLlEFa9","title":"Hystrix","pathname":"/java/wei-fu-wu-26/spring-cloud/spring-cloud-netflix/hystrix/hystrix-overview","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Netflix"},{"label":"Hystrix"}]},{"id":"yZ2nYHwR6WQ4oDfe6ypi","title":"微服务","pathname":"/java/wei-fu-wu-27","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"SKV0AbYCuTFgaNiq4mCY","title":"Spring Cloud","pathname":"/java/wei-fu-wu-27/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"G7Qui9rivisDLfRdrqs5","title":"Spring Cloud Netflix","pathname":"/java/wei-fu-wu-27/spring-cloud/spring-cloud-netflix","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"KtLxKUjcMhsUwvklQ2BC","title":"Hystrix","pathname":"/java/wei-fu-wu-27/spring-cloud/spring-cloud-netflix/hystrix","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Netflix"}]},{"id":"N2RZPFZoEHVSGl6pDD7N","title":"Hystrix原理与实战","pathname":"/java/wei-fu-wu-27/spring-cloud/spring-cloud-netflix/hystrix/hystrix-yuan-li-yu-shi-zhan","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Netflix"},{"label":"Hystrix"}]},{"id":"ozxa7UHw0KXCGjyzjfTH","title":"微服务","pathname":"/java/wei-fu-wu-28","siteSpaceId":"sitesp_DEb8c","description":""},{"id":"WLkS5gUVL3exqI4oBG4M","title":"Spring Cloud","pathname":"/java/wei-fu-wu-28/spring-cloud","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"}]},{"id":"9PIc6Orv9SEzSvE2Us98","title":"Spring Cloud Netflix","pathname":"/java/wei-fu-wu-28/spring-cloud/spring-cloud-netflix","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"}]},{"id":"n8PbM31viYbv6FfSmMPT","title":"Hystrix","pathname":"/java/wei-fu-wu-28/spring-cloud/spring-cloud-netflix/hystrix","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Netflix"}]},{"id":"RiAFnfwOXx7JQbYrGmG2","title":"Spring Cloud Hystrix基本原理","pathname":"/java/wei-fu-wu-28/spring-cloud/spring-cloud-netflix/hystrix/spring-cloud-hystrix-ji-ben-yuan-li","siteSpaceId":"sitesp_DEb8c","description":"","breadcrumbs":[{"label":"微服务"},{"label":"Spring Cloud"},{"label":"Spring Cloud Netflix"},{"label":"Hystrix"}]}]}