Alee
In the world the most exhausting matter is that spending every day falsely
Recent Posts
数据结构与算法之美学习笔记
基础篇之链表
基础篇之链表 你知道如何用链表来实现LRU缓存淘汰策略吗? 链表结构 链表和数组一样,是非常基础且非常常用的数据结构,这两者有什么区别? 底层存储结构 数组需要一块连续的内存空间来存储,对内存的要求比较高。如果我们申请一个100MB大小的数组,当内存中没有连续的、足够大的...
数据结构与算法之美学习笔记
基础篇之数组
基础篇之数组 在大部分编程语言中,数组都是从0开始编号的,你知道为什么数组要从0开始编号,而不是从1开始编号呢?从1开始不是更符合人类的思维习惯吗? 什么是数组 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。 几个关键词 线性表(L...
数据结构与算法之美学习笔记
入门篇
入门篇 什么是数据结构?什么是算法? 从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。 从狭义上讲,是指某些著名的数据结构和算法,比如队列、栈、堆、二分查找、动态规划等。 数据结构和算法有什么关系? 数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构...
一个关于CoordinatorLayout嵌套滚动的bug
CoordinatorLayout + AppBarLayout + RecyclerView+Header
采用CoordinatorLayout + AppBarLayout + RecyclerView + Header引出的一个bug Bug展示 Bug简述 如上图所展示的效果,首页第一次在RecyclerView区域外是响应手动滑动事件的,但是一旦在底部RecyclerView区域有滚动后,再...
解决Android Studio依赖库版本不一致的问题
强制指定第三方依赖库内部所依赖的库的版本号
具体问题 在项目开发和迭代过程中,我们不得不依赖越来越多的第三方库,有些是为了不重复造轮子,有些是要用别人的功能,比如依赖一些直播平台的库。依赖的库越多,就越容易造成依赖版本冲突的问题。在最近项目上线,空闲下来的时间,准备来解决之前一直没有顾得上解决的一个依赖问题,虽然能编译通过,总感觉有一条红色警告线看着不爽...
RxJava操作符
RxJava常用操作符大全
本篇都是基于RxJava2.0的操作符说明,由于操作符太多,本篇只列举常用的操作符说明 创建操作符 create 通过实现ObservableOnSubscribe接口的subscribe来创建,该方法有一个事件发射器ObservableEmitter,通过它来向下游发射事件...
从代码被盗到aar混淆打包
日防夜防,家贼难防
背景 我们公司从17年10月份开始规划的考研一对多平台项目锐跨考,在经过不到2个月的时间,从无到有开发完成,就在年后大家上班没多久,意外发现了一款名为橙啦的App简直就是我们锐跨考的复制版,除了替换了logo外,别的界面简直一模一样,最关键的是在我们平台注册的用户可以直接在橙啦app上登录。天呐,我还是第一次遇...
MarkDown语法三
MarkDown目录生成
此篇博文乃MarkDown的结尾篇,单独讲述MarkDown目录的生成,因为篇幅较长,所以单独作为一篇博文发表,如果你对MarkDown的语法还不是很了解,请阅读MarkDown语法一和MarkDown语法二 在编写一些技术开发文档的时候,通常篇幅较长,为了快速定位和浏览,可以生成篇内目录。下面是 Kr...
MarkDown语法二
MarkDown高级进化
在阅读此篇博文时,你应该已经掌握了MarkDown的基础语法和基本使用,如果还没有掌握,请先阅读我之前写的博文MarkDown语法一,本篇博文将教授大家MarkDown的高级使用,比如用 flowchart.js 描述流程图,图片大小的调整,图片链接等 声明 MarkDown的高级使用,有些功能属于拓...
MarkDown语法一
MarkDown快速入门
Markdown 是一种轻量级标记语言,创始人为約翰·格魯伯(John Gruber)。 它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档” 标题 MarkDown支持6级标题,在行首插入1到6个#,并在#后加一个空格,对应1到6级标题 # 一级标题 ##...