JAVA
文章平均质量分 64
步行者
熟悉JAVA,PostgreSQL。做过c++,php。
展开
-
保存xml数据到数据库的程序实现
保存xml数据到数据库的程序实现 ---天楠 2005-11-24 数据库是现在使用非常普及的数据存储工具。由于技术的成熟,对于新兴的XML技术我们如果和数据库结合起来的话将使我们的使用范围更广,原创 2005-11-25 16:20:00 · 5448 阅读 · 2 评论 -
sax, dom, jdom技术对比
sax, dom, jdom技术对比 ---天楠于2005-11-25原创 2005-11-25 16:25:00 · 1714 阅读 · 0 评论 -
HashMap使用的注意事项
HashMap是java编程中非常常用的类。非常方便我们构造数据结构。她通过关键字存放各种类型的数据, 使得我们使用的很多。如果要构造这样的一个结构: keyA keyA1 value1 keyA2 value2 。。。 。。。原创 2006-06-07 22:12:00 · 3091 阅读 · 0 评论 -
JAVA线程间通信问题
JAVA线程间通信问题 关键字: java线程间通信问题问题在前一小节,介绍了在多线程编程中使用同步机制的重要性,并学会了如何实现同步的方法来正确地访问共享资源。这些线程之间的关系是平等的,彼此之间并不存在任何依赖,它们各自竞争CPU资源,互不相让,并且还无条件地阻止其他线程对共享资源的异步访问。然而,也有很多现实问题要求不仅要同步的访转载 2009-07-18 23:00:00 · 4707 阅读 · 2 评论 -
PostgreSQL jdbc版本区分
刚接触 postgres jdbc的时候,对于当前的jdk用那个jdbc版本搞不清楚。后来跑到官方网站上一看。写的轻轻楚楚的。只是不能上网的公司遇到这样的问题就没地方查询了。呵呵。官方网站:http://jdbc.postgresql.org/download.html Version JDBC 2 JDBC 2 EE JDBC 3原创 2009-07-22 22:16:00 · 6907 阅读 · 0 评论 -
jdbc 事务管理
标准SQL中针对同时执行的控制有4种隔离级别。 在逻辑处理中我们一般不希望以下几种现象发生: 脏读:一个事务读取了另一个未提交事务写入的数据。 不可重复读:一个事务原创 2009-08-07 13:38:00 · 1845 阅读 · 0 评论 -
javamail中Transport.send(Message msg) 方法是同期的?
有人问我javamail中Transport.send(Message msg) 方法是不是同期的?这个问题我自己也没仔细研究过,也不清楚。比如代码片段:SendMail.java for (int i = 0; i Message msgi; ・・・ Transport.send(msgi);} 在上面的处理中Transport.send(原创 2009-08-08 13:44:00 · 5088 阅读 · 2 评论 -
作业调度工具Quartz简介
Quartz(http://www.opensymphony.com/quartz/)是OpenSymphony开源组织在Jobscheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个,上百万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。原创 2009-08-15 13:17:00 · 1523 阅读 · 0 评论 -
ie中下载文件框中的文件名为“download.do”的解决办法
最近在一个项目的维护中,发现ie中下载文件的时候,下载框中的文件名为“download.do”。文件类型识别不了。保存后改了文件后缀是能够看到内容的。说明下载流数据那边是没有问题的。 但是查看了代码后,发现和其他画面的下载写法是一样的。唯一的区别一个是直接用的servlet,一个是作为action提交的。出问题的是直接用的servlet的那个画面。 刚开始一看两边代码一模一样原创 2009-08-20 20:10:00 · 17382 阅读 · 0 评论 -
Java性能优化:垃圾回收(GC) (转文)
2009-04-29 作者:编程随想 来源:编程随想的博客 上次的帖子讲到引用类型和基本类型由于内存分配上的差异导致的性能问题。那么今天就来聊一下和内存释放(主要是GC)有关的话题。 事先声明一下:虽说SUN公司已经被Oracle吞并了,但是出于习惯,同时也为了偷懒节省打字,以下仍然称之为SUN公司。 ★JVM的内存 在Java虚拟机规范中(具体章节请转载 2009-08-22 22:23:00 · 1133 阅读 · 0 评论 -
JAVA读取服务器文件时文件名乱码的解决办法
我们经常有用JAVA读取服务器上的文件的操作。比如对一个文件夹的所有文件重命名。但是如果文件名包含中文,日文等文字的时候,可能读取的文件名是乱码,很多问号???。那该怎么解决呢? 这还得先大致了解一下JAVA读取文件的原理。JAVA读取文件是会自动用当前JAVA环境的encode对文件名进行读取。 如果JAVA环境的encode和服务器上的文件名的encode一致的话,原创 2009-08-25 21:47:00 · 11640 阅读 · 4 评论 -
JDBC的fetchsize和maxrows
在我们的项目开发中,可能有把SQL查询的结果保存到CSV然后提供下载的功能。当查询的结果集相当大的时候,很容易报内存不足错误(outofmemory)。那该怎么解决这种情况的内存不足错误呢? 其实在JAVA的Statement中提供的方法可以解决这个问题。 setMaxRows(int max): 将此 Statement 对象生成的所有 Re原创 2009-09-01 22:18:00 · 23207 阅读 · 3 评论 -
使用TreeMap减少重复代码
TreeMap是基于红黑树(Red-Black tree)的 NavigableMap 实现。该映射根据其键的自然顺序进行排序,或者根据创建映射时提供的 Comparator 进行排序,具体取决于使用的构造方法。 此实现为 containsKey、get、put 和 remove 操作提供受保证的 log原创 2009-09-05 16:35:00 · 2412 阅读 · 0 评论 -
软件架构:Quartz的个性实现
Quartz 是个开放源码项目,提供了丰富的作业调度集。接口简单而强大。Quartz还提供了我们项目开发中的个性实现。默认的Quartz配置如下: org.quartz.scheduler.instanceName = DefaultQuartzScheduler org.quartz.scheduler.rmi.export = false org.qua原创 2009-09-05 18:41:00 · 5103 阅读 · 0 评论 -
JVM参数配置大全 (转文)
堆大小设置JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置: java -Xmx转载 2009-09-06 15:45:00 · 988 阅读 · 0 评论 -
面向对象:类组合还是类继承?
类组合还是类继承?假设我们有一张表A,有多个画面用到。比如10个画面用到。由于每个画面功能不一样,但A表的大多数字段所以字段都是共用的。这种情况下,怎么写自己的INFO类呢?大概有3种方案方案1:每个画面都写一个自己的INFO类。方案2:先原创 2009-09-12 16:30:00 · 2349 阅读 · 0 评论 -
面向对象:接口继承还是类继承?
面向对象:接口继承还是类继承我们项目开发中,为了实现各种各样的需求,需要设计封装功能。其中方法的调用是基于接口好呢还是类好呢?比如我们有一个共通功能。其中有一个初始化处理根据企业不同,初始化的处理也不同。但是并非所有企业都必要做初始化处理。方案1:接口(In原创 2009-09-13 19:52:00 · 1558 阅读 · 0 评论 -
面向对象:开放-封闭法则(OCP)
介绍一下开放-封闭法则(OCP)。(下面内容来自网络文档)■开放-封闭法则认为我们应该试图去设计出永远也不需要改变的模块。■我们可以添加新代码来扩展系统的行为。我们不能对已有的代码进行修改。■符合OCP的模块需满足两个标准:原创 2009-09-14 22:02:00 · 1187 阅读 · 2 评论 -
面向对象:Liskov替换法则(LSP)
Liskov替换法则(LSP):使用指向基类(超类)的引用的函数,必须能够在不知道具体派生类(子类)对象类型的情况下使用它们。■ Liskov替换法则(LSP)是根据我所熟知的“多态”而得出的。 例如: pu原创 2009-09-15 21:29:00 · 1252 阅读 · 0 评论 -
再认识MD5加密算法
MD5是非常有名的加密算法,大学的算法教程里面也有学过,不过工作后没怎么用过,具体内容差不多都忘记了。 最近在一个项目中用到了MD5加密,但客户担心个人信息泄露,询问我们加密后的内容是不是唯一的? MD5是散列算法,MD5的全称是Message-digest Algorith原创 2009-09-17 21:17:00 · 1092 阅读 · 0 评论 -
模板语言:Velocity简介
Velocity(http://velocity.apache.org/)是开源的模板技术,和JSP类似。在Web开发中是一种不错的选择。Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和jav原创 2009-09-19 16:13:00 · 737 阅读 · 0 评论 -
面向对象:稳定依赖原则(SDP)
介绍一下RobertC.Martin提出的面向对象的设计原则中的稳定依赖原则。参考文档(http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf)。 稳定依赖原则(SDP):The Stable Dependencies Principle 。是为了解决包设计的依存问题的。原创 2009-09-28 22:10:00 · 5250 阅读 · 0 评论 -
面向对象:单一任务原则(SRP)
Robert C. Martin提出的面向对象的5个原则,这次介绍一下单一责任原则。单一责任原则(Single Responsibility Principle (SRP)):类的责任只有一个,修改类的理由不能存在多个。参考文档(http://w原创 2009-09-23 12:50:00 · 1257 阅读 · 0 评论 -
面向对象:重用发布等价原则(REP)
介绍一下Robert C. Martin提出的面向对象的设计原则中的重用发布等价原则。参考文档(http://www.objectmentor.com/resources/articles/granularity.pdf) 重用发布等价原则:Release Reuse Equivalency Principle (REP)。重用的粒度就是发布的粒度(The granu原创 2009-09-23 20:52:00 · 6905 阅读 · 0 评论 -
面向对象:全再利用原则(CRP)
介绍一下RobertC.Martin提出的面向对象的设计原则中的全再利用原则。参考文档(http://www.objectmentor.com/resources/articles/granularity.pdf)。 全再利用原则(CRP):The Common Reuse Principle。是为了解决包设计的凝集问题的。 ·包里面的类能够一起被再利用原创 2009-09-24 22:20:00 · 1501 阅读 · 0 评论 -
PostgreSQL错误解决:ERROR: current transaction is aborted, commands ignored until end of transaction blockp
在平时的数据库操作编程中我们会时不时会遇到ERROR: current transaction is aborted, commands ignored until end of transaction blockp这样的错误。该怎么解决呢?一般我们都是直接上网查找。如果英文好一点的人的话的从错误信息就能知道大概是那个地方出错了。不过如果经验不是很丰富的话,还是上网查找比较方便。最基本错误原创 2009-09-24 20:55:00 · 50896 阅读 · 0 评论 -
面向对象:闭锁性共通原则(CCP)
介绍一下RobertC.Martin提出的面向对象的设计原则中的闭锁性共通原则。参考文档(http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf)。 闭锁性共通原则(CCP):The Common Closure Principle 。是为了解决包设计的凝集问题的。原创 2009-09-30 21:30:00 · 1110 阅读 · 0 评论 -
JAVA运行分析工具:VisualVM
VisualVM(https://visualvm.dev.java.net/)是一个JAVA运行分析工具。可以作为独立软件运行,也可以作为IDE的插件来运行。在JDK6 UPDATE7以后就自带了。 这个软件的适用者有3类: Application Developer: Monitor, profile, take thread dumps, br原创 2009-10-08 09:37:00 · 2188 阅读 · 0 评论 -
Web Services:Apache XML-RPC
XML-RPC(http://ws.apache.org/xmlrpc/ )的全称是XML Remote Procedure Call,即XML远程方法调用。是JAVA实现的XML-RPC。 这种远程过程调用使用http作为传输协议,XML作为传送信息的编码格式。Xml-Rp原创 2009-09-30 22:25:00 · 1559 阅读 · 0 评论 -
面向对象:代码评价工具JDepend
JDepend(http://www.clarkware.com/software/JDepend.html)是代码质量评价工具。遍历所有类生成每个包的依赖程度,稳定性,可靠度等报告。 重点在三个方面:extensibility可扩展, reusability可重用, maintainability可维护。 主要根据Robert C. Martin氏提出的面原创 2009-10-08 10:12:00 · 7031 阅读 · 0 评论 -
垃圾回收视图化查看工具:GCViewer
GCViewer(http://www.tagtraum.com/gcviewer.html)是免费的开源垃圾回收视图化查看工具。 这个工具只能在1.5以下的版本中运行,1.6以后没有对应。这个工具是根据JVM的GC执行的log来视图化的,因此我们第一件要做的就是产生log。要产生log需要修改JVM的配置。官方说法如下:Sun JDK 1.4/1.5 with原创 2009-10-08 15:57:00 · 17070 阅读 · 1 评论 -
JDK的几种分析工具
学习了一下JDK中的一些自带系统性能分析工具。 在jdk的bin目录下,jconsole,jstack、jmap、jstat、jhatjconsole是监视和管理工具。可以查看堆内存,线程,类,CPU状况。直接双击就可以启动了,然后选择连接本地local还是远程remote,分析结果就出现在界面上了。当然也可以从命令行启动界面。 jstack 主要用于线程死锁的监控。原创 2009-10-10 19:26:00 · 5914 阅读 · 0 评论 -
面向对象:稳定抽象等价原则(SAP)
以下内容来自http://www.lifevv.com/sysdesign/doc/20071210191759580.html。前言 Robert C. Martin氏为我们总结了在面向对象的设计(OOD)中应该遵循的原则,这些原则被称为“Principles of OOD”,关于“Principles of OOD”的相关文章可以从Object Men转载 2009-10-09 22:15:00 · 6676 阅读 · 0 评论 -
面向对象:单例模式(Singleton)
单例模式是我们众所周知的设计模式。 在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服 务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象原创 2009-11-01 09:18:00 · 984 阅读 · 0 评论 -
面向对象:建造者(Builder)模式
以下内容来自http://www.lifevv.com/sysdesign/index.html 本文介绍设计模式中的建造者(Builder)模式的概念,用法,以及实际应用中怎么样使用Builder模式进行开发。Builder模式的概念 Builder模式是一种对象创建型模式,它跟工厂模式(包括工厂方法模式与虚拟工厂模式)一样,都用来创建类的对象。我们先阐述一转载 2009-11-08 22:19:00 · 2114 阅读 · 0 评论 -
面向对象:原型(Prototype)模式
以下内容来自http://www.lifevv.com/sysdesign/index.html Prototype模式的概念 Prototype模式是一种对象创建型模式,它跟工厂模式,Builder模式等一样,都用来创建类的实例对象。但Prototype模式的对象创建方法,具有以下特点:- 由原型对象自身创建目标对象。也就是说,对象创建这一动作发转载 2009-11-08 22:22:00 · 1297 阅读 · 0 评论 -
面向对象:工厂方法(Factory Method)模式
以下内容来自http://www.lifevv.com/sysdesign/index.html 本文介绍设计模式中的工厂方法(Factory Method)模式的概念,用法,以及实际应用中怎么样使用Factory Method模式进行开发。<!-- <!-- ClickTime_WebCode = "200906转载 2009-11-08 22:09:00 · 222 阅读 · 0 评论 -
面向对象:适配器(Adapter)模式
以下内容来自http://www.lifevv.com 本文介绍设计模式中的适配器(Adapter)模式的概念,用法,以及实际应用中怎么样使用适配器模式进行开发。Adapter模式的概念 在大规模的系统开发过程中,我们常常碰到诸如以下这些情况:我们需要实现某些功能,这些功能已有还不太成熟的一个或多个外部组件,如果我们自己重新开发这些功能会花费大量时间;转载 2009-11-12 22:48:00 · 1331 阅读 · 0 评论 -
面向对象:组合(Composite)模式
以下内容来自http://www.lifevv.com 本文介绍设计模式中的组合(Composite)模式的概念,用法,以及实际应用中怎么样使用组合模式进行开发。Composite模式的概念 Composite模式是构造型的设计模式之一,通过递归手段来构造诸如文件系统之类的树形的对象结构;Composite模式所代表的数据构造是一群具有统一接口界面的对象集合转载 2009-11-12 22:51:00 · 5018 阅读 · 0 评论 -
面向对象:桥接(Bridge)模式
本文来自http://www.lifevv.com/sysdesign/index.html 本文介绍设计模式中的桥接(Bridge)模式的概念,用法,以及实际应用中怎么样使用桥接模式进行开发。Bridge模式的概念Bridge模式是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象转载 2009-11-12 22:54:00 · 1701 阅读 · 1 评论