这是一个JavaSE、Android领域的豆知识tips,可以用来碎片化学习和面试。内容主要来源于行业内一大批高质量的优秀公众号,如Hollis、程序员小灰、漫画编程等公号翘楚,以及本人平常收集的一些开源问答、课程、社区文章等。感兴趣的可以点击文件中的原文链接去查看原文。(于2018年12月27日开源)
- synchronized和CAS的比较
- 泛型
- HashMap
- volatile关键字
- ThreadLocal
- 反射
- 注解
- 类加载机制
- 为什么说Java中只有值传递
- 再有人问你Java内存模型是什么,就把这篇文章发给他
- 再有人问你synchronized是什么,就把这篇文章发给他
- 再有人问你volatile是什么,就把这篇文章发给他
- 再有人问你volatile是什么,把这篇文章也发给他
- 我终于搞清楚了和String有关的那点事儿
- 给女朋友解释GC如何判断什么东西可以回收
- 如何给女朋友解释什么是IO中的阻塞、非阻塞、同步、异步
- 如何给女朋友介绍什么是死锁
- 内存模型是怎么解决缓存一致性的
- 可能是把Java内存区域讲的最清楚的一篇文章
- 深入理解Java虚拟机的类加载机制
- 一文读懂什么是Java中的自动拆装箱
- Java并发编程包中atomic的实现原理
- Java 垃圾回收机制,了解一下
- Java开发必会的Linux命令
- 彻底理解HashMap的元素插入原理
- 一文带你理解Java中Lock的实现原理
- 如何给女朋友解释什么是共享锁和排他锁
- 深入源码分析Java线程池的实现原理
- Java中线程池,你真的会用吗
- 彻底理解JVM常考题之分级引用模型
- 由浅入深看synchronized的底层实现原理
- 好好说说Java中的常量池之Class常量池
- 如何给女朋友解释什么是并发和并行
- Java中枚举的线程安全性及序列化问题
- 为什么阿里巴巴禁止开发人员使用isSuccess作为变量名
- 这才是Thread Local的正确原理与适用场景
- 为什么阿里巴巴不建议在for循环中使用"+"进行字符串拼接
- 2018全年Java核心基础问题汇总
- equals()与hashCode()方法详解
- Android开发技能知识点指南
- 贝塞尔曲线开发的艺术
- Android官方培训课程中文版
- Android源码阅读
- Android插件化技术——原理篇
- 混合开发之Android Java原生代码和JavaScript脚本代码互调总结
- LruCache和DiskLruCache
- LruCache缓存与DiskLruCache缓存
- Android中为什么主线程不会因为Looper.loop()里的死循环卡死?
- Android UI性能优化详解
- Using ThreadPoolExecutor in Android
- EventBus
- 消息机制
- 跨进程通讯机制(IPC)
- Android 性能优化:多线程
- 多层嵌套后的 Fragment 懒加载实现
- Android官方架构组件Navigation:大巧不工的Fragment管理框架
- RxJava
- 让你明明白白的使用RecyclerView——SnapHelper详解
- 关于RecyclerView你知道的不知道的都在这了(上)
- 关于RecyclerView你知道的不知道的都在这了(下)
- Android 组件化最佳实践
- 用LiveDataBus替代RxBus、EventBus——Android消息总线的演进之路
- Android 你不能忽略的代码命名规范
- 知乎Android客户端组件化实践
- 你的APP为何启动那么慢
- Android项目开发之组件化知多少
- WebView爬坑,看这篇就够了
- 微信 Android 终端内存优化实践
- 网易考拉 Android 通知栏适配全方案
- 仿豆瓣弹性滑动控件
- 爱奇艺Android客户端启动优化与分析
- 新架构组件:WorkManager
- 杂谈Android线程优先级
- Android RxJava:图解不一样的诠释
- Retrofit2源码解析
- Binder系列
- 深入Android大图片处理机制
- Android MVVM架构分析
- 计算机算法基础总结
- 什么是时间复杂度
- 拜托,面试别再问我时间复杂度了
- 什么是二叉堆
- 如何用栈实现队列
- 排序
- 如何实现大整数相加
- 什么是LRU算法
- 一致性哈希
- 如何判断链表有环
- 判断2的乘方
- 找出缺失的整数
- 最小栈
- Base64
- MD5
- 九种排序算法的可视化及比较
-
QRCode
-
Jenkins奇技淫巧系列
- Jenkins奇技淫巧 — 安装篇(mac)
- Jenkins奇技淫巧 — 配置篇
- Jenkins奇技淫巧 — 安全篇
- Jenkins奇技淫巧 — 发送邮件篇
- Jenkins奇技淫巧 — 全局变量篇
- Jenkins奇技淫巧 — 新建任务篇
- Jenkins奇技淫巧 — 插件篇
- Jenkins奇技淫巧 — 问题篇
- Jenkins奇技淫巧 — 命令篇
- Jenkins奇技淫巧 — 环境配置篇(Android自动化构建)
- Jenkins奇技淫巧 — 参数化构建篇(Android自动化构建)
- Jenkins奇技淫巧 — 第一次实战篇(Android自动化构建)
- Jenkins奇技淫巧 — Python打包篇(Android自动化构建)
- Jenkins奇技淫巧 — Python发送邮件和上传蒲公英(Android自动化构建)
- Jenkins奇技淫巧 — 乐固,多渠道打包篇(Android自动化构建)
- Jenkins奇技淫巧 — 节点管理篇
- Jenkins奇技淫巧 — 优秀文章篇
- TCP/IP
- HTTPS 原理浅析及其在 Android 中的使用
- HTTPS 如何保证数据传输的安全性?
- 什么是HTTPS协议?
- HTTP缓存控制小结
- 彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
- 薪酬翻倍一时爽,小心落入「高薪陷阱」
- 程序员生存图鉴:接私活、创业、自由职业,哪种才是理想工作?
- 中国互联网办公地变迁史:你的公司为什么也搬家了?
- 互联网人年底加薪指南
- 上市、跑路、裁员…2018年互联网生死场
- 敲代码这么多年,依然写不好这一页简历
- Java人才市场年度盘点:转折与终局
- 互联网年度薪资报告:高开低走,屯粮过冬
- 2018年移动端:上半场有多辉煌,下半场就有多迷茫(文末彩蛋)
- 前端年度跳槽薪资报告:风平浪静下的暗流
- HR带你见招拆招:这些年,老程序猿面试遇到的坑
- 2019年Q1互联网薪资报告:料峭春寒,何时回暖?
附录: 各类技术栈编程参考书(英文)