- 博客(54)
- 收藏
- 关注
原创 Java并发的四种风味
刚看到这篇文章,讨论了Java应用中并行处理的多种方法,其中有JDK8的并行处理方法,转过来研究一下。==============================================================从自己管理Java线程,到各种更好几的解决方法,Executor服务、ForkJoin 框架以及计算中的Actor模型。Java并发编程的4种风格:Thread...
2015-08-07 09:21:16
212
原创 最近做的Web流程设计器雏形,支持BPMN2.0
最近研究了下web流程设计器,写了个小demo。用的是raphael图形库,兼容性不错,IE6/IE9/Firefox/Chrome都没问题。 功能比较简单,图形上参考了visio的锚点设计,目前实现的功能、操作有:每个任务图形由矩形、图标、文本标签、4个锚点组成;拖拽任务图形的锚点可以生成连线,到另一个图形的锚点释放后完成连接;选中连线后拖动一端的锚点就可以改变连接...
2013-07-04 22:19:20
1064
原创 使用Ant构建Maven3项目【更新】
之前的转的帖子经过验证发现还是有点问题的,所以打算重写一遍!==========================================================================maven的jar包依赖管理真的很好用,但是又喜欢ant的直接和灵活,现在有了Maven Ant Tasks可以获取maven的依赖关系并用ant进行build,非常好 先...
2013-04-03 00:40:28
353
原创 婚礼用--宾客席位搜索器
前阵子事情多,又要准备结婚,所以博客好久没更新了。 2012.12.30结婚,因为担心参加婚礼的宾客找不到座位,就花了点时间写了个小程序。 功能包括,根据姓名首字母检索,签到,查询未签到宾客。 输入z: 输入zj: 双击一行签到加五角星,再双击取消签到。 东西很简单~界面用SWT做的;数据库用H2(嵌入式...
2013-01-04 13:21:54
456
原创 Java 过滤文件的BOM头
最近项目碰到一个小问题,配置文件如果用记事本改过,会因为解析错误导致启动失败。 分析后发现,文件开头加上了3个隐藏字节,用UE的16进制模式可以看到开头有EF BB BF这3个字节,这个就是“BOM”头。 解决方案:http://koti.mbnet.fi/akini/java/unicodereader/UnicodeReader.java.txt 调用代码:...
2012-09-06 15:22:12
298
原创 nexus 初试笔记
今天花了点时间研究了下Nexus,做个小笔记。 1.别忘了登录 =..= 默认为admin/admin123; 2.修改proxy类型的仓库配置,将Download Remote Indexes改为True,save后会下载索引比较慢; 3.修改Public Repositories的配置,选几个仓库组合,然后就用这个仓库组的url了; 4.本机的maven/con...
2012-06-27 22:01:35
111
原创 习惯!还是习惯
最近管理的小项目有点小失败,由于种种原因没有太多插手代码,到后来code review才发现代码存在许多不足。 总结了一下,问题如下:简短的变量名;很少的注释;很少日志;随意的异常处理;极少的单元测试; 尤其是单元测试,份量必须足。 所以想来想去还是一句话,习惯!还是习惯!...
2012-06-21 14:25:12
96
原创 Java 阻塞队列
项目中需要用到多线程处理,线程的任务最好是动态的负载均衡,自然想到用阻塞队列。再次学习: ============================================================================== Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接口。Queue接口窄...
2012-06-21 14:13:40
144
原创 nexus启动
nexus-2.0.3,按很多文章所说,启动/jsw/win../nexus.bat但一直启动不了,现在才发现要用nexus-console.bat启动,折腾了不少时间~~~
2012-05-03 00:46:12
123
原创 maven入门
最近正在尝试使用maven3,无意中发现一篇好文章,和大家分享。 前言Maven,发音是[`meivin],"专家"的意思。它是一个很好的项目管理工具,很早就进入了我的必备工具行列,但是这次为了把ABPM项目 完全迁移并应用maven,所以对maven进行了一些深入的学习。写这个学习笔记的目的,一个是为了自己备忘,二则希望能够为其他人学习使用maven 缩短一些时间。ma...
2012-04-15 17:51:35
108
原创 开始试试Vaadin
最近发现了一个比较有意思的Web Ria框架:Vaadin。官方地址:https://vaadin.com/home 这个框架号称不用写HTML、CSS和Javascript,我开始以为是GWT的翻版,稍微一研究还真不太一样。GWT算是客户端技术,要编译为HTML、CSS和Javascript,并通过GWT RPC与后台通信(后台可以是非Java的)。 而Vaadin的程序是运...
2012-03-16 22:57:25
130
原创 Nutz中支持SLF4J
Nutz是个不错的轻量级框架,小巧易用,不了解到同学可以见http://code.google.com/p/nutz/ 不过Nutz中的日志默认依赖Log4J,内部的日志信息都会依赖Log4J,对于我这样喜欢用SLF4J来说实在是不爽。 好吧自己动手改造一下,好在Nutz的日志设计的不错,改一下不难。 先在org.nutz.log.impl包下加一个SLF4JLogA...
2011-11-15 14:08:09
211
原创 抛弃log4j改用logback
公司的新平台最近日志总出问题:- 满容量后不自动备份,并且把该日志内容全部刷掉。。- 满容量后不自动备份,继续写,导致日志文件异常之大。。 关于log4j的配置,RollingFileAppender几年来都是这么用的没什么好说的,问题原因我还没找到,但估计多少和JDK升级到1.6有关 分割线=======================================...
2011-11-04 14:09:14
257
原创 JAVA 7 新特性
Java 7 正式版已经发布,来看看新特性。(转载自OSChina)Java 7 的架构图:新特性一览表:Swing新增 JLayer 类,是一个灵活而且功能强大的Swing组件修饰器,使用方法:How to Decorate Components with JLayer.Nimbus Look and Feel 外观从 com.sun.java.swing 包移到...
2011-08-02 17:25:13
114
原创 [多线程] 等待任务线程结束
使用多线程容易碰到这样的问题,主线程需要等待各个任务线程完成后再继续(如释放资源等)。 常见的方法是在线程中使用计数器记录完成的线程数量,并且需要另外的一个线程轮询判断是否已经全部完成。 方案一: final AtomicInteger counter = new AtomicInteger(); public void testRun() { f...
2011-06-17 12:01:30
140
原创 [转] DbUnit 入门
什么是dbunit以及为什么要使用它? dbunit是一个基于junit扩展的数据库测试框架。它提供了大量的类对与数据库相关的操作进行了抽象和封装,虽然在80%的情况,你只需使用它极少的api。它通过使用用户自定义的数据集以及相关操作使数据库处于一种可知的状态,从而使得测试自动化、可重复和相对独立。虽然不用dbunit也可以达到这种目的,但是我们必须为此付出代价(编写大量代码,测试及维...
2011-05-19 10:35:36
152
原创 log4j 日志文件的相对路径
日志文件生成在工程目录下经常可以省去很多麻烦。 网上参考了几篇文章,并根据实际运用找到了一个最简单的办法: log4j.appender.R.File=${user.dir}/log/run.log "user.dir"就是工程所在的目录。 简单吧.....
2011-03-31 20:36:03
116
原创 有顺序的Properties
大家可能碰到过这样的问题,用properties文件保存配置信息,并按顺序迭代。 但Properties是继承Hashtable的,无法按顺序迭代。 解决办法如下: public class OrderedProperties extends Properties { private Vector keys; public OrderedPropert...
2011-03-21 18:03:00
172
原创 Quartz 时间表达式
最近用了下大名鼎鼎的quartz,基本能满足调度需求的变化了。 关于时间表达式,转载一下备忘。 转载自:http://www.blogjava.net/xmatthew/archive/2009/02/15/253864.html 格式: [秒] [分] [小时] [日] [月] [周] [年] 序号说明 是否必填 允许填写的值允许的通配符 ...
2011-03-15 17:55:58
172
原创 使用JXL(JExcelAPI)操作Excel
原文链接:http://www.cnblogs.com/raymond19840709/archive/2008/06/26/1230289.html jxl是一个韩国人写的java操作excel的工具, 在开源世界中,有两套比较有影响的API可 供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文支持非常好,API是纯Java的, ...
2011-02-28 15:27:09
538
原创 5点钟起床,疯了吗?
原文链接:http://www.aqee.net/2011/02/25/5am-wake-up-is-it-so-crazy-to-wake-up-early/我已经不记得确切的开始日期了,大约是一年,我启动了一个“新实验”:做一个早起的鸟儿。我以前的作息习惯跟很多开发人员一样,我过去是个夜猫子。每天晚上熬夜做自己的项目,每天早上都经历痛苦的起床过程。这个作息时间很不正常,...
2011-02-27 22:30:29
141
原创 C#与Java通信中的Int问题
最近在写C#客户端发送int值给Java服务端的时候出现了问题。搞了半天终于解决了。问题原因在于字节数组顺序上。在C#中一般会使用BitConverter.getBytes(i)方法获取字节数组。现在我们自己处理下: // 转换为Java格式的字节数组 static byte[] int2bytes(int n) { ...
2010-12-20 21:03:50
218
原创 equinox web开发依赖包(jetty)
今天尝试了下基于equinox的web开发,需要加入如下依赖包(eclipse 3.5.2):javax.servlet;org.eclipse.equinox.common;org.eclipse.equinox.http.jetty;org.eclipse.equinox.http.servlet;org.eclipse.osgi;org.eclipse.osgi.se...
2010-11-06 19:07:38
278
原创 Java游戏开发中应始终坚持的10项基本原则
关于文章中涉及的两个杜撰概念:一、绘图器:众所周知,Java GUI以paint进行绘图,以repaint进行图像刷新,而完成repaint及paint这一连贯过程中所用到绘图组件,我将其称为绘图器。就我个人的体会,绘图器的调用时机应始终处于repaint之后paint之前,即通过repaint触发刷新后执行,当其中的具体逻辑完成其对应的图像绘制后,再通过统一接口将其图像插入paint中,为...
2010-08-07 09:24:13
110
原创 JPA 2.0 新特性
http://en.wikibooks.org/wiki/Java_Persistence/What_is_new_in_JPA_2.0%3F http://www.ibm.com/developerworks/cn/websphere/techjournal/0909_col_sutter/0909_col_sutter.html
2010-06-28 15:04:41
119
原创 获取bundle的绝对路径
最近碰到个小麻烦,如何从bundle获取其绝对路径。 解决办法如下: public void start(BundleContext context) throws Exception { String bundleName = context.getBundle().getSymbolicName(); log.debug("bundleName:" + bun...
2010-06-22 13:13:07
404
原创 Linux下Java获取IP地址
在window下面可用如下代码: Java代码 InetAddress inet = InetAddress.getLocalHost(); System.out.println("本机的ip=" + inet.getHostAddress()); 而在Linux下返回127.0.0.1。主要是在linux下返回的是...
2010-06-10 17:34:38
432
原创 二进制,八进制,十六进制,十进制间进行相互转换
进制转换备忘,转载自:http://blog.youkuaiyun.com/szwangdf/archive/2008/07/01/2601941.aspx 十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 ...
2010-05-31 11:56:08
103
原创 google主页吃豆人的代码
为纪念PAC-MAN诞生30年,google主页logo换成了吃豆人小游戏,js做的 google.pacman || function () { var a = true, e = false, g = {}, i = [1, 4, 2, 8], l = {0:{axis:0, increment:0}, 1:{axis:0, increment:-1}, 2:{axis:0,...
2010-05-22 09:11:20
347
原创 Android 2.2 Froyo发布
Android 2.2 Froyo发布!5大特性!第一:速度。2-5倍的速度提升,演示运行2.2和2.1的2个机器,运行一样的游戏,帧率一个40多一个20多。需要用JIT编译。第二:对企业应用更好的支持,包括Microsoft Exchange第三:新的API。包括备份API和设备信息API。设备信息API类似iPhone的推送,但更强大。比如你在电脑上的Google Ma...
2010-05-21 00:36:34
160
原创 Unix下5种基本的I/O模型
Unix下5种基本的I/O模型:1.阻塞I/O2.非阻塞I/O3.I/O复用(select和poll)4.信号驱动I/O(SIGIO)5.异步I/O(POSIX.1的aio_系列函数)Unix中一个输入操作一般有两个不同的阶段:1.等待数据准备好。2.从内核到进程拷贝数据。对于一个sockt上的输入操作,第一步一般是等待数据到达网络,当分组到达时,它被拷贝到内核中的某个缓冲区,第二...
2010-05-19 23:55:42
156
原创 Linux的epoll模型
Linux的epoll模型Linux 2.6内核中提高网络I/O性能的新方法-epoll I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。1、为什么select落后首先,在Linux内核中,select所用到的FD_SET是有限的,即内核中有个参数__FD_SETSIZE定义了每个FD_SET的句柄个数,在我用的2.6.15-25-386...
2010-05-19 21:43:51
77
对比测试Java、Hessian、Burlap之序列化性能
Hessian的序列化类型与Java内置的有些类似,都是二进制方式。再次补充了Burlap的测试,Burlap是XML格式的。 我对这三种序列化方式作了一个对比测试: 测试数据·100次循环//=========================1、100次Integer序列化的用时和长度Java Default 0ms 409Hessian...
2010-03-22 01:14:18
118
MappedByteBuffer 之文件删除问题
熟悉nio的朋友都知道,MappedByteBuffer大幅提高了IO效率,但却有个比较严重的问题。看如下测试代码:public class TestMappedByteBufferDeleteFile { File testFile; /** * 创建测试文件 * @throws URISyntaxException * @throws IOExc...
2010-03-16 00:27:41
720
nio之Buffer
Buffer是一个包装了基本数据元素数组的对象,它以及它的子类定义了一系列API用于处理数据缓存。一、属性Buffer有四个基本属性:1、capacity 容量,buffer能够容纳的最大元素数目,在Buffer创建时设定并不能更改2、limit buffer中有效位置数目3、position 下一个读或者写的位置4、mark 用于记忆的标志位,配合reset()使用,初始值未设定,调...
2010-03-04 17:12:06
117
原创 JPA 概述及下载
1.JPA概述 JPA(Java Persistence API)作为 Java EE 5.0平台标准的 ORM规范,将得到所有Java EE服务器的支持。Sun这次吸取了之前EJB规范惨痛失败的经历,在充分吸收现有 ORM框架的基础上,得到了一个易于使用、伸缩性强的 ORM规范。从目 前的开发社区的反应上看,JPA受到了极大的支持和赞扬,JPA作为ORM领域标准化整合者的目标应该不难实现。 ...
2010-02-23 23:47:53
412
原创 Annotation入门
转载自:http://www.iteye.com/topic/234330 2.注释 2.1 什么是元数据 2.2 JDK中内置的注释. 2.3 自定义注释 2.3.1 注释的种类 2.3.2 适用的位置 2.3.3 关于参数列表 最近一段时间在整理关于JDK5新特性的资料.发出来与各位分享.如果哪里有问题请指正.谢谢 2.1 什么是元数据:元数据被描述为定义数据的数据.比如我拍一张照片....
2010-01-28 23:05:16
97
原创 AspectJ学习笔记 pointcuts
个人觉得Pointcuts是AspectJ学习的关键,文章搜集自网络,作者ah011 Pointcutspublic pointcut accountOperations :call(*Account.*(..))这是定义了一个pointcut,其中:public 是access speciferpointcut 是keywordaccountOpera...
2010-01-27 09:07:53
343
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人