- 博客(9)
- 资源 (49)
- 收藏
- 关注
原创 Android 性能优化实战 - 界面卡顿
今天是个奇怪的日子,有三位同学找我,都是关于界面卡顿的问题,问我能不能帮忙解决下。由于性能优化涉及的知识点比较多,我一时半会也无法彻底回答。恰好之前在做需求时也遇到了一个卡顿的问题,因此今晚写下这篇卡顿优化的文章,希望对大家有所帮助。先来看看卡顿的现象:1. 查找卡顿原因从上面的现象来看,应该是主线程执行了耗时操作引起了卡顿,因为正常滑动是没问题的,只有在刷新数据的时候才会出现卡顿。至于什么...
2018-11-21 17:13:21 1150
原创 数据结构算法 - LeetCode 刷题
数据结构和算法的课程讲解,目前已告一段落,也算是完成了自己的一个心愿。因为去年听某同学抱怨过,说自己去爱奇艺面试,其他问题都答得不错,面试官问了一个哈夫曼算法的题没答出来,后来面试官很明确的说,我们还是想找一个会些算法基础的。如果之前有学过数据结构和算法,建议大家不定时的去刷刷算法题,因为从面试的角度来讲,目前 BAT 和 TMD 等一线互联网企业或多或少都会有几个算法题,而对应届毕业生来说算法...
2018-11-21 17:12:26 760
原创 数据结构算法 - ConcurrentHashMap 源码解析
五个线程同时往 HashMap 中 put 数据会发生什么?ConcurrentHashMap 是怎么保证线程安全的?在分析 HashMap 源码时还遗留这两个问题,这次我们站在 Java 多线程内存模型和 synchronized 的实现原理,这两个角度来彻底分析一下。至于 JDK 1.8 的红色树不是本文探讨的内容,如果感兴趣可以看看之前的文章。1. Java 多线程内存模型五个线...
2018-11-21 17:11:55 420
原创 数据结构算法 - 红黑树
红黑树是一棵自平衡的二叉搜索树,因此在学习红黑树之前,我们需要回顾一下之前所学的知识二叉搜索树和平衡二叉树。1.二叉搜索树二叉搜索树又叫二叉查找树或者二叉排序树,它首先是一个二叉树,而且必须满足下面的条件:1)若左子树不空,则左子树上所有结点的值均小于它的根节点的值;2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值3)左、右子树也分别为二叉搜索树2.平衡二叉树二叉搜索树...
2018-11-21 17:10:41 441
原创 数据结构算法 - 优先级队列和堆排序
队列是一种特征为FIFO的数据结构,每次都是从队首弹出。优先队列与其不同的是,它不遵循先进先出的规则,而是根据队列中元素的优先权,优先权最大的先被取出。今天我们来读读源码层的优先级队列,到底是怎么实现的,在这之前我们不妨思考一下。如果要我们自己去实现,我们怎么去实现一个优先级队列?存储结构分为数组和链表,假设我们用普通的数组去实现,我们要么入队列的时候找到其合适的位置,让优先级最高的排在数组的最...
2018-11-21 17:09:06 436
原创 数据结构算法 - HashMap 源码深度解析
equals 和 == 的区别,hashCode 与它们之间的联系?HashMap 的长度为什么是 2 的幂次?五个线程同时往 HashMap 中 put 数据会发生什么?ConcurrentHashMap 是怎么保证线程安全的?上面是一些常见的面试题,本文旨在分析 HashMap 的源码实现思想,并不会去细讲这些问题,在我们看完源码之后不妨自己做一些思考。本文也不会细讲 JDK 1....
2018-11-21 17:08:22 1011
原创 数据结构算法 - 栈和队列
栈和队列在数据结构和算法学习中,是比较容易理解的。但有时候感觉自己掌握了栈和队列,可是在写的时候遇到不同的情况,就不会处理了,因此自己还是想再总结回顾一下。栈:是一端受限,一端允许进行操作的线性表。即:先放的后取,后放的先取。就是我们通常说的“先进后出”(FILO)。存储结构最常见的有两种:一种是顺序存储,一种是链式存储。其中顺序存储就是之前讲的数组,链式存储就是之前讲的链表。队列:像栈一...
2018-11-21 17:07:10 378
原创 数据结构算法 - 冒泡、选择和插入排序
排序算法我们一般可以从以下几个方面入手:手写排序算法;时间复杂度,空间复杂度,排序的稳定性;能够了解各大排序算法的优劣,能根据具体的场景选择合适的算法;能够优化排序算法。一.冒泡排序冒泡排序的思想:重复地遍历要排序的列表,比较每一对相邻项,如果它们的顺序不对,就交换它们。重复遍历列表,直到不需要交换。template<typename T>void bubbleS...
2018-11-21 16:42:28 289
原创 数据结构算法 - 数组与链表
是时候来撸一波数据结构和算法了,学完 NDK 自己打算又重新回到 Android 和 Java , 再去抓一些有细节和深度的东西。大学选的是教育专业后来自学的编程,学编程的第一感觉就是可以找一份工作,薪资方面什么的都还好,因为农村孩子家里穷所以就学了。刚开始学习不像现在,谈不上有多喜欢,也没学过什么数据结构和算法,感觉开发中能用到的地方也不多,面试基本也不问(长沙)。前几天在微信公众号看到一篇文章...
2018-11-21 16:41:30 372
Android常见多条件筛选菜单(美团、58)
2016-01-13
圆形图像图片
2015-10-31
流式Tag布局
2015-10-20
ViewPager指示器适配所有效果
2016-12-29
玩转ViewPager指示器字体变色
2016-12-11
Android 无限广告轮播
2016-11-19
Android6.0运行时权限框架封装
2016-11-15
Android6.0运行时权限处理事例
2016-11-11
仿QQ6.0侧滑效果
2016-11-02
仿QQ空间,百思不得姐下拉刷新图片放大
2016-07-31
QQ微信附近好友雷达扫描
2016-07-30
不需配置的ViewPagerIndicator
2016-06-05
RecyclerView 瀑布流、ListView、GridView实例
2016-04-10
Android插件换肤完整版
2016-03-27
Android插件换肤Demo
2016-02-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人