自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

珍心

心若在,梦就在

  • 博客(13)
  • 收藏
  • 关注

原创 LRU缓存底层原理大揭秘 - LinkedHashMap

学而不思则罔,思而不学则殆LRU缓存底层原理大揭秘 - LinkedHashMap引言使用范例GlideOkHttpLRU实现原理分析一LRU实现原理分析二LinkedHashMap原理分析测试初始花测试代码测试访问 Test(9)总结引言LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。在项目实际开发中很多都有这个缓存算法的身影。使用范例Glidepackage com.bumptech.glide.util;

2020-11-29 17:15:13 306

原创 Android 你还在为图片放哪儿纠结吗?图片资源文件夹加载规律

学而不思则罔,思而不学则殆Android 你还在为图片放哪儿纠结吗?图片资源文件夹加载规律引言资源怎么放置图片展示大小内存情况统计结论引言市面上Android机型五花八门,因此开发的时候的UI设计稿理论上需要提供所有的屏幕密度对应的素材。如下是像素密度和对应的资源文件夹。TypefiledpiPictureldpidrawable-ldpi0.7575px*75pxmdpidrawable-mdpi1100px*100pxhdpidrawable

2020-11-27 08:47:20 1210

原创 【Retrofit】Retrofit原理解析之设计模式总结篇

学而不思则罔,思而不学则殆【Retrofit】Retrofit原理解析之设计模式总结篇

2020-11-22 22:12:32 321

原创 【Retrofit】Retrofit原理解析之注解详解篇

学而不思则罔,思而不学则殆【Retrofit】Retrofit原理解析之注解详解篇

2020-11-22 20:55:15 967

原创 【Retrofit】Retrofit原理解析之原理篇

学而不思则罔,思而不学则殆【Retrofit】Retrofit原理解析之原理篇引言整体流程系列文章【Retrofit】Retrofit原理解析之使用篇【Retrofit】Retrofit原理解析之原理篇引言在上一篇文章中,分享讲了Retrofit框架的常见使用范例,本篇分享来说一下Retrofit的的原理整体流程整体流程新建Retrofit实例,通过构建者模式设置一些参数工厂(用来数据封装+数据解析)调用Retrofit.create(),方法拿到自定义服务的实例调用服务的具体

2020-11-22 17:42:12 522 1

原创 【Retrofit】Retrofit原理解析之使用篇

学而不思则罔,思而不学则殆【Retrofit】Retrofit原理解析之使用篇引言使用GET请求优缺点对比参考引言Retrofit本质是根据OkHttp进行二次封装的网络请求框架。接下来我们就来讲一下Retrofit具体使用源码下载小技巧,由于国内网络原因,直接从Github上下载源码可能很慢,当让很多网络很要的读者就不用考虑了,可以考虑在Github中的源码copy一份到gitee,在从Gitee上clone到本地就会非常快。//Githubhttps://github.com/squa

2020-11-18 08:39:55 375

原创 【Java】Java注解简单熟悉和了解

学而不思则罔,思而不学则殆【Java】Java注解简单熟悉和了解引言注解定义注解分类元注解TargetRetention普通注解Method之获取注解Method返回类型Method的注解Method的参数Method参数的注解引言最近在学习Retrofit网络请求框架,发现该框架中主要使用注解来封装内部逻辑,使开发的时候调用简洁。因此写一篇文章记录一下注解的相关知识注解定义Java 注解是在 JDK5 时引入的新特性,注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可

2020-11-17 22:43:13 149 2

原创 【RxJava】RxJava入门和原理分析

学而不思则罔,思而不学则殆【RxJava】RxJava入门和原理分析引言数据源+数据处理引言个人理解:RxJava 是 一种链式调用链,原理是双向链表调用链+代理模式首先什么是链式调用,常见的是就Builder(构建者模式)的用法,比如OkHttp中的Client构造: OkHttpClient client = new OkHttpClient().newBuilder() .connectTimeout(10, TimeUnit.SECONDS)

2020-11-12 08:20:30 358 1

原创 【每日算法】最长递增子序列

学而不思则罔,思而不学则殆【每日算法】最长递增子序列题目解法1 排序+最长公共子序列法LCS解法2 动态规划法(时间复杂度O(N^2))参考题目题目:一个数组的最长递增子序列的个数比如:数组[4, 9, 9, 19, 17, 12, 19, 5, 3, 5]最长递增子序列是[4,9,12,19],长度为4解法1 排序+最长公共子序列法LCS其中排序最快的时间复杂度为O(logn)O(logn)O(logn)LCS的时间复杂度为O(n2)O(n^2)O(n2)所以整体时间负责度为O(n

2020-11-11 08:25:19 393 1

原创 【每日算法】最长公共子序列LCS

学而不思则罔,思而不学则殆【每日算法】最长公共子序列题目基本概念算法思路图解计算LCS初始化题目两个数组的,两个数组中都包含的最长序列最长公共子序列,全称Longest Common Subsequence,简称LCS基本概念这里需要了解一下子序列和字=子串的概念。类别相同点不同点子序列元素保持跟父序列一致元素可以不连续子串元素保持跟父序列一致元素必须连续可以说子串一定是子序列,但是子序列不一定是子串。如图,更加形象一点:算法思路该问题我

2020-11-10 08:49:43 199

原创 【Kotlin】有趣的运算符重载

学而不思则罔,思而不学则殆【Kotlin】有趣的运算符重载加法运算符传统加法运算符重载运算符语法运算符与实际调用函数对比语法糖测试minustimesdivrem运算符重载是Kotlin提供的一个比较有趣的语法糖。我们知道。Java中 有许多语言内置的运算符关键字,如= - * / % ++ --.而Kotlin中可以将所有的运算符甚至其他的关键字进行重载,扩展这些运算符和关键字的用法每个人从小就学了四则运算,在编程语言中,两个数字相加表示求和,两个字符串相加,表示对这两个字符进行拼接。但是在Kot

2020-11-04 08:50:07 176

原创 【Android】BroadcastReceiver广播机制简单了解

学而不思则罔,思而不学则殆【Android】BroadcastReceiver广播机制简单了解广播分类标准广播图示有序广播图示注册广播新建一个广播接收器动态注册静态注册广播分类广播类型说明标准广播(normal broadcasts)是一条完全异步执行的广播,广播发出后所有的接受者几乎是在同一时刻受到广播,他们中间没有先后顺序,不能被截断有序广播 (ordered broadcasts)一种同步执行的广播,广播发出后,同一时间只能有一个接受者受到广播,高优先级的接受者可

2020-11-03 08:48:51 225 1

原创 【数据结构】二叉树构造《LintCode072和LintCode073》

学而不思则罔,思而不学则殆【数据结构】二叉树构造《LintCode072和LintCode073》整理思路LitCode073算法结果算法实现LintCode072算法结果算法实现整理思路通过前序或者后序便找到根节点,找到根节点后在中序遍历数组中根据根节点把数组划分为两个数组,分别是左子树的中序遍历结果,另一个是右子树的中序遍历结果。依次类推,可以构造一颗二叉树。LitCode073https://www.lintcode.com/problem/construct-binary-tree-fr

2020-11-01 11:06:23 954 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除