Gradle是基与Groovy的脚本配置的构筑工具,用与构筑Java及Android应用.
APT相关
APT注解编译工具Annotation Compile Tool,用来在编译时根据注解自动生成Java代码.
像ButterKnife,EventBus等库都为了避免因为反射带来的性能损失,都使用了APT注解方式.
Android数据加密相关
最近在看HTTPS,其核心还是基与Rsa的SSL/TSL加密,所以整理一下在Android开发中常见的几种加密方式
- MD5
- BASE64
- AES
- DES
- RSA
- SSL/TSL
Android通知及RemoteViews整理
前两天看了官方的教学视频,讲的是使用NotificationCompact来使用通知.后来网上搜索了关与通知的文章,发现示例还是使用的Notification.从4.4到AndroidN都有关与通知的更新.所以通知最好还是用官方提供的兼容工具来创建和使用.
AndroidStudio快捷键整理
因为工作需要,在Windows,Mac,Linux三个不同的环境下使用Studio.最蛋疼的就是环境变量和配置和快捷键的配置不同.
网上很多关于Studio快捷键的文章,通常都是使用默认的快捷键.不同平台的默认键是不同的.如果像我这样蛋疼的有不同的平台环境,还是得统一快键配置.当然有钱人最好是使用MAC环境.
通常的辅助键位是CTRL,SHIFT,ALT.MAC下ALT对应的是option
在MAC下多了个核心键CMD,所以MAC平台下有四个辅助键位.因为我经常外接机械键盘,所以在键位的配置上使用ALT键当CMD,win键当option.
在windows和Linux下,win键通常都是定义了系统级操作,所以建议不要在win键上分配快键.
ShadowSocks及kcptun加速
前段时间买了个vps.主要是为了科学上网及linux练手.使用了shadowsocks来科学上网.后来听说kcptun可以对shadowsocks加速,所以又折腾了一下.
Shadowsocks现在是科学上网的主选.在windows,Linux及Mac平台下都有对应的图形化程序可以直接使用.所以配置容易.
KCP 是一个快速可靠协议,能以比 TCP 浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果
kcptun是一个非常简单和快速的,基于 KCP 协议的 UDP 隧道,它可以将 TCP 流转换为 KCP+UDP 流,分为服务端和客户端,都需要使用命令行模式来配置.所以有点麻烦.
责任链模式及OkHttp中的实现
责任链模式
责任链模式是对一个事件的处理方法,所有能对事件进行处理的对象按顺序形成一个链表.事件经过链表中每个处理对象轮流处理.如果有返回值.则返回也是顺着这条链表反向返回.这个链表是先进后出模式.
- 在现实中的责任链模型之一就是网络连接.对与程序猿而言,七层或五层的网络连接模型是肯定知道的.
当一个网络请求发出时,需要经过应用层->传输层->网络层->连接层->物理层
收到响应后正好反过来,物理层->连接层->网络层->传输层->应用层
在请求经过各层时,由每层轮流处理.每层都可以对请求或响应进行处理.并可以中断链接,以自身为终点返回响应
详解Lambda
Java8已经更新了好久了。变化很大,但感觉有用的不多。其中最广为人知的就是Lambda表达式。看起来比较蛋疼,感觉Java越来越C化了。
当初以为Lambda的作用就是为了简化匿名内部类的输写,最近看了些文章才发现是我自己肤浅了。Java更新一个大版本是又怎么会只是这样小小的功能