Java三目运算符空指针异常

今天在解决线上bug, 一不小心跳入了Java三目运算符自动拆箱和封箱的坑里面,遇到了NullPointerException的异常。

阅读更多

如何利用Git一步一步演示

Git已经彻底打败SVN,成为版本控制工具的老大。有了Git,无需服务器就可以保存自己的工作进度,包括但不限于源码、文档,等等。

阅读更多

App与Web通讯

对于大多数App来说,并非100%的纯Native开发模式。有时候为了运营方便,会提供一个内置浏览器『Activity包含一个WebView』来加载后端的Web页面,从而可以达到App不发版,通过改动远程的Web页面来达到动态发布的目的。那么问题来了,如果后端的Web页面需要跟App的Native通讯,如何实现呢?下面介绍几种通讯方式。

阅读更多

微信-支付宝-银联支付对比

移动互联网时代,推动了移动支付的发展;同时,移动支付的发展,进一步推送移动互联网的发展。目前主流的移动支付有:支付宝、微信、银联,以及2016年2月18日入华的Apply pay。下面着重比较下支付宝、微信、银联支付。

阅读更多

Android Studio Instant Run

随着代码量的增加,以及使用第三方库的增多,有时候改点代码,重新运行竟然花费Long Long time,这实在是浪费程序员的生命。于是,在Android Studio 2.0版本中,加入了吊炸天的功能Instant Run。有了这个法宝后,每次编译只会将改动的代码做成差异化文件,然后上传到调试设备上,与旧的app进行合并,生成新的app。有点类似差异化更新技术。这样改动代码,重新调试就是瞬间的事情了,真是谁用谁爽!

阅读更多

https

我们知道,HTTP请求都是明文传输的,所谓的明文指的是没有经过加密的信息,如果HTTP请求被黑客拦截,并且里面含有银行卡密码等敏感数据的话,会非常危险。为了解决这个问题,Netscape 公司制定了HTTPS协议,HTTPS可以将数据加密传输,也就是传输的是密文,即便黑客在传输过程中拦截到数据也无法破译,这就保证了网络通信的安全。

阅读更多

Java解析ISO-8601格式时间

Java如何解析ISO-8601格式的时间?例如:2016-06-08T16:58:23.000+08:00

阅读更多

Android N requires the IDE to be running with Java 1.8 or later

前段时间,下载了Android N Preview预览版的SDK,同时更新了Android SDK Tools到25.1.7.rc1,Android SDK Build-tools到24 rc4。之后好好体验了一把Android N以及Android N的官方demo『关于多窗口、通知栏、ScopeDirectory的示例』爽爆了。

阅读更多

Java Annotation

Annotation是什么?维基百科: A form of syntactic metadaa that can be added to Java source code. 也就是说,Annotation的引入是为了从Java语言层面上,为Java源代码提供元数据的支持。参见维基百科

阅读更多

Java Runtime 动态代理

使用过Spring的朋友应该对AOP『Aspected Oriented Programe』很熟悉,那么是否被里面的前置增强、后置增强、环绕增强所震撼呢?有没有想过这背后的技术实现呢?其实JDK的动态代理就能实现。下面做一个简单的示例,来阐述如何在Runtime时,动态增强原有的方法。

阅读更多