{"id":18468086,"url":"https://github.com/linsir6/androidnote","last_synced_at":"2025-04-08T11:08:37.854Z","repository":{"id":44470695,"uuid":"92409242","full_name":"linsir6/AndroidNote","owner":"linsir6","description":"Android基础知识、Android进阶知识、Android自定义View相关、面试相关的知识，欢迎fork，star～","archived":false,"fork":false,"pushed_at":"2023-03-04T09:13:27.000Z","size":13952,"stargazers_count":1653,"open_issues_count":0,"forks_count":401,"subscribers_count":57,"default_branch":"master","last_synced_at":"2025-04-01T09:30:47.637Z","etag":null,"topics":["android","androidnote","blog","customview"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linsir6.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-25T14:03:35.000Z","updated_at":"2025-03-23T06:33:04.000Z","dependencies_parsed_at":"2024-12-21T17:06:06.157Z","dependency_job_id":"7ee0033d-1cf7-49e3-acf5-5c35c55f1857","html_url":"https://github.com/linsir6/AndroidNote","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linsir6%2FAndroidNote","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linsir6%2FAndroidNote/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linsir6%2FAndroidNote/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linsir6%2FAndroidNote/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linsir6","download_url":"https://codeload.github.com/linsir6/AndroidNote/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247829491,"owners_count":21002995,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","androidnote","blog","customview"],"created_at":"2024-11-06T10:04:46.026Z","updated_at":"2025-04-08T11:08:37.824Z","avatar_url":"https://github.com/linsir6.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Android-Note\n\n[![Travis](https://img.shields.io/badge/build-passing-brightgreen.svg)](https://github.com/linsir6) [![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html) [![GitHub (pre-)release](https://img.shields.io/badge/release-v1.0.3-ff69b4.svg)](https://github.com/linsir6/Android-Notes/releases) [![User](https://img.shields.io/badge/user-linsir-yellow.svg)](https://github.com/linsir6)\n\n\n![](/AndroidNote/img/android-note2.jpg)\n\n\n**Android-Note里面记录了有关Android的常用基础知识、面试中经常被问到的知识点、Android进阶必备的知识。**\n\n由于目前正处在春招的时间点上，博主也正在积极准备春招，在这里把一些面试常问到的知识点总结一下。\n\n专门为面试准备的面试内容: https://github.com/linsir6/Android-Advance\n\n## Android\n\n### 基础\n\n- [Activity详细解析](/AndroidNote/Android基础/Activity详细解析.md)\n- [Service详细解析](/AndroidNote/Android基础/Service详细解析.md)\n- [IntentService详细解析](/AndroidNote/Android基础/IntentService详细解析.md)\n- [IntentService原理解析文章](https://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==\u0026mid=401611665\u0026idx=1\u0026sn=9b6b1f2924d4adfe4e89a322ab53df9c\u0026scene=21#wechat_redirect)\n- [ContentProvider实例详解](/AndroidNote/Android基础/ContentProvider实例详解.md)\n- [BroadcastReceiver详细解析](/AndroidNote/Android基础/BroadcastReceiver详细解析.md)\n- [Android异步任务机制之AsycTask](/AndroidNote/Android基础/Android异步任务机制之AsycTask.md)\n- [Handler,Looper,MessageQueue关系](/AndroidNote/Android基础/Handler,Looper,MessageQueue关系.md)\n- [Android-SQLite的基本使用](/AndroidNote/Android基础/Android-SQLite的基本使用.md)\n- [Android系统相机与相册的使用](/AndroidNote/Android基础/Android中相机与相册的详细使用.md)\n- [图片缓存原理](/AndroidNote/Android基础/图片缓存原理.md)\n- [Android数据存储的五种方式](/AndroidNote/Android基础/Android数据存储的五种方式.md)\n- [Android跟随手指移动的View](/AndroidNote/Android基础/Android跟随手指移动的view.md)\n- [RecyclerView的使用](/AndroidNote/Android基础/RecyclerView的简介.md)\n- [Android获取SHA1](/AndroidNote/Android基础/Android获取SHA1.md)\n- [Recyclerview和Listview的异同.md](/AndroidNote/Android进阶/Recyclerview和Listview的异同.md)\n- [TabLayout记录](/AndroidNote/Android基础/tablayout记录.md)\n\n\n\n### Android进阶\n\n- [Android 触控事件解析 - Mastering The Android Touch System 笔记](https://www.jianshu.com/p/c65da5e81afd)\n- [Android 多进程使用场景](http://blog.csdn.net/qq_27489007/article/details/54377655)\n- [Android官网建议代码规范](https://source.android.com/source/code-style#java-language-rules)\n- [Android中的动画](/AndroidNote/Android进阶/Android中的动画.md)\n- [深入了解MVXX模式](/AndroidNote/Android进阶/深入了解MVXX模式.md)\n- [Android项目总结](/AndroidNote/Android进阶/Android项目总结.md)\n- [Android项目总结2](/AndroidNote/Android进阶/Android项目总结2.md)\n- [自定义RadioGroup](/AndroidNote/Android进阶/自定义RadioGroup.md)\n- [Android导入项目一直在Building的解决方案](/AndroidNote/Android进阶/AndroidStudio导入工程一直在Building的解决方案.md)\n- [基于TOTP的双向认证算法](/AndroidNote/Android进阶/基于OTP算法的双向认证.md)\n- [Android内存泄漏总结.md](/AndroidNote/Android进阶/Android内存泄漏总结.md)\n- [Handler引起的内存泄漏的案例与分析](/AndroidNote/Android进阶/Handler引起的内存泄漏以及分析.md)\n- [Android性能优化.md](/AndroidNote/Android进阶/Android性能优化.md)\n- [LeakCanary的工作过程以及原理](AndroidNote/Android性能优化相关/LeakCanary工作过程以及原理.md)\n- [Android中利用异步来优化处理速度](https://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==\u0026mid=401555104\u0026idx=1\u0026sn=501e6158e6eb26b4e86467be01fd290e\u0026scene=21#wechat_redirect)\n- [为什么选择Binder实现Android中跨进程通信](https://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==\u0026mid=2649548116\u0026idx=1\u0026sn=d11a131871623110c74e3676d4fcf785\u0026chksm=f1180e29c66f873f9cac5dc104f97fae319c1831219a9fd9458a4429f16562f6712cc7f65a4c\u0026scene=21#wechat_redirect)\n- [三大图片缓存框架的对比](https://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==\u0026mid=2649547344\u0026idx=2\u0026sn=e3fa99b52055a37202634fe61a62d439\u0026scene=21#wechat_redirect)\n- [SVG图片在Android中的应用](https://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==\u0026mid=2649548366\u0026idx=1\u0026sn=6cbdf8652ec139859d9be01444e1ad3b\u0026chksm=f1180d33c66f8425a286de4fd5f03aa89308add3593529a91356439cb8c2f8542305561034c8\u0026scene=21#wechat_redirect)\n- [携程App的网络性能优化实践](https://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==\u0026mid=2649547359\u0026idx=1\u0026sn=9f069a28f5dbe73fb6c241cfa1049571\u0026scene=21#wechat_redirect)\n- [途牛插件化原理](https://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==\u0026mid=2649547401\u0026idx=1\u0026sn=e615735d600f987a7f769f7e278d0840\u0026scene=21#wechat_redirect)\n- [Android分包原理](https://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==\u0026mid=2649547390\u0026idx=1\u0026sn=1fae14b1753e437a032640be81c475b8\u0026scene=21#wechat_redirect)\n- [插件化实现的思想](https://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==\u0026mid=2649547660\u0026idx=1\u0026sn=d2764b282fdf1c1fdb629f9c2ca9b10f\u0026scene=21#wechat_redirect)\n- [Android 7.0新特性总结](https://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==\u0026mid=2649548427\u0026idx=1\u0026sn=df9956d131a6da5f29292cd05a61b16e\u0026chksm=f1180df6c66f84e0097eea33bba6abb125b6bcd6847720a7c481a85001a52ae2e4b1941690eb\u0026scene=21#wechat_redirect)\n- [RecyclerView局部刷新的坑](http://blog.csdn.net/jdsjlzx/article/details/52893469)\n- [Android单元测试](https://tech.meituan.com/Android_unit_test.html)\n- [gradle 详解——你真的了解Gradle吗？](http://blog.csdn.net/u013132758/article/details/52355915)\n- [AndroidStudio-Gradle多渠道打包](http://stormzhang.com/devtools/2015/01/15/android-studio-tutorial6/)\n- [Android基础入门教程——8.1.1 Android中的13种Drawable小结 Part 1](http://blog.csdn.net/coder_pig/article/details/49006217)\n- [Android基础入门教程——8.1.2 Android中的13种Drawable小结 Part 2](http://blog.csdn.net/coder_pig/article/details/49008397)\n- [Android-Drawable高级用法](http://blog.csdn.net/lmj623565791/article/details/43752383)\n- [Android 4.4 中 WebView 使用注意事项](https://github.com/cundong/blog/blob/master/Android%204.4%20%E4%B8%AD%20WebView%20%E4%BD%BF%E7%94%A8%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9.md)\n- [Android图像处理 - 高斯模糊的原理及实现](https://mp.weixin.qq.com/s?__biz=MzI2MTU3MTE4NQ==\u0026mid=2247483896\u0026idx=1\u0026sn=50c61e2c78aa610a1944be6a89bd75e5\u0026chksm=ea5916e6dd2e9ff0a62af64c7f345ffb5c6dafdb65847b757b99afcc6fed8e1270e915dbcb25\u0026mpshare=1\u0026scene=23\u0026srcid=1001DxwdQpiMwea74mczpSw8#rd)\n- [Android实战——GreenDao3.2的使用，爱不释手](https://mp.weixin.qq.com/s/4Nx2DacsK65O5LanPZUszA)\n- [Realm for Android详细教程](http://www.jianshu.com/p/28912c2f31db#)\n- [给 Android 开发者的 RxJava 详解](http://gank.io/post/560e15be2dca930e00da1083)\n- [Android 谈谈自动化测试](https://mp.weixin.qq.com/s/-0e1wd2iveQPMWgGFcmOwQ)\n- [检查app是否具有通知栏权限](/AndroidNote/Android进阶/检查app是否有推送权限.md)\n- [Android中图片压缩分析（上）](https://mp.weixin.qq.com/s/QZ-XTsO7WnNvpnbr3DWQmg)\n- [Android Studio3.0更新之路（遇坑必入）](http://www.jianshu.com/p/15afb8234d19)\n- [Android Studio3.0正式版填坑路](http://www.jianshu.com/p/9b25087a5d7d)\n- [Android混合编程：WebView实践](https://juejin.im/post/59f17a7051882546d71e91a7)\n- [runOnUiThread 、Handler.post、View.post之间的区别](https://blog.csdn.net/dengpeng_/article/details/78804404)\n- [理解 Activity.runOnUiThread](https://www.jianshu.com/p/e39449026f21)\n- [Android 探究 LayoutInflater setFactory](https://blog.csdn.net/lmj623565791/article/details/51503977)\n- [巧用ViewPager 打造不一样的广告轮播切换效果](https://blog.csdn.net/lmj623565791/article/details/51339751)\n- [为RecyclerView打造通用Adapter 让RecyclerView更加好用](https://blog.csdn.net/lmj623565791/article/details/51118836)\n- [MNCrashMonitor 监听程序崩溃日志,直接页面展示崩溃日志列表](http://www.wanandroid.com/blog/show/2207)\n- [『进阶之路』—— 线程池](http://www.wanandroid.com/blog/show/2264)\n- [从json文件到炫酷动画-Lottie实现思路和源码分析](https://www.jianshu.com/p/81be1bf9600c)\n\n\n### Gradle相关\n\n- [如何理解 Transform API](https://juejin.im/entry/59776f2bf265da6c4741db2b)\n- [Android Dex分包之旅](http://yydcdut.com/2016/03/20/split-dex/)\n- [gradle简单入门系列](http://www.cnblogs.com/davenkin/p/gradle-learning-1.html)\n- [Gradle简单配置](https://mp.weixin.qq.com/s/1UHcYOudViMhpUYeREZzGA)\n- [Android 如何编写基于编译时注解的项目](https://blog.csdn.net/lmj623565791/article/details/51931859)\n\n\n### 插件化相关\n\n- [滴滴插件化方案 VirtualApk 源码解析](https://blog.csdn.net/lmj623565791/article/details/75000580)\n\n\n### 热修复相关\n\n- [Android 热修复 Tinker Gradle Plugin解析](https://blog.csdn.net/lmj623565791/article/details/72667669)\n- [Android 热修复 Tinker接入及源码浅析](https://blog.csdn.net/lmj623565791/article/details/54882693)\n- [Android 热修复 Tinker 源码分析之DexDiff / DexPatch](https://blog.csdn.net/lmj623565791/article/details/60874334)\n\n\n\n### 自定义View\n\n- [自定义View入门](/AndroidNote/Android自定义View/自定义View入门.md)\n- [自定义view详细教程](https://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==\u0026mid=2649547668\u0026idx=1\u0026sn=b2667c46188c6674c90aa72c2fba4719\u0026scene=21#wechat_redirect)\n- [自定义ViewGroup入门](/AndroidNote/Android自定义View/自定义ViewGroup入门.md)\n- [Android事件分发机制](/AndroidNote/Android自定义View/Android事件分发机制.md)\n- [CameraView](/AndroidNote/Android自定义View/自定义View——CameraView.md)\n- [CheckView](/AndroidNote/Android自定义View/自定义View——CheckView.md)\n- [CircleView](/AndroidNote/Android自定义View/自定义View——CircleView.md)\n- [FlowLayout](/AndroidNote/Android自定义View/自定义View——FlowLayout.md)\n- [PieView](/AndroidNote/Android自定义View/自定义View——PieView.md)\n- [SlideslipListView](/AndroidNote/Android自定义View/自定义view——sideslipListView.md)\n- [二阶贝塞尔曲线](/AndroidNote/Android自定义View/二阶贝塞尔曲线.md)\n- [三阶贝塞尔曲线](/AndroidNote/Android自定义View/三阶贝塞尔曲线.md)\n- [贝塞尔曲线Demo](https://github.com/linsir6/mCustomView/tree/master/BezierDemo)\n- [具有弹性的小球](https://github.com/linsir6/mCustomView/tree/master/MagicCircle)\n- [PathMeasure](/AndroidNote/Android自定义View/PathMeasure.md)\n\n\n### 编译器相关\n\n- [Android Studio 3.0 新功能解析和旧项目适配](https://mp.weixin.qq.com/s/met0fke7rKumb7Nlb5hxpA)\n- [Android-studio使用教程1](/AndroidNote/Android编译器相关/AndroidStudio使用教程(第一弹).md)\n- [Android-studio使用教程2](/AndroidNote/Android编译器相关/AndroidStudio使用教程(第二弹).md)\n- [Android-studio使用教程3](/AndroidNote/Android编译器相关/AndroidStudio使用教程(第三弹).md)\n- [Android-studio使用教程4](/AndroidNote/Android编译器相关/AndroidStudio使用教程(第四弹).md)\n- [Android-studio使用教程5](/AndroidNote/Android编译器相关/AndroidStudio使用教程(第五弹).md)\n- [Android-studio使用教程6](/AndroidNote/Android编译器相关/AndroidStudio使用教程(第六弹).md)\n- [Android-studio使用教程7](/AndroidNote/Android编译器相关/AndroidStudio使用教程(第七弹).md)\n\n\n\n\n### 面试题\n- [Android动态加载技术三个关键问题详解](https://blog.tingyun.com/web/article/detail/166)\n- [Android组件化方案](http://blog.csdn.net/guiying712/article/details/55213884)\n- [Android插件化系列第（二）篇---动态加载技术之apk换肤](https://www.jianshu.com/p/d1c6e67f7889)\n- [Android插件化系列第（三）篇---Hook技术之View点击劫持](https://www.jianshu.com/p/dfc6e3989511)\n- [Android性能优化之布局优化](https://www.cnblogs.com/hoolay/p/6248514.html)\n- [简易断点续传下载器实现](https://www.jianshu.com/p/5b2e22c42467)\n- [超详细面试基础题](https://mp.weixin.qq.com/s/YVvV3-RUjbqYo-DYY3E6nA)\n- [JVM结构、GC工作机制详解](http://blog.csdn.net/tonytfjing/article/details/44278233)\n- [深入探讨类加载器](https://www.ibm.com/developerworks/cn/java/j-lo-classloader/)\n- [找到无序数组中最小的K个数](https://www.cnblogs.com/xiaomoxian/archive/2016/02/11/5186762.html)\n- [字符编码笔记：ASCII，Unicode和UTF-8](http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html)\n- [Android 消息机制——你真的了解Handler？](http://blog.csdn.net/qian520ao/article/details/78262289?locationNum=2\u0026fps=1)\n- [高并发下线程安全的单例模式](http://blog.csdn.net/cselmu9/article/details/51366946)\n- [深入源码解析Android中的Handler,Message,MessageQueue,Looper](http://blog.csdn.net/iispring/article/details/47180325)\n- [十大基础算法](https://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==\u0026mid=401441966\u0026idx=1\u0026sn=653fe22c5a7e6c221fbf121124fd18a2\u0026scene=21#wechat_redirect)\n- [一套比较好的面试题](http://blog.csdn.net/xhmj12/article/details/54730883)\n- [Android中常见面试题](/AndroidNote/Android面试相关/Android中常见面试题.md)\n- [一套比较完整的面试题](/AndroidNote/Android面试相关/面试题.md)\n- [Android 5.0 6.0 7.0新特性](/AndroidNote/Android面试相关/Android5.0-6.0-7.0新特性.md)\n- [Android中弱引用与软引用](/AndroidNote/Android面试相关/Android中弱引用与软引用.md)\n- [Android推送实现原理](/AndroidNote/Android面试相关/Android推送实现原理.md)\n- [Asset目录与res目录的区别](/AndroidNote/Android面试相关/Asset目录与res目录的区别.md)\n- [JSON的定义](/AndroidNote/Android面试相关/JSON的定义.md)\n- [ListView性能优化](/AndroidNote/Android面试相关/ListView性能优化.md)\n- [Android图片三级缓存](/AndroidNote/Android面试相关/Android图片三级缓存.md)\n- [Service保活](/AndroidNote/Android面试相关/Service保活.md)\n- [如何提高Activity启动速度](/AndroidNote/Android面试相关/如何提高Activity启动速度.md)\n- [如何终止App的运行](/AndroidNote/Android面试相关/如何终止App的运行.md)\n- [如何实现Activity切换的动画](/AndroidNote/Android面试相关/如何实现Activity切换的动画.md)\n\n\n### 性能优化\n\n- [Android开发性能优化总结(一)](http://blog.csdn.net/gs12software/article/details/51173392)\n- [Android开发性能优化总结(二)](http://blog.csdn.net/gs12software/article/details/51234454)\n\n\n### 开源框架\n\n- [当下流行开源框架总览](/AndroidNote/Android开源框架相关/Android当下最流行的开源框架总结.md)\n- [easypermission](/AndroidNote/Android开源框架相关/动态申请权限库：easypermissions使用与源码解析.md)\n- [ButterKnifeZelezny](/AndroidNote/Android开源框架相关/Android黑科技——ButterKnifeZelezny.md)\n- [RxJava+retrofit2](/AndroidNote/Android开源框架相关/RxJava+retrofit2实现安卓中网络操作.md)\n- [LinLog](/AndroidNote/Android开源框架相关/一款Android的Log、Toast的库.md)\n- [Retrofit 2.0 使用教程](http://www.jianshu.com/p/a3e162261ab6)\n- [retrofit 2.0 源码解析](http://www.jianshu.com/p/0c055ad46b6c)\n- [关于 RxJava 背压](https://juejin.im/entry/58e704cbac502e4957b230eb)\n- [RxJava 2.0中backpressure(背压)概念的理解](https://blog.csdn.net/jdsjlzx/article/details/52717636)\n- [Retrofit2 完全解析 探索与okhttp之间的关系](https://blog.csdn.net/lmj623565791/article/details/51304204)\n\n\n### 打包\n\n- [打包jar包或aar包](/AndroidNote/Android打包相关/Android将library打包成jar文件或aar文件.md)\n- [发布sdk到jcenter](/AndroidNote/Android打包相关/Android发布sdk到jcenter.md)\n\n\n### Kotlin相关\n\n- [Kotlin-for-android](/AndroidNote/Kotlin相关/Kotlin-for-android.md)\n\n\n### Android报错记录\n\n- [Android报错:Manifest-merger-failed-with-multiple-errors,see-logs](https://github.com/linsir6/AndroidNote/blob/master/AndroidNote/Android%E6%8A%A5%E9%94%99%E8%AE%B0%E5%BD%95/Android%E6%8A%A5%E9%94%99-Manifest%20merger%20failed%20with%20multiple%20errors%2C%20see%20logs.md)\n- [Android报错-Client not ready yet](/AndroidNote/Android报错记录/Android报错2.md)\n- [微信“15。。。。。”背后的故事](https://mp.weixin.qq.com/s/4DBPTN5qoVa976i8uTNAUQ)\n- [【Android】当关闭通知消息权限后无法显示系统Toast的解决方案](http://blog.csdn.net/qq_25867141/article/details/52807705)\n- [使用Android内置WebView打开TextView中的超链接](http://iluhcm.com/2016/07/06/how-to-open-a-hyperlink-using-app-webview-with-textview/)\n\n\n### Android源码相关\n\n- [ Fresco源码解析 - DataSource怎样存储数据](https://blog.csdn.net/feelang/article/details/45420999)\n\n\n----\n\n## linux\n\n- [Android-GitLabCi配置.md](/Linux/Android-GitLabCi配置.md)\n\n----\n\n## Git教程\n\n- [Git详细教程](/Git/git详细教程.md)\n\n\n----\n\n\n## IOS-Note\n\n- [Ios上架app需要的图标尺寸](/IOSNote/Ios上架app需要的图标尺寸.md)\n\n\n----\n\n\n## Java-Note\n\n### 设计模式相关\n\n- [设计模式概括](/JavaNote/设计模式相关/设计模式概括.md)\n- [单例模式](/JavaNote/设计模式相关/单例模式.md)\n- [单利模式的四种实现方式](/JavaNote/设计模式相关/单例模式的四种实现方式.md)\n- [观察者模式](/JavaNote/设计模式相关/观察者模式.md)\n\n\n### Java基础相关\n\n- [Java基础知识](/JavaNote/Java相关/Java基础知识.md)\n- [Java回调原理与实现1](/JavaNote/Java相关/Java回调的原理与实现.md)\n- [Java回调原理与实现2](/JavaNote/Java相关/Java利用listener实现回调，即观察者模式.md)\n- [大量线程的同步操作](/JavaNote/Java相关/Java利用ExecutorService实现同步执行大量线程.md)\n- [Java反射机制](/JavaNote/Java相关/Java注解的编写与Java的反射机制.md)\n- [ArrayList、LinkedList、Vector的异同](/JavaNote/Java相关/ArrayList、LinkedList、Vector的异同.md)\n- [Java中Error和Exception](/JavaNote/Java相关/Java中Error和Exception.md)\n- [Des加密算法](/JavaNote/Java相关/Des加密算法.md)\n- [HashTable和HashMap的异同](/JavaNote/Java相关/HashTable和HashMap的异同.md)\n- [JVM虚拟机基础知识](/JavaNote/Java相关/JVM虚拟机基础知识.md)\n- [JVM类加载器](/JavaNote/Java相关/JVM类加载器.md)\n- [Javase基础知识](https://github.com/francistao/LearningNotes/blob/master/Part2/JavaSE/Java基础知识.md)\n- [SparseArray 的使用及实现原理](http://extremej.itscoder.com/sparsearray_source_analyse/)\n\n\n### JavaEE相关\n\n- [Spring入门教程](http://how2j.cn/k/spring/spring-ioc-di/87.html)\n- [最全面的Spring学习笔记](https://www.cnblogs.com/wangyayun/p/6800902.html)\n- [Spring-root入门](/JavaNote/Javaee/Spring-boot入门.md)\n- [Spring Boot 配置文件 – 在坑中实践](https://www.bysocket.com/?p=1786)\n- [Spring Boot 之 RESRful API 权限控制](https://www.bysocket.com/?p=1080)\n- [Spring Boot 整合 Redis 实现缓存操作](https://www.bysocket.com/?p=1756)\n- [Spring Boot 官方文档](https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/)\n\n----\n\n\n## Mac-Note\n\n- [mac上常用命令](/MacNote/mac上常用命令.md)\n- [mac上安装java1.8](/MacNote/如何在mac上安装java1-8.md)\n- [mac上重置MySQL密码](/MacNote/Mac平台重新设置MySQL的root密码.md)\n- [mac终端与服务器保持连接](/MacNote/mac终端与服务器保持连接.md)\n- [nodejs与npm的更新](/MacNote/nodejs与npm的更新.md)\n- [mac本地生成ssh-key](/MacNote/mac本地生成ssh-key.md)\n\n\n----\n\n\n## ReactNative-Note\n\n- [ReactNative入门](/ReactNative相关/ReactNative入门.md)\n- [短信验证码倒计时控件](/ReactNative相关/短信验证码倒计时控件.md)\n- [ReactNative报错记录](/ReactNative相关/ReactNative报错记录.md)\n- [ReactNative利用CodePush实现热更新](/ReactNative相关/ReactNative利用CodePush实现热更新.md)\n- [Touchable系列组建讲解](/ReactNative相关/Touchable系列组建讲解.md)\n- [ReactNative调试心得](/ReactNative相关/ReactNative调试心得.md)\n- [React/React Native 的ES5 ES6写法对照表](https://github.com/linsir6/ReactNativeNote/blob/master/ReactNative%E7%9B%B8%E5%85%B3/React%20Native%20%E7%9A%84ES5%20ES6%E5%86%99%E6%B3%95%E5%AF%B9%E7%85%A7%E8%A1%A8.md)\n\n----\n\n## Script-Note\n\n### 基础\n\n- [简单的Shell脚本](/ScriptNote/简单的Shell脚本.md)\n- [一篇文章学懂Shell脚本](/ScriptNote/一篇文章学懂Shell脚本.md)\n- [GitHub基础操作](/ScriptNote/GitHub基础操作.md)\n- [封装一些GitHub常用命令](/ScriptNote/封装一些GitHub常用命令.md)\n\n\n----\n\n## Web-Note\n\n### NodeJS相关\n\n- [淘宝cnpm](/WebNote/NodeJS相关/淘宝cnpm.md)\n- [koa框架对post内容读取并解析](/WebNote/NodeJS相关/koa框架对post内容读取并解析.md)\n- [nodejs查询数据库后将值返回前端](/WebNote/NodeJS相关/nodejs查询数据库后将值返回前端.md)\n- [nodejs项目在云服务器的部署](/WebNote/NodeJS相关/nodejs项目在云服务器的部署.md)\n\n----\n\n### MySQL相关\n\n- [linux下安装MySQL](/WebNote/MySQL相关/云服务器linux下安装MySQL.md)\n- [MySQL基础操作](/WebNote/MySQL相关/mysql基础操作.md)\n- [MySQL导出数据库、表](/WebNote/MySQL相关/Mysql导出数据库、表(有无数据).md)\n- [Error-ER_TRUNCATED_WRONG_VALUE_FOR_FIELD](/WebNote/MySQL相关/Error--ER_TRUNCATED_WRONG_VALUE_FOR_FIELD.md)\n- [ERROR-1045-(28000)--Access-denied-for-user-'debian-sys-maint'@'localhost](/WebNote/MySQL相关/ERROR-1045-(28000)--Access-denied-for-user-'debian-sys-maint'@'localho.md)\n- [mysql设置远程链接权限](https://www.cnblogs.com/gdsblog/p/7349551.html)\n- [关于初次安装mysql8.01遇到的问题解决](https://blog.csdn.net/l569746927/article/details/80025364)\n\n\n----\n\n## 网络协议相关\n\n- [浅析socket](/网络协议/浅析socket.md)\n- [浅析Hessian](/网络协议/浅析Hessian协议.md)\n- [浅析RPC协议](/网络协议/浅析RPC协议.md)\n- [浅析dubbo服务](/网络协议/浅析dubbo服务.md)\n- [SSH原理与应用](/网络协议/SSH原理与应用.md)\n- [理解OAuth 2.0](http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html)\n- [OAuth 2和JWT - 如何设计安全的API？](http://blog.csdn.net/ljinddlj/article/details/53108261)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinsir6%2Fandroidnote","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinsir6%2Fandroidnote","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinsir6%2Fandroidnote/lists"}