Java基础
文章平均质量分 63
smilingleo
这个作者很懒,什么都没留下…
展开
-
通用的DAO雏形
原理:ResultSet可以看做是JDBC与数据库交互之后的,包含数据库表结构(ResultSetMetaData)的一个数据结构,有了这个结构之后,就可以获知其数据类型,字段名称等等。利用JDBC中ResultSet接口提供的两个方法updateRow(), insertRow()来实现对数据的更新及插入。在Update时,先执行一个空操作select * from test where 1在D原创 2004-10-14 09:25:00 · 1615 阅读 · 0 评论 -
Keystore概念,Keytool工具使用
近来由于项目需要做Single Sign On, 研究了一下CAS(具体配置等下篇再介绍), 而这个CAS的配置最关键的不是CAS本身,而是数字证书,如何配置多台服务器之间的信任链接。因此,有必要把keystore, keytool的东西翻出来晒晒。几个概念keystore是一个密码保护的文件,用来存储密钥和证书(也就是说,keystore中存储的有两类型entries);这个文件(默认的原创 2007-12-25 08:31:00 · 9772 阅读 · 0 评论 -
连接池、ORA-00020以及编码习惯的问题
这两天手下的项目经理病休了,其他人又不能很快接手,只好自己顶上作一些很久没有干过的具体工作了。干多了,还是有一些感慨的。其中一个很深刻的体会就是:编码的习惯真的很重要。比如:在我们的一个项目中,在一个功能模块中,要上线了,开始做贝塔测试了,发现系统在工作一段时间之后就会出现莫名其妙的错误。比如:点击一个链接之后没有任何反应,控制台没有任何异常。程序员们分析了很久,仍然是一头雾水。我也是原创 2008-04-02 20:35:00 · 1083 阅读 · 0 评论 -
java.lang.OutOfMemoryError: PermGen space及其解决方法
1、PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的He转载 2008-05-30 10:47:00 · 841 阅读 · 0 评论 -
自己写的小工具---JarCleaner
java的jar是一个很不错的技术。可是现在开源的发展,使得一个项目中会用到很多很多的jar文件(我们的一个项目中,刚开始lib目录下有超过100兆的jar文件),一直怀疑有些文件是用不到的,但是又不太确定哪些是有用的,哪些是没用的。想了想,决定还是做个小工具,一劳永逸地解决这个问题吧。此小工具能完成如下功能:1、将原来lib路径的所有jar备份到lib/bak目录下;2、删除不用原创 2009-01-12 16:43:00 · 1150 阅读 · 0 评论 -
一个有趣的java性能测试
早上看到两个文章,关于性能测试的一些争论的。http://www.mkyong.com/java/while-loop-for-loop-and-iterator-performance-test-java/http://stuq.nl/weblog/2009-01-28/why-many-java-performance-tests-are-wrong在那个例子的结论中,说明iter原创 2009-02-04 11:08:00 · 2133 阅读 · 3 评论 -
使用事务时应该避免的陷井
事务可实现“要么完全成功,要不全部不成功”,保证数据的完整性和一致性,使我们在开发中能方便地实现一些业务逻辑。比如,在股票交易时,除了记录交易的过程,还要更新交易完成之后的账户状态。这两个操作显然必须“要么完全成功,要么全部不成功”,否则,你的麻烦就大了。当然,如果你不关心数据的完整性和一致性的问题,那么忘了事务吧,因为引入锁、数据库并发等机制之后,对性能还是有影响的。下面代码中,plac原创 2009-02-10 13:59:00 · 2570 阅读 · 1 评论 -
通过Reflect调用可变参数方法
JDK5之后,java的方法定义多了一个可变参数(varargs),在某些场合下还是比较方便的。但是,在通过反射(reflect)调用时,就遇到了一些问题。主要体现在两个方面:1、如何根据方法名及参数类型精确地从一个Class中获取Method实例?(参数类型是什么?怎么构造?)2、invoke调用时的Args如何构造?Google了一下,做了一个小例子。package l原创 2009-02-18 17:48:00 · 1781 阅读 · 2 评论 -
Liferay研究之卅二: ext 开发环境下遇到java.lang.VerifyError问题
以前一直都是直接修改源码的, 没怎么用过ext方式, 不过这种最底层的方式非常不利于liferay版本升级,因此决定用ext环境(因为要修改liferay core,所以不能用plugins SDK).今天忽然出现一个问题,运行时报了个java.lang.VerifyError, 看JDK Doc原文是:Thrownwhen the "verifier" detects that a原创 2009-07-29 14:57:00 · 4390 阅读 · 0 评论 -
JConsole通过JMXMP协议连接JMX Server
jconsole连接JMX在很多例子中采用RMI协议连接。但是在实际生产环境下,RMI会受到来自防火墙的诸多限制,经常连接不上。采用JMXMP协议是一个替换办法。而JDK本身没有带JMXMP的连接器实现,因此还得下载对应的连接器。从Sun Down比较麻烦,我放到了CSDN的下载频道:http://download.csdn.net/source/1394334将解压后的几个jar原创 2009-06-09 17:19:00 · 7573 阅读 · 2 评论 -
JSP与JavaScript配合,实现子窗口向父窗口的值传递
一个同事在项目中遇到点问题:在一个包含个人信息的静态页面中 想通过选择列表,选择人名之后,将页面中其他信息项自动添入信息。这个在JSF中通过Backing Bean是很好实现的。不过他用的是JSP,搞了有将近一个星期了也没个眉目。实在看不下去了,帮他弄了一下。代码如下:test.htmlhtml>head>title>Insert title heretitle>head>bo原创 2007-12-07 08:34:00 · 8102 阅读 · 4 评论 -
利用Java生成静态HMTL页面的方法收集
利用Java生成静态HMTL页面的方法收集生成静态页面技术解决方案之一 转载者前言:这是一个全面的jsp动态页面静态化方案,本站的帖子静态化方案将借鉴这篇帖子中方法。向http://www.agilejava.org的single的共享精神致敬。 转帖正文: 相信很多人都希望自己的页面越快越好,最好是能静态的,提高客户访问速度。也便于搜索引擎搜索。所以,就希望我们的动态读取数据库的页面,尽可能转载 2008-02-17 20:19:00 · 2384 阅读 · 1 评论 -
Java多线程中的两个问题
多线程中Thread.stop()被废弃的原因:当调用Thread.stop()方法时,该线程将释放先前其控制的所有资源,而在线程没有正常执行完毕之前强迫Stop之后,这些资源可能处在一种不一致的状态,而这些处于不一致的状态的资源被其他的线程所使用之后,就可能会发生一些意想不到的错误。实现时间差事件的解决办法:在主线程中设置一个状态变量,在响应线程执行时,先sleep()一个固定的时间段,之后检查原创 2004-10-28 17:39:00 · 1121 阅读 · 0 评论 -
“理财管家”正式发布了!
As a programmer, I have a dream, one day , I would make the best shareware software, and now, I do it!“理财管家”是一个基于J2ME平台的个人理财辅助软件,做这个东西的起因来源于我的切身需求,我是一个有钱就花的人,不知道自己花了多少钱,也不知道都花到哪里去了。曾经也记过一段时间的帐(拿个小本记),原创 2004-12-08 10:12:00 · 1479 阅读 · 1 评论 -
Webwork学习笔记
今天用半天的时间大概看了一下Webwork2框架的大概内容,感觉这是一个很轻巧、灵活的框架设计,很像自己当年设计的那个EISFramework。比我设计的好的在于引入了OGNL(Object Graph Notation Language),也就是很简单的对象表达式,比如object.a.b.c等等。页面参数的传递在Webwork的设计思想中,在Web页面中的输入域,命名都以OGNL的格式原创 2006-09-14 17:28:00 · 1630 阅读 · 2 评论 -
流行Web框架对比分析
下班前,给Jameson, Mike, Jarod一起做了一个关于Webwork+FreeMarker框架的简单培训。通过给他们讲这些不同的技术框架,也让我有了心思将一些流行的框架进行以下分析和对比。我们开发爱逛网(http://www.i-guang.com)用的是Struts,个人始终对这个Struts有点“偏见”,从Struts开始出来的时候就没有太多兴趣,觉得它虽然也比较好的实现了M原创 2006-12-12 18:08:00 · 7478 阅读 · 4 评论 -
理解IoC
今天在4S店维修车,闲暇无事,重新翻看了看《Spring in Action》,看了以前忽略的东西,也总结了一些以前没有注意的内容,比如,如何理解IOC模式。所谓翻转控制,简单的理解就是一个接口的应用,也就是面向接口编程。A有一个B的引用,而引用的B是一个Interface,在运行时,B的具体实现不是通过A来指定,而是通过外部的C来实现,比如通过setter方法,或者带参数的构造函数。原创 2006-12-12 18:10:00 · 1403 阅读 · 0 评论 -
想做一个全新的论坛
每次学习一个新技术或者读一个新文章的时候,都会有一些思考伴随着读书的过程,把这些思考记录下来就是读书笔记,批注。历史上有许多有名的读书批注,比如XXX批红楼梦,XXX批三国等等。这些批注对后来的读者也很有价值,一方面可以帮助后来人踩在前人的肩膀上,更容易的了解原著的精髓,另外一方面也能了解前人的思想,意见。,在原始的纸质文档上写读书笔记时是比较随意的,在这个地方划个圈,那个地方写个字,整个读书原创 2006-12-27 11:21:00 · 1076 阅读 · 0 评论 -
Acegi通过数据库连接实现身份认证
好长时间没有写文章了,因为最近用到Acegi做安全认证,就把以前写的一个文章,翻出来晒晒,呵呵1、建立两个表CREATE TABLE users ( username VARCHAR(50) NOT NULL PRIMARY KEY, password VARCHAR(50) NOT NULL, enabled BIT NOT NULL);CREATE TABLE authoritie原创 2007-01-11 17:06:00 · 2232 阅读 · 1 评论 -
也谈GWT vs JSF
以前研究JSF,之所以觉得其是未来发展方向的一个主要原因就是其组件化的编程思想,可以实现类似C/S的开发模式进行快速、工业级的开发。一方面JSF将许多常用Web组件固化,实现开箱即用,另外一方面通过引入Swing的Event Handling机制,使Web编程更加富有逻辑。但是,因为现在JSF发展还不是很成熟,在上面提到的第一个优势也变成了一个双刃剑,号称可以提高开发效率,却因为缺少支持、组件原创 2007-08-31 11:22:00 · 1762 阅读 · 0 评论 -
Java调用Native2ASCII来解析properties文件
近来在实施Liferay的时候发现Liferay找的这个翻译可真差劲,很多东西翻译的简直狗屁不通,比如把论坛话题翻译成“螺纹”,把virtual host翻译为“真正的主人”,或者就根本没有翻译。一看就是一个没有程序开发经验的人做的,可能还是个台湾人。没办法只能自己替Liferay做汉化工作了。Liferay的资源文件做的还是不错的,基本上界面里的所有消息都放到了资源文件中。具体中文的就是原创 2007-11-05 13:01:00 · 4351 阅读 · 1 评论 -
很奇怪的bootclasspath参数
尝试下面代码:import sun.util.resources.LocaleData;public class SunTest{ public SunTest(){ } } 编译时报错:C:/Temp>javac -verbose SunTest.java[解析开始时间 SunTest.java][解析已完成时间 63ms][源文件的搜索路径: .原创 2009-12-14 17:45:00 · 14555 阅读 · 0 评论