自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(194)
  • 收藏
  • 关注

原创 关于项目中数据库驱动jar、JDK和连接池DBCP jar之间的版本匹配

今天听同事说有一个web项目,在本地测试都是可以的,上线后试运行也可以,但是过几个小时就会出错连接池报错的问题。DBCP在项目中使用非常广泛。应该不太会是配置上出错。上apache官网上看了下,发现原来DBCP不同版本的jar包是支持不同版本的JDBC规范的。如下:DBC

2011-09-16 18:40:37 4908

转载 java读写文件大全

使用Java操作文本文件的方法详解 摘要: 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类,这两个类都是抽象类,Writer

2011-09-01 10:56:23 1122

转载 LDAP 中DN、CN、DC的含义

很多人虽然会使用dsadd等命令添加用户,但是dsadd的命令说明里面并没有涉及到dc,cn,ou的含义,很多人都不明白,这里是微软的技术支持人 员的回信,希望对大家有帮助。 CN, OU, DC 都是 LDAP 连接服务器的端字符串中的区别名称(DN, distinguished   name) LDAP连接服务器的连接字串格式为:ldap://servername/DN   其中DN有三个属性

2011-06-22 17:04:00 35376 3

转载 JMF原理

Java媒体框架(JMF)使你能够编写出功能强大的多媒体程序,却不用关心底层复杂的实现细节。JMF API的使用相对比较简单,但是能够满足几乎所有多媒体编程的需求。在这篇文章中,我将向你介绍如何用很少的代码就编写出多媒体程序。 Java多媒体框架(JMF)中包含了许多用于处理多媒体的API。它是一个相当复杂的系统,完全了解这个系统可能需要花上几周的时间,但是这篇文章将主要介绍JMF的几个核心接口和类,然后通过一个简单的例子向你展示如何利用该接口进行编程。 JMF目前的最新版本是2.1,Sun通过它向Java

2011-06-01 09:14:00 1619 1

转载 Windows下安装使用openldap

<br />openldap 比起其他商业目录服务器(比如 IBM Directory Server),特别的轻巧,十分适合于本地开发测试用,在产品环境中的表现也很优秀。<br /><br />openldap 软件在它的官方网站 http://www.openldap.org, 不过下载过来是源代码,并没有包含 win32 下的 Makefile 文件,只提供了在 Unix/Linux 下编译用的 Makefile。所以相应的在网上介绍在 windows 下安装使用 openldap 的资料比较少,而在

2011-05-18 23:03:00 1779

原创 ext4表单实例

<br />不说废话,直接贴代码和截图<br /><br />  <mce:script type="text/javascript"><!-- Ext.require([ 'Ext.form.*' ]); Ext.onReady(function() { Ext.regModel('Nation', { fields: [ {type: 's

2011-05-13 16:24:00 6305 2

转载 读CopyOnWriteArrayList有感

除了加锁外,其实还有一种方式可以防止并发修改异常,这就是将读写分离技术(不是数据库上的)。先回顾一下一个常识:1、JAVA中“=”操作只是将引用和某个对象关联,假如同时有一个线程将引用指向另外一个对象,一个线程获取这个引用指向的对象,那么他们之间不会发生ConcurrentModificationException,他们是在虚拟机层面阻塞的,而且速度非常快,几乎不需要CPU时间。2、JAVA中两个不同的引用指向同一个对象,当第一个引用指向另外一个对象时,第二个引用还将保持原来的对象。基于上面这个常识,我们再

2011-04-15 17:40:00 1478

原创 java回调函数实例(Struts2源码)

首先举例说明什么是回调函数,程序员A写了一段程序(程序a),其中预留有回调函数接口,并封装好了该程序。程序员B要让a调用自己的程序b中的一个方法,于是,他通过a中的接口回调自己b中的方法。目的达到。在struts2的源码中就有这样的例子:com.opensymphony.xwork2.inject.ContainerImpl中有如下方法 T callInContext(ContextualCallable callable) { Object[] reference = localContext.

2011-04-15 17:11:00 2493

转载 关于hashCode方法的作用

<br />有许多人学了很长时间的Java,但一直不明白hashCode方法的作用, <br />我来解释一下吧。首先,想要明白hashCode的作用,你必须要先知道Java中的集合。   <br />总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。 <br />你知道它们的区别吗?前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。 <br />那么这里就有一个比较严重的问题了:要想保证元素不重复,可两个元素是否重复应该依据什么来判断呢? <b

2011-04-15 10:56:00 18090 3

转载 在重写了对象的equals方法后,还需要重写hashCode方法吗?

<br />首先说建议的情况:  比如你的对象想放到Set集合或者是想作为Map的key时(非散列的Set和Map,例如TreeSet,TreeMap等),那么你必须重写equals()方法,这样才能保证唯一性。当然,在这种情况下,你不想重写hashCode()方法,也没有错。但是,对于良好的编程风格而言,你应该在重写equals()方法的同时,也重写hashCode()方法。 <br /><br />然后再说说必须重写hashCode()的情况: <br />    如果你的对象想放进散列存储的集合中(比

2011-04-15 10:54:00 4570 1

转载 Maven + Eclipse + Tomcat

<br />在eclipse下直接用maven-tomcat-plugin来部署运行包括debug web项目。网上找到了一些资料,都很繁琐。最后看到了一篇国外的文章:http://docs.codehaus.org/display/MAVENUSER/Dealing+with+Eclipse-based+IDE。从中获知在Maven的2.0.8版本之前,在Eclipse+Tomcat的环境下调试Maven项目确实需要做很多配置,但是在2.0.8版本之后就方便多了。具体方式如下:<br />1、在安装了m2

2011-04-13 15:09:00 3049

原创 关于业务系统中代码的管理

<br />     首先先说明两个概念代码字段和代码表。代码字段是指需要限定取值范围的字段。代码表指的是那一类用来记录代码字段取值范围的表。代码字段和代码表几乎在我们开发的每个业务系统中都存在。从我自身经历过的一些项目来看,一般的设计方式有三种:<br />     (1)不使用代码表的常量定义方式,由程序来直接指定某个代码字段的分配,比如性别有男和女这两种取值,那么就定义女为0,男为1,这样在建表时就在注释处做好说明,这样程序员在开发时就按照这个约定进行开发。个人觉得这种方式比较适用于那些变化可能性比较

2011-04-10 19:00:00 1091

转载 提高代码质量及字节码如何防止内存错误

<br /> <br />大多Java程序员知道他们的程序通常不会被编译为本机代码而是被编译为由java虚拟机(JVM)执行的字节码格式。然而,很少有java程序员曾经看过字节码因为他们的工具不鼓励他们去看。大多Java 调试工具不允许单步执行字节码,它们要么显示源代码行,要么什么也不显示。 <br />幸运的是JDK提供了javap,一个命令行工具,它使得查看字节码很容易。让我们看一个范例: <br /> <br />public class ByteCodeDemo { <br />public s

2011-04-05 17:04:00 811

转载 java.lang.ref.Reference

Java代码  Reference提供了一些引用的基本方法以及静态代码块最高优先级启动ReferenceHandler线程  Reference提供了一些引用的基本方法以及静态代码块最高优先级启动ReferenceHandler线程Java代码  package xxx;       /**   * Abstract base class for reference objects.  This class defines the   * operations common to all reference

2011-04-03 00:30:00 3599

转载 用MyEciplse时 some character can not mapped using "iso-8859-1" character encoding 解决

<br />如果你常常用 Eclipse 或者 MyEclipse ,那你就会跟我一样,会在保存页面的时候经常遇到这样的提示<br /><br />some character can not mapped using "iso-8859-1" character encoding ......<br /><br />以前上学的时候,老师讲过类似的解决办法,就是 <br /><br />1.右键选种 该项目,或该文件<br /><br />2.点击 properties ,看到左边 第一个 选项 info

2011-03-13 16:38:00 832

转载 beanUtils基本用法——DynaBean

Apache的BeanUtils包提供万能类DynaBean,使用此类可以不必创建大量的VO,Form等仅仅用来传值的对象。BeanUtils 通过三个类来实现此功能,DynaBean,DynaClass,DynaProperty,我从网上搜到一片文章,有一段讲的很详细,引用过来共同学习

2011-03-06 17:17:00 11508 2

转载 HashMap遍历的两种方式,推荐使用entrySet()

<br />第一种: <br />Map map = new HashMap(); <br />Iterator iter = map.entrySet().iterator(); <br />while (iter.hasNext()) { <br />    Map.Entry entry = (Map.Entry) iter.next(); <br />    Object key = entry.getKey(); <br />    Object val = entry.getValue(); <

2011-01-31 17:18:00 5054 2

转载 持续集成:什么应该自动化?

<br />一、什么是持续集成(Continuous Integration)?<br />这个名词已经在软件开发领域持续了N年,一个比较简单的定义如下:<br />持续集成(CI)是一种实践,可以让团队在持续的基础 上收到反馈并进行改进,不必等到开发周期后期才寻找和修复缺陷。通俗一点儿说,就是指对于开发人员的每一次代码提交,都自动地把Repository中所有代码Check out到一个空目录,并且自动运行所有Test Case。如果成功则接受这次提交,否则告诉所有人,这是一个失败的Revision。更具

2011-01-19 10:06:00 783

原创 英文单词积累

critical section   信号量

2010-11-22 18:13:00 624

转载 rose中的组合

<br />生成组合<br />1、添加关联<br />2、设置重数为1:1<br />3、设置主类为aggregate<br />4、设置主体类为 navigable <br />4、设置主类为按值传递<br />示例:<br />一个进程由pcb, code, date三部分组成。<br />其类图表示如下:<br /><br /><br />设置方法:<br />1、在工具栏选择 "association" (关联),从process类连接到pcb类。<br />2、编辑role B 属性 open

2010-11-22 16:07:00 1086

转载 Maven中节点和节点的区别

<br />以前一直没有在意,今天建立maven工程的时候在节点下加入了junit依赖,结果在dependency Graph中没有发现junit的依赖关系,怎么回事?没有加入项目依赖?遂google之 得解释: 1 .使用项目继承 利用项目继承可以将结构信息,部署信息,共同的依赖信息放置在单一的位置。在每个工程的 pom 中: [...] org.apache.maven.proficio proficio 1.0-SNAPSHOT [...] 这使得项目的 pom 可以继承顶层 pom 中的定义,检查顶

2010-11-20 13:35:00 1124

原创 Plexus,Spring之外的IoC容器

<br />Plexus是什么?它是一个IoC容器,由codehaus在管理的一个开源项目。和Spring框架不同,它并不是一个完整的,拥有各种组件的大型框架,仅仅是一个纯粹的IoC容器。本文讲解Plexus的初步使用方法。<br />Plexus和Maven的开发者是同一群人,可以想见Plexus和Maven的紧密关系了。由于在Maven刚刚诞生的时候,Spring还不成熟,所以Maven的开发者决定使用自己维护的IoC容器Plexus。而由于Plexus的文档比较烂,根据社区的呼声,下一版本的Maven

2010-11-19 10:14:00 6702 1

转载 浅谈Java中的System.gc()的工作原理

趁着今天写程序的热乎劲儿,小谈一下System.gc()这个神秘的东东~<br /><br />很多人把Java的“效率低下”归咎于不能自由管理内存,但我们也知道将内存管理封装起来的好处,这里就不赘述。<br /><br />Java中的内存分配是随着new一个新的对象来实现的,这个很简单,而且也还是有一些可以“改进”内存回收的机制的,其中最显眼的就是这个System.gc()函数。<br /><br />乍一看这个函数似乎是可以进行垃圾回收的,可事实并不是那么简单。<br />其实这个gc()函数的作用只

2010-10-11 11:05:00 50932 10

转载 ClassLoader原理

<br />http://jamesdu.blogchina.com/349567.html                                       <br /> JVM规范定义了两种类型的类装载器:启动内装载器(bootstrap)和用户自定义装载器(user-defined class loader)。 <br /><br /><br /><br /> <br />一.    ClassLoader基本概念<br />1.ClassLoader分类<br />类装载器是用来把类(cl

2010-10-10 22:03:00 1024

转载 问题:何时使用Thread.getContextClassLoader()?

这是一个很常见的问题,但答案却很难回答。这个问题通常在需要动态加载类和资源的系统编程时会遇到。总的说来动态加载资源时,往往需要从三种类加载器里选择:系统或说程序的类加载器、当前类加载器、以及当前线程的上下文类加载器。在程序中应该使用何种类加载器呢?系统类加载器通常不会使用。此类加载器处理启动应用程序时classpath指定的类,可以通过ClassLoader.getSystemClassLoader()来获得。所有的ClassLoader.getSystemXXX()接口也是通过这个类加

2010-10-10 18:42:00 3896

转载 Win32平台下编译SVN源码全过程

<br />前段时间曾经总结过一些在win32平台下基于SVN开发的一些注意事项,主要是在利用svn官方发布的二进制库进行开发过程中使用的方法和一些值得注意的问题。<br /> <br />由于svn官方发布的win32平台下的二进制文件是基于vc6编译的,在使用vc2005进行开发时,会遇到因CRT冲突而引起的link错误。因此,如果是使用vc2005(我推测使用VC2003也会遇到同样的问题,尚未验证)附带的CRT库与svn官方发布的binary进行link,那么无论如何都会出现crash的问题。最为彻

2010-10-07 16:09:00 4130

转载 SVN组成中trunk,branches and tags功能用法详解

<br />本文主要讲解一下SVN组成trunk,branches and tags,主要包括其概念的讲解、用法的比较,相信看完本文你肯定有不少收获,希望本文能教会你更多东西。<br />在本篇文章中,我将会详细说明我是如何应用SVNtrunk(树干)、branches(分支)和tags(标记)。这种方法同样被称为“branchalways”,两者非常接近。可能我所介绍的并不是最好的方法,但是它会给新手一些解释说明,告诉他们trunk、branches和tags是什么,并且该如何去应用它们。<br />当然

2010-10-05 15:46:00 1252 1

转载 WebDAV

<br />WebDAV(Web-based Distributed Authoring and Versioning)是基于 HTTP 1.1 的一个通信协议。它为 HTTP 1.1 添加了一些扩展(就是在 GET、POST、HEAD 等几个 HTTP 标准方法以外添加了一些新的方法),使得应用程序可以直接将文件写到 Web Server 上,并且在写文件时候可以对文件加锁,写完后对文件解锁,还可以支持对文件所做的版本控制。这个协议的出现极大地增加了 Web 作为一种创作媒体对于我们的价值。基于 WebD

2010-10-04 16:18:00 1040

原创 关于Runnable接口的JDK文档翻译

<br />The Runnable interface should be implemented by any<br />class whose instances are intended to be executed by a thread. <br />Runnable 接口应该由那些打算通过某一线程执行其实例的类来实现。其中whose 是定语从句,whose 是定语从句中一个常用的关系代词, 它是关系代词who的所有格,在从句中作定语,也就是说当先行词与从句中某个名词有所属关系,表达“……的”意

2010-10-02 18:23:00 1212

转载 在 Web 应用中增加用户跟踪功能

学习在多线程环境下 Apache Log4j 的 NDC/MDC 开发

2010-09-17 02:09:00 690

原创 杂七杂八

1.把一个数组对象转为其子类的数组对象是否可行,例如CustomConditionItem items[] = (CustomConditionItem[])getItems() ;

2010-09-12 13:00:00 689

原创 spring命名空间的配置方式

从Spring-2.0开始可以使用命名空间的配置方式。 使用它呢,可以通过附加xml架构,为传统的spring beans应用环境语法做补充。 你可以在spring参考文档得到更多信息。

2010-09-09 13:21:00 2301 1

原创 如何通过Eclipse从已有的项目代码中快速提出接口

<br />暂无

2010-09-09 13:19:00 860

转载 Derby(Java DB)简介 ZZ

<br />为了彻底搞清JAVA的类加载机制,有必要研究一个JDBC的实现代码,准备从Derby入手。<br />从Java6开始,Sun的JDK就附带了一个轻量级的数据库,名字叫做Derby。也就是Java DB,由IBM于2004年捐给Apache开源项目组。Derby是一个事务关系型的数据库管理系统,体积非常的小,所有的加起来大约2M左右吧。在最新的Java JDK6发布版里,Derby默认安装在%JAVA_HOME%/db目录下,包括核心库,演示程序以及一个例子数据库。Derby的优势在于体积小,管

2010-08-29 23:04:00 938

转载 深入探讨 Java 类加载器

类加载器是 Java 语言的一个创新,也是 Java 语言流行的重要原因之一。它使得 Java 类可以被动态加载到 Java 虚拟机中并执行。类加载器从 JDK 1.0 就出现了,最初是为了满足 Java Applet 的需要而开发出来的。Java Applet 需要从远程下载 Java 类文件到浏览器中并执行。现在类加载器在 Web 容器和 OSGi 中得到了广泛的使用。一般来说,Java 应用的开发人员不需要直接同类加载器进行交互。Java 虚拟机默认的行为就已经足够满足大多数情况的需求了。不过如果遇到

2010-08-29 13:29:00 637

转载 在ECLIPSE中构建TOMCAT源码工程

在ECLIPSE中构建TOMCAT源码工程

2010-08-28 15:10:00 1325

转载 Tomcat6架构分析

<br />Tomcat6是最新版本的web容器,其支持最新版本的servlet2.5和jsp2.1。而且Tomcat6架构也是经过重新设计优化过的,所以我们有必要分析一下它的架构过程。显然,这是一个通过阅读Tomcat的源代码及相关文档,演绎架构的过程。或许有人会说,这不是放马后炮吗?!!但我觉得这是自我进步的一个必经步骤,先模仿之,然后才能超越之,毕竟我本凡人。<br />Tomcat的架构总的来说是分层次的、可插拔的组件架构。分层次是指构成Tomcat的组件不是同一级别的,上层组件可以包含子组件,各个

2010-08-28 09:56:00 1012

转载 分析 Tomcat catalina.bat 脚本

分析 Tomcat catalina.bat 脚本

2010-08-27 14:03:00 661

转载 tomcat startup.bat解读

tomcat startup.bat解读

2010-08-26 10:41:00 839

转载 request getsession() getsession(boolean create) invalidate() 说明

<br />   写这篇文章,纯粹是为了防止一些不明意义者被互联网上眼花缭乱答案所误导(为什么?因为我在网上看了相关的解释,不看还好,越看越晕,当然有人说,还是有很多解释是正确,okay)!<br />    进入正题,本来想省事直接在网上找相关的解释的,但是看了以后,唉,还是自己看API吧。<br />     1、<br />   API上解释: HttpSession getSession() <br />          Returns the current session associated

2010-08-02 17:26:00 1915

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除