[
  {
    "path": "README.md",
    "content": "# AwesomeArticles\n\n**收集最好的技术文章**\n\n> 具体原则：\n>\n> * 1、只收集高质量、有深度、带有自己思考性的技术文章。\n> * 2、经典有深度的系列在线文章。\n>\n>\n> * 文章地址: [https://github.com/maoruibin/AwesomeArticles](https://github.com/maoruibin/AwesomeArticles)\n> * 个人主页: [http://gudong.name](http://gudong.name/)\n\n> Note: 文章较多，没有生成目录，建议配合插件[Smart TOC \\- Chrome 网上应用店](https://chrome.google.com/webstore/detail/smart-toc/lifgeihcfpkmmlfjbailfpfhbahhibba)使用\n\n## Dart\n\n### [Dart 语言介绍](https://www.yoytang.com/dart-intro.html)\n\n作者：[deng-dev](https://www.yoytang.com)   时间：2018-01  来源：个人博客\n\n> 从 Dart 的起源以及发展的历史做了简单的回顾，并对 Dart 的优势进行了分析，如果想要了解 Dart, 这篇文章一定有你想要的。\n\n------------------\n\n## 系列文章\n\n\n\n### [Weekly blog](https://github.com/itsCoder/weeklyblog)\n\n作者：[itscoder](https://itscoder.com/)  时间：2017-2018  集体博客\n\n> 一群技术爱好者的 WeeklyBlog,质量不错，可惜现在已经不更新了\n\n------------------\n\n### [深入理解Java技术](http://wingjay.com/categories/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3Java%E6%8A%80%E6%9C%AF/)\n\n作者：[wingjay](http://wingjay.com)  时间：时间：2017-04/05  个人博客\n\n原文：[http://tutorials.jenkov.com/java-concurrency/index.html](http://tutorials.jenkov.com/java-concurrency/index.html)\n\n> 文风不错，有深度，有思考\n\n------------------\n\n### [Android 性能优化](http://hukai.me/blog/categories/android-performance/)\n\n作者：[胡凯](http://hukai.me)  时间：2010-03-16  来源：个人博客\n\n> 性能优化的方方面面，在这里大概都讲到了。\n\n------------------\n\n### [安卓自定义 View 教程](http://www.gcssloop.com/customview/CustomViewIndex)\n\n作者：[GcsSloop](http://www.gcssloop.com)  时间：2016-01-05  来源：个人博客\n\n> 详细的自定义 View 教程，从0到1，带你了解自定义 View 的方方面面。\n\n------------------\n\n\n### [安卓架构组件(Architecture Components) 系列文章翻译](http://www.jianshu.com/p/349f4791a668)\n\n作者：[Chuckiefan](http://chuckiefan.com/)  时间：2017-06-07  来源：简书\n\n> 把国外一个讲解 Architecture Components 系列的文章进行了翻译，其中涉及了 LiveData、Room 等新知识点的详细介绍，翻译的不错\n\n------------------\n\n\n### [Java并发性和多线程指南](http://ifeve.com/java-concurrency-thread-directory/)\n\n作者：[张坤等](http://ifeve.com/)  时间：2013-10-07  并发编程网\n\n原文：[http://tutorials.jenkov.com/java-concurrency/index.html](http://tutorials.jenkov.com/java-concurrency/index.html)\n\n> Java 并发编程指南的一个翻译版本系列，很完整的一个系列\n\n------------------\n\n\n## Java\n\n### [Java 线程池实现原理及其在美团业务中的实践 \\- 美团技术团队](https://tech.meituan.com/2020/04/02/java-pooling-pratice-in-meituan.html)\n\n作者：[美团技术团队](https://tech.meituan.com/)  2020-04-02 \n\n> 美团技术博客出品，流程图画的不错\n\n------------------\n### [全面理解 Java 内存模型\\_Java\\_Heaven Wang 的专栏 \\- CSDN 博客](https://blog.csdn.net/suifeng3051/article/details/52611310)\n\n作者：[CSDN \\- 个人空间](https://me.csdn.net/suifeng3051)  2016-09-21 \n\n> 从 CPU、RAM 硬件模型到线程内存模型，从源头分析了多线程中的问题，对理解 volatile、synchronized 的核心原理非常有帮助\n\n-------------------\n\n### [汇编语言：了解寄存器与内存模型 \\- 地铁程序员 \\- 博客园](https://www.cnblogs.com/yiyi17/p/9283103.html)\n\n作者: 地铁程序员 2018-07-09\n\n> 从汇编语言讲起，对理解 CPU 寄存器、高度缓存很有帮助。\n\n------------------\n\n### [时间复杂度 O(log n) 意味着什么？](https://github.com/xitu/gold-miner/blob/master/TODO/what-does-the-time-complexity-o-log-n-actually-mean.md)\n\n作者：[Maaz \\- Hacker Noon](https://hackernoon.com/@maazrk)   时间：2017-06  来源：掘金翻译   \n\n> 很直白把 LogN 将明白了\n\n------------------\n\n### [了解 JVM 内部](https://www.cubrid.org/blog/understanding-jvm-internals/)\n\n作者：[Se Hoon Park](https://www.cubrid.org)   时间：2017-05-30  来源：国外博客   \n\n> 非常详细的讲解了jvm的宏观概念，同时还把jvm内部的细节通过代码方式逐一做了详细的说明，文章有点长。\n\n------------------\n\n标签：``JVM``\n\n\n------------------\n\n### [关于Java的Hash算法的深入理解](https://blog.csdn.net/sinat_31011315/article/details/78699655)\n\n作者：[千年道士](https://me.csdn.net/sinat_31011315)   时间：2017-12-03  来源：CSDN   \n> 你可能经常使用 HashMap，但是你未必了解 HashMap 一个重要的概念： map 中 key 对应的 hash 算法是干吗的，另外为什么 HashMap 的初始容量为 16，这里面有什么学问，以及认真分析了并发条件下，HashMap 可能会出现回路环的问题。\n\n标签：``HashMap``\n\n------------------\n\n### [Java并发编程：volatile 关键字解析](http://www.importnew.com/18126.html)\n\n作者：[海子](https://home.cnblogs.com/u/dolphin0520/)   时间：2014-08-22  来源：ImportNew   \n> 作者围绕 volatile 关键字把 Java 内存模型以及 Java 运算中的原子性，可见性，有序性有非常深入的分析了一下，读完文章会让你对主内存、工作内存从硬件和软件层面都会有一个非常好的认识。\n\n------------------\n\n### [Java8系列之重新认识HashMap](https://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651745258&idx=1&sn=df5ffe0fd505a290d49095b3d794ae7a&mpshare=1&scene=1&srcid=0602KPwDM6cb3PTVMdtZ0oX1&key=807bd2816f4e789364526e7bba50ceab7c749cfaca8f63fc1c6b02b65966062194edbc2e5311116c053ad5807fa33c366a23664f76b0b440a62a3d40ec12e7e72973b0481d559380178671cc3771a0db&ascene=0&uin=NjkzMTg2NDA%3D&devicetype=iMac+MacBookPro11%2C2+OSX+OSX+10.12.5+build(16F73)&version=12020810&nettype=WIFI&fontScale=100&pass_ticket=ebineaMbB8BVIeUpnUZjBm8%2BZice%2Bhba5IDsVDpufNY%3D)\n\n作者：[李前]()   时间：2016-06-24  来源：公众号\n\n> 见过对 HashMap 分析最透彻的一篇文章了，HashMap 作为面试高频考点，读这篇文章没错！\n\n------------------\n\n### [LinkedHashMap 的实现原理](http://wiki.jikexueyuan.com/project/java-collection/linkedhashmap.html)\n\n作者：[李大辉](http://tracylihui.github.io/)   时间：2016  来源：极客学院\n\n> LinkedHashMap 讲的非常有条理，通俗易懂的好文章。\n\n------------------\n\n### [轻松搞定面试中的链表题目](http://blog.csdn.net/luckyxiaoqiang/article/details/7393134)\n\n作者：[WalkingInTheWind](http://my.csdn.net/WalkingInTheWind)  时间：2012-04-21  来源：CSDN\n\n> 文中对常见的链表面试问题都有相应的解答，代码是用 C 实现的，但重在思路。\n------------------\n\n\n### [Java多线程同步机制(synchronized)](http://blog.csdn.net/openpk/article/details/5383873)\n\n作者：[openpk](http://my.csdn.net/openpk)   时间：2010-03-16  来源：CSDN\n\n> 比较久的一篇文章了，但是对 Synchronize 关键字的解释非常到位，用上厕所的比喻来解释线程同步的概念，例子非常鲜活，好文章。\n------------------\n\n\n### [如何正确地写出单例模式](http://wuchong.me/blog/2014/08/28/how-to-correctly-write-singleton-pattern/)\n\n作者：[Jark](http://wuchong.me/)  时间：2014-08-28  来源：个人博客\n\n> 对单例模式的异同点，为什么这样写都有很好的描述和解答，非常不错的文章。\n------------------\n\n\n\n\n## Android\n\n\n\n### [OkHttp 源码深度解析](https://juejin.im/post/6844904102669844493)\n作者：[OPPO 互联网技术 的个人主页](https://juejin.im/user/3456520290310397)  时间：2020-03-05  来源：掘金\n> 对 OKHTTP 进行结构拆分，没有粘贴大量的代码。阅读体验不错。\n\n------------------\n\n### [kotlin \\- Coroutine 协程 \\- 简书](https://www.jianshu.com/p/76d2f47b900d)\n作者：[前行的乌龟](https://www.jianshu.com/u/fb093dd92ed8)  时间：2019-03-28  来源：简书\n> 协程与线程的区别讲的很明白。\n\n------------------\n\n### [清晰理解红黑树的演变\\-\\-\\-红黑的含义 \\- 甜菜波波 \\- 博客园](https://www.cnblogs.com/tiancai/p/9072813.html)\n作者：[甜菜波波 \\- 博客园](https://www.cnblogs.com/tiancai/)\n> mark \n标签：`红黑树`\n\n------------------\n\n### [Improving Comment Rendering on Android \\- Instagram Engineering](https://instagram-engineering.com/improving-comment-rendering-on-android-a77d5db3d82e)  \n作者：Instagram Engineering 来源 [Instagram Engineering](https://instagram-engineering.com/@InstagramEng)\n\n> 简单直白的把 TextView 的性能问题做了分析并给出了解决方法 TextLayoutCache，另外简书一篇文章也不错 [TextView性能瓶颈，渲染优化，以及StaticLayout的一些用处 \\- 简书](https://www.jianshu.com/p/9f7f9213bff8)\n\n------------------\n\n### [服务概览](https://developer.android.com/guide/components/services?hl=zh-cn)\n\n\n作者：Android 官方 来源 官网\n\n> 官方文档永远是一手资料，Service 的文档写的尤其好。\n\n------------------\n\n### [Android混淆从入门到精通 \\- 简书](https://www.jianshu.com/p/7436a1a32891)\n\n\n作者：[CPPAlien \\- 彭涛的博客](http://www.pengtao.me/)  时间：2016.09.22  来源：简书\n\n> 对 Android 混淆由浅入深的讲解，细致且全面，好评。\n\n------------------\n\n\n### [Android消息机制，你真的了解Handler吗？](https://mp.weixin.qq.com/s/JSrMjvBVBYeq6iBOWTGUng)\n\n作者：[凶残的程序员](http://blog.csdn.net/qian520ao)  时间：2017.11.17  来源：公众号\n\n> 由 Handler 展开分析了不少，尤其对 Looper.loop() 分析摘录很棒，文中的链接也很有价值\n\n------------------\n\n### [Android 沉浸式解析和轮子使用\\-InfoQ](https://www.infoq.cn/article/PaCj30OK19ubiSbdrbHG)\n\n作者：[黑羽](https://www.infoq.cn/profile/1641146)  时间：2019.08.29  来源：InfoQ\n\n> 沉浸式说的很明白，尤其对不同版本的差异说的很清楚。\n\n------------------\n\n\n### [探索Activity之启动Intent Flag和taskAffinity \\- 简书](https://www.jianshu.com/p/c97688eb5056#h5o-9)\n\n作者：[anly_kun](https://www.jianshu.com/u/bc1dacc65fae)  时间：2016.07.31  来源：简书\n\n> 对照官方文档按个验证了 Intent.Flag 的不同属性，尽信书则不如无书，官方文档一些描述确实需要更新了\n\n------------------\n\n### [谈谈Android的so \\| Allen's Zone](http://allenfeng.com/2016/11/06/what-you-should-know-about-android-abi-and-so/)\n\n\n作者：[Allen](http://allenfeng.com)  时间：2016-11-06  来源：个人博客\n\n> 十分全面的讲解了 Android 中 .so 文件的相关内容。\n\n------------------\n\n\n\n### [Android 开发者必知必会的权限管理知识](http://mp.weixin.qq.com/s/-CzDkEur-iIX0lPMsIS0aA)\n\n\n作者：[freddyyao]()  时间：2017-08-03  来源：腾讯 bugly \n\n> 对 Android 6，0之前的权限适配讲解很棒。\n\n------------------\n\n\n\n### [Android ListView 与 RecyclerView 对比浅析--缓存机制](https://mp.weixin.qq.com/s/OQRHEufCUXBA3d3DMZXMKQ)\n\n作者：[黄宁源]()  时间：2016-10-27  来源：腾讯 bugly \n\n> RecycleView 的缓存机制很重要，也是区别于 ListView 最大的地方，这篇文章图文并茂的讲解了两者的区别，值得反复阅读，同时如作者所言 ``结合源码食用更佳。``，另外这篇可以跟 ``RecyclerView 必知必会`` 一起阅读，可能收获更多。\n\n------------------\n\n\n\n### [RecyclerView 必知必会](https://mp.weixin.qq.com/s/CzrKotyupXbYY6EY2HP_dA)\n\n\n作者：[腾讯 天天P图团队——damonxia(夏正冬)，Android工程师]()  时间：2017-01-05  来源：腾讯 bugly \n\n> 从使用层面讲，这一篇几乎涵盖了 RecycleView 的方方面面，包括 LayoutManage、Divider 等知识的讲解，很细致。\n\n\n------------------\n\n\n\n### [Binder学习指南](http://weishu.me/2016/01/12/binder-index-for-newer/)\n\n\n作者：[Weishu](http://weishu.me/)  时间：2016-01-12  来源：个人博客  \n\n> 关于 Binder 的介绍很细致，值得反复阅读。\n\n\n------------------\n\n\n\n### [Dagger2 入门,以初学者角度](https://www.jianshu.com/p/1d84ba23f4d2)\n\n\n作者：[zFxiang_](http://blog.izouxiang.cn/)  时间：2016-10-29  来源：简书  \n\n> 深入浅出 Dagger2 ，讲的非常棒！Dagger2 的诸多点都讲到了，而且关联的特别好！\n\n\n------------------\n\n\n\n### [Android应用开发之所有动画使用详解](http://blog.csdn.net/yanbober/article/details/46481171)\n\n\n作者：[工匠若水](http://blog.csdn.net/yanbober)  时间：2015-08-09  来源：CSDN  \n\n> 对 Android 动画的使用做了详尽的介绍，文中没有关于动画的原理做介绍，但是对于整个 Android 动画的几种使用方式概括的非常全面，包括一些很小众的动画技巧也有提到，不过动画还是要靠不断的练习才能更上一层楼。\n\n\n------------------\n\n\n\n\n### [全面了解Android Notification](http://www.jianshu.com/p/22e27a639787)\n\n\n作者：[ConnorLin](http://www.jianshu.com/u/e560b2e52672)  时间：2016-04-21  来源：简书  \n\n> 条理清晰，对 notification 的使用做了方方面面的讲解，一篇好教程。\n\n\n\n------------------\n\n\n\n### [安卓自定义View进阶-MotionEvent详解](http://www.gcssloop.com/customview/motionevent)\n\n作者：[GcsSloop](http://www.gcssloop.com)  时间：2016-11-02  来源：个人博客  \n> 对 ACTION_CANCEL 和 ACTION_OUTSIDE 的讲解尤其精辟\n\n------------------\n\n\n\n### [ContentProvider从入门到精通](http://www.jianshu.com/p/f5ec75a9cfea)\n\n作者：[澳特慢](http://pengtao.me)  时间：2016-05-02  来源：简书\n\n> 对 ContentProvider 的作用以及在 Android 中的地位描述很恰当，另外在使用说明也比较详细。个人平时使用 ContentProvider 还是做跨进程数据同步多一点，因为 SharePreference 在跨进程情景下不可靠，所以包装 ContentProvider 后会特别合适，具体的实现可以参看 [tray](https://github.com/grandcentrix/tray)。\n\n\n------------------\n\n\n### [深入理解Android之View的绘制流程](http://www.jianshu.com/p/060b5f68da79)\n\n作者：[absfree](http://www.jianshu.com/u/640ce09fd6ec)  时间：2016-11-07  来源：简书\n\n> Window  PhoneWindow 概念描述的很清楚。\n\n------------------\n\n\n\n### [Android内存优化杂谈 ](https://mp.weixin.qq.com/s/Z7oMv0IgKWNkhLon_hFakg)\n\n作者：[shwenzhang](https://github.com/shwenzhang)  时间：2016-12-15  来源：公众号\n\n> 尽管是15年的文章了，但是涵盖的内容还是非常全面的，尤其是微信对待问题的态度，还有处理内存问题的方式都很值得学习。从文章中可以学到他们他们对问题追踪的一些实践经验。\n\n\n------------------\n\n\n\n### [Android 进程保活招式大全](https://mp.weixin.qq.com/s/OXiFQNTyCHpqSP6B9HOiHw)\n\n作者：张兴华  时间：2016-08-11  来源：公众号\n\n> 如文章名字一样，一点都不标题档，文章很有条理。从进程优先级说起，然后讲了各种保活方式，更难能可贵的是对不同保活方式在不同 Android 版本上的表现也做了说明。\n\n------------------\n\n\n\n### [我打赌你一定没搞明白的Activity启动模式](http://www.jianshu.com/p/2a9fcf3c11e4)\n\n作者：[尹star](http://www.jianshu.com/u/bd3befbe51d0)  时间：2016-05-31  来源：简书\n\n> 讲的很透彻，读完后你会对 Activity 的启动模式，任务栈有更深的了解。\n\n------------------\n\n\n\n### [一文读懂Android View事件分发机制](https://www.jianshu.com/p/238d1b753e64)\n\n作者：[Flyzend](https://github.com/flyzend)  时间：2017-05-22  来源：简书\n\n> 文风诙谐，分析有理，喜欢这样的文章。\n\n------------------\n\n\n\n### [Android事件分发机制详解：史上最全面、最易懂](http://www.jianshu.com/p/38015afcdb58)\n\n作者：[Carson_Ho](http://www.jianshu.com/u/383970bef0a0)  时间：2016-01-06  来源：简书\n\n> 图文并茂，非常有条理，了解事件分发，只此一篇文章即可，不用多找。另外作者的一些其他文章貌似也不错。\n\n------------------\n\n\n\n### [Handler异步通信机制全面解析](http://www.jianshu.com/p/9fe944ee02f7)\n\n作者：[Carson_Ho](http://www.jianshu.com/u/383970bef0a0)  时间：2016-04-30  来源：简书\n\n> Handler 的方方面面都说到了，描述很精准，深度好文。    \n\n------------------\n\n\n\n### [Fragment完全解析三步曲 ](http://www.jianshu.com/p/d9143a92ad94)\n\n作者：[YoKey](https://github.com/YoKeyword)  时间：2016-02-27  来源：简书\n\n> 对 Fragment 中的各种 bug 做了解释,并提供了解决方案，良心作者。\n\n\n------------------\n\n\n## 网络\n\n### [HTTP 协议入门](http://www.ruanyifeng.com/blog/2016/08/http.html)  \n\n  作者：[阮一峰](http://www.ruanyifeng.com/)  时间：2016-08-19  来源：个人博客  \n\n> Http 协议很庞大，但是作者从历史发展谈起，从简单到复杂，循序渐进，作为对 Http 协议的入门了解，这篇文章非常不错。\n\n\n------------------\n\n\n\n\n## 前端\n\n### [Flex 布局教程：语法篇](http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html)\n\n  作者：[阮一峰](http://www.ruanyifeng.com/)  时间：2015-07-10  来源：个人博客  \n\n> 自己接触前端页面挺早，但是对前端的布局不感冒，跟客户端布局相比，总觉得前端布局比较麻烦，各种 CSS 属性，直到遇到了 Flex 布局，之前就看过阮老师的这篇文章，通俗易懂，非常不错。\n\n\n------------------\n\n\n\n## 后端\n\n### [我所认为的RESTful API最佳实践](https://www.scienjus.com/my-restful-api-best-practices/)\n\n  作者：[ScienJus](https://www.scienjus.com)  时间：2016-04-03  来源：个人博客  \n\n> 作者应该是个后端工程师，文章列举了自己开发过程中总结出的 Restful API 最佳实践，很实用。\n\n\n------------------\n\n\n\n## About\n咕咚\n\n你可以通过下面的方式联系到我，欢迎关注。\n\n* [个人博客主页](http://gudong.name/)\n\n* [Github 主页](https://github.com/maoruibin)\n\n* [微博主页](http://weibo.com/u/1874136301)\n\n> <img src=\"http://7xr9gx.com1.z0.glb.clouddn.com/qrcode_for_gh_58ac6be237a4_430.jpg\" style=\"width: 50%;\">\n\n> 公众号 - 大侠咕咚\n"
  }
]