Java
liuwenzhe2008
这个作者很懒,什么都没留下…
展开
-
Pretty工具类:让软件开发调试与单元测试更happy!
在软件开发调试过程中,经常会去查看某一对象的取值。但类之间复杂的层次关系,再加上数组(链表)、映射(字典)等多种数据结构,让我们难以一目了然。本文介绍的Pretty工具类,以缩进的方式突出类之间的层次关系,并且将对象一层层的整个结构pretty地打印出来! 在编写单元测试时,经常会去比较某一对象是否符合预先的期望值。但对于一个复杂类的对象,这种单元测试并不好写,容易片面化、复杂化。Pre原创 2013-06-16 10:14:46 · 2028 阅读 · 0 评论 -
基于RxJava实现事件总线
本文介绍RxJava中的Subject,同时对事件总线进行抽象,并给出两种实现扩展,方便使用。RxJava事件总线Subject: RxJava的事件总线RxJava实现事件总线很简单,就是创建一个Subject对象即可。Subject<Object, Object> bus = PublishSubject.create()Subject既是被观察者Observable,又是观察者(或叫订阅者,S原创 2016-12-28 16:06:43 · 927 阅读 · 1 评论 -
性能优化:RxJava异步响应式编程提升响应速度
本文通过引入RxJava,通过异步的方式,以短短30行的代码,解决了一个常见的性能问题,提升界面的响应速度。作为例子,请看下图:单线程的问题上图中,ID,Status,Runtime数据的获取都需要时间。如果用单线程去获取,然后再显示,那么程序的响应时间就是所有时间的总和,用户需要等待很久才能看到界面的更新。下面演示了单线程的问题:性能优化:RxJava异步响应式编程我们可以采用多线程并发执行的方法原创 2016-09-24 22:37:34 · 4025 阅读 · 1 评论 -
File Watcher,不只是一个工具
File Watcher不只是一个工具,还是一种语言,同时又是一个轻量级的Java第三方库。作为工具简介File Watcher是这样一个通用的命令行工具: 监控文件(夹)变化,包括文件(夹)的创建、修改、删除 文件变化时能够自动运行指定的命令 方便用户配置要监控的文件(夹),能够定义丰富灵活的过滤规则 每个用户都可以有自己的配置,不同用户的配置可以不相同 被触发运行的命令可以是shell命令,sh原创 2016-08-11 18:22:58 · 8123 阅读 · 0 评论 -
实验驱动开发与响应式编程 ---- File Watcher的技术实现
File Watcher,是由wenzhe本人开发的一个文件监控工具(见:File Watcher,不只是一个工具),关于它的具体需求以及需求分析过程,请参加wenzhe本人的另一篇文章: 基于领域特定语言(DSL)的用例驱动开发(UDD)。不同于需求分析,本文主要立足于其技术实现细节。本文通过介绍它的技术实现过程,来阐述两个概念:实验驱动开发(EDD),以及响应式编程(使用RxJava库)。实验驱原创 2016-08-12 01:52:05 · 3171 阅读 · 1 评论 -
Java的AbsolutePath与RealPath的区别
虽然是给Java类做实验,但我们不需要创建Java文件和编译,太麻烦,可以方便的用scala的命令行解析器做实验,有代码提示和补全功能,非常方便。导入java.nio.file.*:scala> import java.nio.file._ import java.nio.file._Paths.get只是对字符串进行Path封装scala> val path = Paths.get("..") p原创 2016-09-08 14:42:39 · 4222 阅读 · 0 评论 -
Android Studio使用入门指南
去中文社区下载Android Studio,安装。创建ProjectTip of Day设置主题SDK设置UI显示不出来,Rendering Problem,连接手机,运行,调试成功连接上我的手机,开发GUI和业务逻辑导出,生成apk安装包文件。Git设置GitHub设置创建GitHub Repository,并且提交代码。在GitHub上可以看到Repository已经被创建出来。——- 本博客所原创 2016-08-21 23:20:39 · 642 阅读 · 0 评论 -
sshutil工具介绍:一个跨机器的脚本执行器
需求 想象如下Case: 1. 我们本地有一个文件,需要上传到远程计算机上; 2. 我们需要运行远程计算机上的命令来的这个文件进行操作; 3. 我们可以上传一个脚本到远程计算机上; 4. 我们可以远程执行这个脚本。 对于这个Case,我们每一步都要手动操作。我有个想法,就是把整个过程都脚本化,在本地写一个脚本,通过设计的一个工具运行一下,就可以完成这一系列上传、远程执行的操作。原创 2015-06-11 10:49:21 · 2477 阅读 · 0 评论 -
Kotlin的诱人特性
引子想统计出某个项目产品中所有文件Java源代码的总行数,写个Kotlin脚本很简单,只需 3 行代码搞定:import java.nio.file.Paths import java.nio.file.FilesFiles.walk(Paths.get(args[0])).filter { it.toFile().extension == "java" }.flatMap(Files::lin原创 2017-08-10 01:01:28 · 1355 阅读 · 0 评论