模拟下Retrofit的动态代理

Retrofit是目前使用的最Six的网络请求框架,他具有很好的拓展性,支持Xml,Json,Protobuf等协议,调度上支持RxJava,Guava,Java8等方式。为了更好理解Retrofit,我看了下他的源码,发现Square就是牛,代码分层清晰,可复用性强,提供的API对开发者友好诸多优点,虽然用到了反射,但是依然不影响它的优美之处。

阅读全文

动态规划的解题思路

请最大的公共子串和最大子序列

动态规划是一个有意思的解算法题目的思路,其主要是采用将重叠问题,进行逐层分解,阶梯思路:

  1. 状态转移
  2. 状态转移方程

阅读全文

Kotlin学习03-函数

Kotlin的语言很简洁,或许可以通过lambda表达式就能惊叹它很优秀,不过函数或许也是它更出彩的地方。

在开始前,我们需要认识到很多类,如集合类,Kotlin其实是基于Java的api,只是对Java类的API又做了拓展,丰富了其API,而不是推倒重建,在JVM重做一套,所以Kotlin是很大一部分API是基于Java对应的API实现的。但是可能会有疑惑为什么Kotlin的集合类有那么丰富的API呢?

阅读全文

Kotlin学习02-lambda表达式

不知不觉间,2月份就过去,也就是说2018年已经过去了六分之一,再细想真可怕。

今天继续Kotlin的学习,主要从lambda的历史,定义,和集合的函数API,以及推荐使用的withapply两个常用的函数。

阅读全文

Kotlin学习01-基础

kotlin的学习笔记。

阅读全文

狗年,再出发


狗年,来了,我也二十九了,老家有个习俗,逢九入十,这样一算我就三十了,三十而立,而今我还没立。

阅读全文

爱自己

经历了一些事情,让我们增加的不仅仅是我们的知识,更多的是这些事情也在改变我们的心态,如前几日得知我的一位同学身犯重病,我们所有人都在诧异的同时也在反思着,万一是我呢,思虑了几天,总觉得该把这些记录下来,为自己,,也为了自己爱的人,我们是时候来深刻反思自我啦。

阅读全文

【Android进阶】Android中使用ProGuard

对于一个有经验的程序员,ProGuard大家一定不陌生,有人说他是混淆,我必须纠正,混淆只是ProGuard的一个过程(我不会称ProGuard为混淆,ProGuard就是ProGuard,谁再说ProGuard才是真正的混淆视听,下面有解释).
ProGuard其实不是Android特有的工具,他其实更早适用于java项目中,优化java代码,保证java程序的安全性。由于Android程序大部分也是是Java代码,所以ProGuard成为Android工程师必修的一门课程。

阅读全文

【Android进阶】Android的APK两种签名

前几天在研究APK瘦身的相关知识,发现有个很有意思的知识点就是apk的签名 – APK Signature Scheme v2,虽然出来了一段时间,但是这方便真是没做太多的关注,趁着十一刚过的热乎劲撸起袖子干一波。

阅读全文

注解(2)-- 定义自己的Annotation Processor

大家还记得[JakeWharton](https://github.com/JakeWharton)写的翻遍ui注解的库butterknife么?
之前我们都是使用findviewById来查找view,有了butterknife我们摆脱了这种重复代码,通过注解我们解放了生产力,我们可以把更多的经理放到我们的业务和整体的架构上来,而不是不断重复的代码。

阅读全文