2016-05-05 Brian Li
Android 6.0已经推出,更新了许多新的特性,而最好的学习方法就是直接阅读源码。所以最先想到的是下载最新的源码包。 环境 系统:OS X 10.11.4 git : 2.6.4 make : 3.81 移动硬盘 继续阅读 »
2016-04-28 Brian Li
其实本文想说的是:当面试一个架构师的时候,我们应该问什么问题?我觉得,问什么样的问题,体现了team leader更加看重架构师的哪些特点。 我一直认为,做技术就跟练武一样,在练武的不同阶段,分招式和心法。技术也一样,在不同的阶段,也分招式和心法。另外,就我个人而言,经常忘记招式,一方面可以说十二年来,我用过的招式很多,到了现在也不记得几个。另一方面我自己也不会特意去记。事实上,十二年代码写下来,我反而越来越不关注招式,而是越来越关注如何解决问题,也就是心法。所以我作为team leader的时候,我会更加看重这个架构师候选人是不是有一套属于自己的心法。 继续阅读 »
2016-04-26 Brian Li
iOS公开的frameworks有哪些,你能一一列举出来吗?你可能告诉我看这个iOS Frameworks, 可是好像不全。So,我们想想别的办法。 执行如下命令(以iOS9.2为例): 继续阅读 »
2016-04-22 Brian Li
前段时间用HomeBrew把Cocopods升级到 1.0.0.beta.3,今天在项目中执行 pod update 时提示了错误。 [!] Invalid Podfile file: [!] The specification of link_with in the Podfile is now unsupported, please use target blocks instead.. 查找的结果是版本太高,所以需要降低Cocoapods的版本来解决第三方库的兼容问题。 继续阅读 »
2016-01-21 Brian Li
注解解析,包含基本语法,注解元素,快捷方式和JDK1.8注解增强的说明 基本语法 注解定义看起来很像接口的定义。事实上,与其他任何接口一样,注解也将会编译成class文件。 @Target(ElementType.Method) @Retention(RetentionPolicy.RUNTIME) public @interface Test {} 继续阅读 »
2015-11-05 Brian Li
在项目中使用的还是java1.7比较多,1.8平时业余项目用用,学习下,毕竟新版本始终会代替旧版本的.在mac上推荐使用jenv工具来管理多java版本, 能够随意切换. 官方网站http://www.jenv.be/{:target="_blank"},还有个是http://jenv.io/{:target="_blank"} 国人开发的算是升级版本把,能够通过该工具安装java,ant,maven,tomact.对于我来说,使用jenv足够了. 继续阅读 »
2015-07-12 Brian Li
学Android也有段时间了,至今还没写过文章,可能是我懒吧(其实就是懒- -),今天在练习项目的时候,被IDEA一个warning弄懵了,看下图: 继续阅读 »
2015-06-29 Brian Li
由于项目需要发送短信的功能,确定了产品后,开始开发,发现第三方提供的jar没有maven坐标。于是就开启了一系列的坑爹之路,最后还是解决了,纪录下。 先大致介绍下项目环境,以便能够更好的理解。 首先项目是分多模块的,3个jar包,1个war包。其中2个jar包是任务运行,批处理,监控等,发短信的功能就在其中一个jar中完成。还有个jar是core包,一些通用的公用的类,配置文件,services服务等。war包就是个服务接口,利用SpringMVC完成。 继续阅读 »
2015-05-07 Brian Li
我们知道在Java在所有类的父类是Object,容器自然也不例外。因此容器都有toString()方法,并且覆写了该方法,使容器生成的String结果能够表达容器自身,以及容器所有包含的对象。例如ArrayList的toString()方法,它会遍历ArrayList中包含的所有对象,调用每个对象的toString()方法。 继续阅读 »
2015-05-05 Brian Li
假定,有如下两个类,OperaSinger and MetalSinger。 MetalSinger类 @Component public class MetalSinger implements Singer { 继续阅读 »