自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一叶不知秋

谁家今夜扁舟子, 何处相思明月楼?

  • 博客(16)
  • 资源 (33)
  • 收藏
  • 关注

原创 Java 8 可重复注解的理解与应用

Java 8 之前如何重复使用注解在 Java 8 之前我们不能在一个类型重复使用同一个注解,例如 Spring 的注解 @PropertySource 不能下面那样来引入多个属性文件@PropertySource("classpath:config.properties")@PropertySource("file:application.properties")pu

2017-02-26 12:11:19 3372

原创 Mockito 如何 mock 返回值为 void 的方法

最初接触 Mockito 还思考并尝试过如何用它来 mock 返回值为 void 的方法,然而 Google 查找到的一般都会说用 doThrow() 的办法doThrow(new RuntimeException()).when(mockObject).methodWithVoidReturn();因为无法使用常规的 when(mockObject.foo()).then

2017-02-26 12:09:57 35553 1

原创 Mockito 中捕获 mock 对象方法的调用参数

Mockito 可以帮助我们创建 Mock 对象,mock 被调用的方法,断言调用次数,在方法参数不易确定的情况下还能帮我们捕获参数。下面是我们第一个问题:为什么要捕获调用参数在被 mocker 方法调用参数明确的情况下可无需捕获参数,例如,下面的情景:01020304050607080

2017-02-26 12:06:48 12717

原创 5 个最好的 Vim 速查卡 (Cheat Sheet)

Vim(Vi Improved) 早已替代了 Vi, 它存在于大多数的 Linux 发行版中。所以基本上 Vi 和 Vim 在你的系统中就是同一个程序,我用的 Mac, vi 命令就是一个指向到 vim 的链接ls -l $(which vi)lrwxr-xr-x 1 root wheel 3 Sep 20 23:47 /usr/bin/vi -> vimmacOS S

2017-02-26 12:04:33 986

原创 Vim 中 Java 代码自动完成 - vim-javacomplete2

用 Java 进行编码基本还是离不开 IntelliJ IDEA 或 Eclipse, 看别人完全用 Vim 进行 Javascript 项目编程很是眼红,估摸着能不能把 Vim 打造成一个更强的 Java IDE。语法高亮是不在话下,最主要是给它加上自动完成功能,不光对当前类,项目中的方法或变能能提示,而且必须像 Java IDE 那样理解所有的项目依赖。这就是今天试用的一个 Vim 插件 vi

2017-02-21 04:23:39 6879

原创 CompletableFuture 的并发性能研究

今天继续探讨 CompletableFuture 的特性,它并发时的性能如何呢?我们知道集合的 stream() 后的操作是序列化进行的,parallelStream()是能够并发执行的,而用 CompletableFuture 可以更灵活的控制并发。我们先可以对比一下 parallelStream() 与 CompletableFuture 的性能差异假设一个这样的耗时 1000

2017-02-21 04:21:15 3133

原创 理解 CompletableFuture 的任务与回调函数的线程

继续对 CompletableFuture 的学习,本然依然不对它的众多方法的介绍,其实也不容易通过一篇述说完所有 CompletableFuture 的操作。此处重点了解下 CompletableFuture 几类操作时所使用的线程,CompletableFuture 的方法重点在它的静态方法以及实现自 CompletionStage 接口的方法,如果是意图异步化编程,反而自我标榜的 Fut

2017-02-21 04:20:47 5860

原创 Java 8 CompletableFuture 浅入

Java 1.5 有了 Future, 可谓是跨了一大步,继而 Java 1.8 新加入一个 Future 的实现 CompletableFuture, 从此线程与线程之间可以愉快的对话了。最初两个线程间的协调我采用过 Object 的  wait() 和 notify() , Thread 的 join() 方法,那可算是很低级的 API 了,是否很多 Java 程序都不知道它们的存

2017-02-21 04:20:21 938

原创 巩固 Java Future 的使用

Future 还是一 Java 1.5 带进来的产物,但过去那么多年实际代码中却很少有直接接触, 大约它多是隐匿在各种现成框架中默默的为我们服务。Future 本身不代表着多线程,而是代表着需异步计算的结果, 将来的一个期待,至于后来真正的结果不可知。在此之前想要获得一个 Runnable 在其他线程中的计算结果颇费波折,有了 Future 加之它身后的 Callable 一切就变得简单了

2017-02-21 04:19:24 635

原创 Hibernate 映射枚举(Enum) 类型的属性

在数据库中我们一般用整数或字符串来表示枚举值(有些数据库(如 MySQL)本身带有枚举类型), 而在使用 Hibernate 时实体对象中也用 Integer 或 String 来表示枚举就不那么友好了。试想来我们这样定义实体对象的两个属性@Entitypublic class User {  ....  public Integer type;  //0: Indiv

2017-02-09 14:17:20 3084

原创 Java 的参数检查与断言 - Guava Preconditions

在前一篇 Scala 的参数检查与断言: require, assert, assume 和 ensuring,捉摸 Scala 的断言时提到了 JDK 内置对断言的粗略支持,也就是 assert 语句,并且默认该特性是被关掉,需 -ea 开启。assert object != null;assert object != null : "object can't be null

2017-02-09 14:16:23 1855

原创 Scala 的参数检查与断言: require, assert, assume 和 ensuring

似乎 C/C++ 的编程人员相比于 Java 更偏爱于断言,JDK 1.4 才开始引入 assert 的支持,但默认是关闭的,需要用 -ea 编译选项打开,否则代码中的 assert 语句全被忽略,一般会在单元测试中开启该选项。简单回顾一下 JDK 自带的断言,它用两种写法assert object != null;assert object != null : "object

2017-02-09 14:15:38 5971

原创 SQL Server 和 HSQLDB 中使用 merge into 完成 saveOrUpdate 操作

当我们调用 Hibernate 的  saveOrUpdate() 或 JPA 的 save() 方法的 Hibernate 实现时,都会做两步操作:1)按 ID 查询记录是否已存在,2)不存在插入新记录,存在则更新原记录。这种两步操作其实可以在 SQL Server 和 HSQLDB 中一条语句完成,这就是本文要介绍的 merge into 语句。感觉到用数据库自己的特性,并且一条语句会比 

2017-02-09 14:14:41 1076

原创 Spring 如何初始化泛型类实例

在 Java 中对于泛型类型,比如这样简单的类定义class Processor {}如果直接初始化时要指定具体类型的话,我们可以这么写Processor processor = new ProcessorSpring 对基本泛型的初始化如果我们要用 Spring 容器来初始化这个类,比如给上面那个类加个 @Named 注解@Na

2017-02-02 14:24:58 4019

原创 Spring 项目中把 SQL 语句写在 .sql 文件中

我们在使用 JDBC 时, 如果把所有的 SQL 语句全写在 Java 文件中, 由于 Java 不支持 Here Document, 多行字符串要么用加号, 要么用 Java 8 的 String.join() 方法来连接, 同时不能对 SQL 语句进行语法加亮, 所以这样的 SQL 字符串阅读性很差. 别说为何不用 Hibernate 之类的而不直接写原始的 SQL 语句, 在操作复杂的系

2017-02-02 14:24:01 3355

原创 Java 单元测试如何断言(检查)控制台输出

关于在 JUnit 单元测试中如何断言某个函数的控制台输出已是我一个长久的问题. 虽然有控制台输出的函数有了副作用, 不能称之为一个纯函数, 在讲求函数式编程的今天, 纯函数是最好测试的, 所谓的 Data In, Data Out. 但总还是有这样的需求, 比如自己实现的某个日志框架的 Appender, 需要验证它向控制台的输出内容.我先前在项目中的办法是, 先把把标准输出定向到一个 

2017-02-02 14:23:08 6715

Play for Scala.pdf

Play for Scala.Play.2.pdf, 完整版英文文档。 Play 框架关注于开发者的效率和 RESTful 风格的架构。Play 是敏捷软件开发的完美伴侣,它的目标是让基于 Java 的 web 应用开发变得更加容易。同时它也支持使用基于 JVM 的 Scala 来编写你的 Web 应用,

2014-04-04

Play.for.Java.Covers.Play.2

Play.for.Java.Covers.Play.2.pdf, 完整版英文文档。 Play 框架关注于开发者的效率和 RESTful 风格的架构。Play 是敏捷软件开发的完美伴侣,它的目标是让基于 Java 的 web 应用开发变得更加容易。

2014-04-04

Unmi 的 Struts2 学习笔记

十四篇学习 Struts2 的笔记,对于由浅入深、细节性的理解 Struts2 还是有些好处的。

2011-04-19

《Spring in Action》学习点滴

本人阅读 《Spring in Action》一书笔记,点点滴滴,从博文中连缀成册,不多不少,共列下了 100 条。

2011-04-19

Quartz Job Scheduling Framework 中文版 V1.0.0.pdf

本人译作,在先前那个 Quartz Job Scheduling Framework_V1.0.0.CHM 文件的基础上做成的 PDF 文件,方便大家阅读。

2010-10-13

Quartz Job Scheduling Framework 中文版 V1.0.0.chm

本人首个译作,Quartz 一个纯 Java 实现的作业调度框架。大多数人听说 Quartz 是在学习或使用 Spring 的时候,也就是 Spring 整合了 Quartz。 把本人博客上零零散散,顺序错乱的各篇译章汇集成册,做成了一个 《Quartz Job Scheduling Framework 中文版.chm 》文件与各位分享,以方便大家的阅读。另外,每篇译章都有到达我的博客上所对应页面的链接,所以有疑问可点击页面上方的 按钮进入到博客对应页面来对本篇进行评论,或阅读他人的相关评论。

2010-10-11

远程桌面批量登陆器,3389 RemoteDeskTop

你要管理多台服务器或经常性用远程桌面登陆多台机器的时候,是否总是一次次的执行 mstsc 吗,经常性的要输入登陆信息吗?来吧,用这个工具,只需轻轻一点便登陆到了你想要的桌面。

2010-06-07

Maven2 权威指南

新时代的自动化构建工具,《Maven2 权威指南》pdf 中文版

2010-06-07

nantpad.2.0_with_Crack

nant 是一个类似于 java 的 ant 的 .net 自动化构建工具,nantpad 是一款可视化编辑 nant 构建文件极好的工具,带 crack。

2010-06-04

Quartz_Job_Scheduling_Framework_V0.9.5_中文版.pdf

本人译作,在先前那个 Quartz Job Scheduling Framework_V0.9.5.CHM 文件的基础上做成的 PDF 文件,方便大家阅读。 请到 http://download.csdn.net/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.csdn.net/source/2746469 下载最新V1.0.0.chm 版

2009-10-08

Quartz Job Scheduling Framework 中文版 V0.9.5.chm

本人首个译作,Quartz 一个纯 Java 实现的作业调度框架。把本人博客上零零散散的翻译日志集成册,升级为 V0.9.5,补上了附录。 请到 http://download.csdn.net/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.csdn.net/source/2746469 下载最新V1.0.0.chm 版

2009-02-05

一段语法着色的 JS 脚本

shCore.js,一段语法着色的 JS 脚本

2008-10-07

Quartz Job Scheduling Framework 中文版 V0.9.2.chm

请到 http://download.csdn.net/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.csdn.net/source/2746469 下载最新V1.0.0.chm 版

2008-10-07

精通 Groovy.chm

由于与 Java 渊源,所以还是打算把 Groovy 作比较细致的了解。还是在 IBM developerWorks 上找到一份初级的 Groovy 教程,名之曰《精通 Groovy》,实则一份入门教程。为大家阅读方便--免去了在线,还要一个 IBM ID 登陆后一页一页的翻,所以我把那些页面收集一下,制作成一个 CHM 文件,共享给大家

2008-09-09

Quartz Job Scheduling Framework 中文版 V0.9.1.chm

请到 http://download.csdn.net/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.csdn.net/source/2746469 下载最新V1.0.0.chm 版

2008-08-26

Quartz Job Scheduling Framework 中文版 V0.8.2.chm

本人首个译作,Quartz 一个纯 Java 实现的作业调度框架。大多数人听说 Quartz 是在学习或使用 Spring 的时候,也就是 Spring 整合了 Quartz。 把本人博客上零零散散,顺序错乱的各篇译章汇集成册,做成了一个 《Quartz Job Scheduling Framework 中文版.chm 》文件与各位分享,以方便大家的阅读。另外,每篇译章都有到达我的博客上所对应页面的链接,所以有疑问可点击页面上方的 按钮进入到博客对应页面来对本篇进行评论,或阅读他人的相关评论。 请到 http://download.csdn.net/source/2752654 下载最新V1.0.0.pdf 版 请到 http://download.csdn.net/source/2746469 下载最新V1.0.0.chm 版

2008-08-25

程序开发技巧集(Unmi整理)

这是我初涉程序之路时整理的程序开发技巧集<br>分门别类了,只最近一直没有维护,这个技巧管理器本身也很值得推崇<br>解压缩,执行 tips.exe(技巧管理器),可能要手工打开 data 目录中的 tips.Tips

2008-05-02

Visual.Assist.X.10.4.1619 + Crack

非常好的vc插件,自动识别各种关键字,系统函数,成员变量,自动给出输入提示,自动更正大小写错误,自动标示错误,等等啦……支持VC++ 5, VC++ 6 , VC++7, VC++8 都说能支持 VS 2008 了,我还没试过。<br>

2007-12-01

华为代码统计工具CCT V2.0

代码规模统计工具CCT是根据华为公司的项目特点而开发的软件规模统计工具;它既可以统计指定版本的非空非注释(NBNC)行,也可以通过比较当前版本和基础版本,计算新增修改规模得到增强项目的规模。CCT通过辨认不同的扩展名支持对多种语言的规模统计,包括C,C++,JAVA,DELPHI,汇编(ASM),SQL,JSP,ASP,HTML和TXT等文件。

2007-11-22

Perl 语言编程.chm

Perl 是一种能完成任务的语言。 <br><br>当然,如果你的工作就是写程序,那么从理论上来讲,你可以使用任何“完整”的计算机语言来完成任务。但是从我们的经验来看,计算机语言的区别很大程度上不在它能干什么,而是在它做事情的时候是否简单。从一个极端来说,那些所谓的第四代语言做某些事情的时候相当容易,但是做其它一些事情的时候几乎不可能。从另外一个极端来看,那些所谓的工业级的语言在做任何事情的时候都几乎一样困难。 <br><br>Perl 是不同的语言。从一开始,Perl 就设计成可以把简单工作简单化,同时又不失去处理困难问题能力的语言。

2007-11-15

jspSmartUpload

这个组件还是好几年前下载的,看好像还是有不少人在使用它,但在网上又特别难找,所以不妨传上来。

2007-11-07

非常好懂的汇编程序设计教程(8086)

我看过的最简单的汇编程序设计教程,可以照着练手的,配合RadASM汇编集成开发环境很好理解的。

2007-10-25

CN-DOS批处理精华贴(2007-A)(IE6)

这里不仅有传统的批处理脚本的写法--Command-Line Shell,还有Windows的批处理程序--Windows Shell Script(VBS/JS),细细品味吧,自有其妙用之处。

2007-10-16

DOS批处理经典入门教程

80年代以前人的大多学电脑都从DOS学起、然后是win3.1/3.2、再win95/98的路径而来。重新提起DOS批处理程序,是因为像Tomcat/JBoss/WebLogic等应用服务器在控制台下都是用批处理来启动的,其中设置环境变量,运行参数,自己的程序中也可能会用到批处理来交互式启动、运行,所以不妨用到时回顾一下,或者是初次的学习。

2007-10-16

APort

Active Ports,可谓是 FPort的孪生兄弟,新生代的fport,以图形界面展示进程对应的进程号,本地IP、端口号,远端IP、端口号,通信状态,传输协议,执行文件全路径,并提供便捷的终止选定进程的操作入口。

2007-10-15

fport

当你想知道某个端口被哪个应用程序占用了,就用fport了,当多个Java占用了不同端口,你不知该结束哪个进程的时候,也用它了。因为windows下的netstat -na 没 unix/linux 下的 netstat -na 强。君子性非异也,善假于物也。

2007-10-15

Quartz Job Scheduling Framework

If your Java applications depend on tasks that must be performed at specific times or if your systems have recurring maintenance jobs that could be automated, then you need Quartz: the first full-featured, open source job scheduling framework.

2007-10-11

JavaDOCHelper1.5.1_Viewer

JavaDOCHelper Viewer 提供了在一个界面里查看、搜索众多组件的HTML格式JAVA DOC api文档,类似于chm格式。 软件界面:http://www.blogjava.net/Unmi/archive/2007/10/08/150946.html

2007-10-11

reilly.jboss.a.developers.notebook.jun.2005

JBoss is a fully certified J2EE 1.4 application server that's free, popular, and competitive with proprietary Java application servers in features and quality. JBoss: A Developer's Notebook takes you on a complete tour of JBoss in a very unique way: rather than long discussions, you will find code--lots of code. In fact, the book is a collection of hands-on labs that take you through the critical JBoss features step-by-step. Don't just read about JBoss, learn it through direct application.

2007-10-09

Spring程序高手秘笈--英文原版

Spring克服了J2EE冗余的层次,再次让开发企业应用程序变得简单。这本书告诉你如何使用Spring设计出轻量化的应用程序,它们可以胜任重量级的工作:如何把你的精力放在重要的代码上,而不是去写那些让容器能够正确执行的接口与部署描述文件。你将写出可以很容易被测试和部署的普通Java对象(POJO),而不是去写一些只能在复杂容器中存活的特定组件。你将了解如何使用Spring开发出从GUI及Web前台程序一直到访问关系型数据库的后台程序。你将能够通过在配置文件文件中加上几行文字就可以把一些像事务和安全这类的服务注入到应用程序里。

2007-10-09

SWT程序高手秘笈--英文原版

Eclipse的核心结构之一正是Standard Widget Toolkit —— SWT。这一组组件可以用来在Java上开发图形用户界面,并提供了Java Swing与AWT组件的原生代码替代选项。SWT结合了所运行的平台上的外观与操作感受来提供快速构建GUI的方法,并让它们看起来确实就像是属于所运行的平台。

2007-10-09

Hibernate:程序高手秘笈--英文原版

《Hibernate程序高手秘笈》展示了如何用Hibernate来自动化配置:写一些Java对象和简单的配置文件,Hibernate将使这些对象和数据库间的所有交互自动化。你甚至不必知道数据库在哪,通过更改一个配置文件中的几个语句,就能简单地从一个数据库切换到另一个数据库。 《Hibernate程序高手秘笈》带你遍历Hibernate的使用,从安装和配置到复杂的关联和复合类型。书中有两章探究如何实现复杂的查询:通过一个纯Java API,或者用一个SQL激发的但是面向对象的查询语言来表达。使用Hibernate的最大惊喜之一是:对于许多常见的真实世界的应用场景,根本不需要一个精确的查询,但别因为这给你带来困惑。如果你已意图给自己的应用程序加个数据库,不要拖延,这比过去的更有趣,《Hibernate程序高手秘笈》会告诉你为什么。

2007-10-09

Java 5.0 Tiger程序高手秘笈--英文原版

这本书由 Java 界的畅销作家 Brett McLaughlin 与 David Flanagan 合著,实事求是、直中要害的指引跳过了学院派的枯燥而切入 Tiger 的核心。读者会在第一章的结束前掌握语言中许多重要的新功能,并且在前 20 页就会发现自己沉浸于程序代码中。通过 50 个以上的范例程序,读者会有完整且实用的 generic 论述、学习到 boxing 与 unboxing是 如何影响类别转换、认识 vararg 的威力、了解如何撰写 enumerated 类型与 annotation,精通 Java的 新的格式化 method 以及 for/in 循环,甚至对 JVM 的并发运作性质有深刻的体认。

2007-10-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除