2012年09月 归档

中秋国庆双节快乐

又是凑巧的一年,传统的中秋佳节和国庆又掺和到一块了,期盼已久的八天假期终于来了,第一天也就这么过了。随便写点什么吧,还不知如何下手,不留个纪念吧,总觉得缺点什么,略略的思酌一番,决定在博客胡乱唠叨几句。

这是我人生第一份正式工作的第一个月末,又恰巧赶上中秋,又一次公司聚餐。毕业后,第一次中秋收到月饼,第一次期待国庆假期……太多的第一次都袭面而来,让我措手不及。

中秋了,本该回家团聚,第一次体味到那种想回回不了的感觉,第一次发觉无助的时候其实还是自己,第一次醒悟一切原来都不是电影上那样……不知是社会太和谐了还是不和谐,各种压力往往被无意识的遮蔽,待到面对时,才突然发觉这不是事实。 查看更多...

Java多线程中线程阻塞机制

为了解决对共享存储区的访问冲突,Java 引入了同步机制,现在让我们来考察多个线程对共享资源的访问,显然同步机制已经不够了,因为在任意时刻所要求的资源不一定已经准备好了被访问,反过来,同一时刻准备好了的资源也可能不止一个。为了解决这种情况下的访问控制问题,Java 引入了对阻塞机制的支持。

阻塞指的是暂停一个线程的执行以等待某个条件发生(如某资源就绪),学过操作系统的同学对它一定已经很熟悉了。Java 提供了大量方法来支持阻塞,下面让我们逐一分析。

1. sleep() 方法:sleep() 允许 指定以毫秒为单位的一段时间作为参数,它使得线程在指定的时间内进入阻塞状态,不能得到CPU 时间,指定的时间一过,线程重新进入可执行状态。 查看更多...

Java打包jar后打包exe及安装引导(exe4j+install4j)

继前篇文章《多项目相互依赖的Java程序打包并引入外部Jar包方式》,jar打包好了,虽然再加一个bat来引导jar的运行,还算方便,但用起来总觉得不算专业,于是想试试jar再打包exe。

首先,将编译好的程序打包成jar文件,然后做出exe,这样代码就不可见了,但是exe文件在没有安装jre的电脑上不能运行,如果要求客户再去安装jre并设置环境变量就不太人性化了,所以我们需要将jre打包。

这几步操作网上介绍的插件和方法很多,但很多不好用。经过筛选,最终选择了exe4j,并使用install4j来增加安装引导。 查看更多...

多项目相互依赖的Java程序打包并引入外部Jar包方式

近期给项目的某些功能加了个J2SE的小工具,主要是用Swing编写的,写好之后需要打包jar,但是出现了丢包的错误,确切的说是打包不完全,因为所引用的jar不是在一个项目中,而是几个项目相互依赖的情况下且各个项目还有相应的第三方包,公司内部还限网,几经周折,今天总算解决了。

使用的是eclipse,ibm rtc封装的,貌似是3.X版,最初试过将依赖包全部复制到主函数所在项目再打包,发现还是不能实现,也使用了Fatjar,但似乎并不好用。料想大家平时用Fatjar都是引入第三方包而已,于是尝试了将主程序所依赖的两个项目先打包后再导包,然后打包,依然不行。因为eclipse不支持同时导出外部jar包。

下面说下最终实现的打包方式,按照eclipse常规的打包功能: 查看更多...

工作起来时间总是稍纵即逝

工作近一个月了,发现时间越来越不够用,比起之前整天漫无目的的过着,却有意思多了。

从入职,到着手做事,再到现在,发现原来大家都是在做着机械的循环动作,想起来一切也就这么索然无味。好久没敲打键盘写上几句所谓的心情了,却不知从何下手。说不喜欢此时的工作,绝对不是。说喜欢,却突然间不知道喜欢什么,是机械的循环,还是知识的积累?是内心的疲惫,还是目标耐人寻味?

如此几句,简单勾勒一下此刻心境吧。 查看更多...

博客Google搜索结果出现SiteLinks(全站链接)

近日工作虽不算忙,也还是没顾得上更新博客。实际点说,就是没什么可更新了,因为每天工作所涉及的都是那些旧的成熟技术堆积出来的程序,没有什么的新的突破。

周末起来整理些资料,顺便填补下博客一周的空白,查询百度、Google收录,意外发现博客在Google的搜索结果页出现了Sitelinks,即全站链接,这个相信很多写博客的都知道了(不知道的请看下部Sitelinks扫盲),如图所示:
poorren-sitelinks
可以看到,最近几个月新加的子域名m.poorren.com居然在www的前面,导致了全站链接中首先显示的是移动版博客。 查看更多...

J2EE项目集成BIRT报表三步走

birt
初识BIRT,以为很深奥,慢慢了解下,发现很容易入门。

BIRT报表的配置,总体来说,三步就行了。

1、下载birt,将其解压。
可以到http://download.eclipse.org/birt/downloads/下载最新版的birt。
目前是Latest BIRT Runtime Release Build: 4.2.0。 查看更多...

Eclipse下编写Java程序常用调试技巧10则

编写程度比较庞大的时候,调试往往是纠错差错所必须的步骤,这点之前没有意识到,最近工作了才发现,当遇到一个庞大的程序出现小小的问题,而又不清楚程序底层的实现,调试则是最好的选择。

调试可以帮助识别和解决应用程序缺陷,本文将以大家常用的开发工具Eclipse来调试Java应用程序,但这里介绍的调试方法基本都是通用的,也适用于NetBeans IDE等,我们会把重点放在运行时上面。

在本文中使用的是Eclipse Juno版(Eclipse 4.2),在开始前给大家提3点建议!

a.不要使用System.out.println来调试自己的程序

b.把所有涉及到的组件日志级别激活并使用

c.使用日志分析器来读取日志 查看更多...

LNMP环境下搭建独立SVN服务器简明步骤

这周开始上班了,因为临时的工作场所离家比较远,就在朋友那里暂住了几天。博客也一周多没更新了,周末这两天才想起最近买了台xen架构的vps,256的,仅仅做测试用,所以这两天就一直折腾这机器了。这里要说的就是折腾中总结的东西,希望有用。

因为做开发,希望搞个自己的私人svn,第三方的服务又不大信任,于是打算在vps上搭建svn试试,正常情况下我一般使用lnmp跑网站,有些情况也可能再加一个apache来处理后端。

众所周知,svn可以以独立服务器形式安装,也可以以apache为基础安装,为了便于web方式的定位查看,某个文件,决定搭建apache+svn的服务器。但vps上装了lnmp,于是就继续增加了lnmp一键包的兼容apache包,本以为可以顺利,没想到安装后遇到各种问题,这里就不再讨论了,据说是因为我使用的军哥的lnmp在apache的端口上做了更改 查看更多...