2005年05月
在本文通过提供使Java 应用程序可以使用 USB 设备的 API 而使这个过程变得更容易。阅读全文>
发表于 @ 2005年05月31日 09:59:00|评论(loading...)|编辑
Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。阅读全文>
发表于 @ 2005年05月26日 14:21:00|评论(loading...)|编辑
设计线程安全的Servlet
通过上面的分析,我们知道了实例变量不正确的使用是造成Servlet线程不安全的主要原因。下面针对该问题给出了三种解决方案并对方案的选取给出了一些参考性的建议。
1、实现 SingleThreadModel 接口
该接口指定了系统如何处理对同一个Servlet的调用。如果一个Servlet被这个接口指定,那么在这个Servlet中的service方法将不会有两个线程被同时执行,当然也就不存在线程安全的问题。这种方法只要将前面的Concurrent Test类的类头定义更改为:
Public class Concurrent Test extends HttpServlet implements SingleThreadModel {
…………
}
2、同步对共享数据的操作
使用synchronized 关键字能保证一次只有一个线程可以访问被保护的区段,在本论文中的Servlet可以通过同步块操作来保证线程的安全。同步后的代码如下:
…………
Public class Concurr阅读全文>
发表于 @ 2005年05月24日 09:58:00|评论(loading...)|编辑
使用java自带的类 java.util.zip进行文件/目录的压缩的话,有一点不足,不支持中文的名件/目录命名。阅读全文>
发表于 @ 2005年05月23日 11:09:00|评论(loading...)|编辑
以数据库为核心的软件时代已经过去,数据库时代早已结束,当我看到J2EE征途中那么多人在对象和数据库之间彷徨痛苦ing的时候,我想我该出来喊一声了。阅读全文>
发表于 @ 2005年05月20日 17:31:00|评论(loading...)|编辑
持久对象实际上必须对应数据库中的entity,所以和POJO有所区别。阅读全文>
发表于 @ 2005年05月20日 14:53:00|评论(loading...)|编辑
需求是整个软件项目最关键的一个输入,据统计,不成功的项目中有37%的问题是由需求造成的。阅读全文>
发表于 @ 2005年05月16日 10:19:00|评论(loading...)|编辑
本文将从分析源码入手,深入研究一个集合类的内部结构,以及遍历集合的迭代模式的源码实现内幕。阅读全文>
发表于 @ 2005年05月08日 18:56:00|评论(loading...)|编辑