c3p0连接池[转]

Posted by & filed under Uncategorized.

在这里记录对c3p0连接池管理的一些代码 一、连接池管理类 [java] view plaincopy import java.sql.Connection; import java.sql.SQLException; import java.util.HashMap; import java.util.List; import java.util.Map; import org.jdom.Document; import org.jdom.Element; import com.mchange.v2.c3p0.ComboPooledDataSource; import com.shine.framework.util.XMLUtil; /** * 数据库连接池管理器,基于C3P0 * */ public class ConnPoolManager { private final static ConnPoolManager instance = new ConnPoolManager(); private Map pools = new HashMap(); private ConnPoolManager(){ } public static ConnPoolManager getInstance(){ return instance; } /** Read more […]

利用DES加密算法保护Java源代码[转]

Posted by & filed under Uncategorized.

本文首先分析了Java源代码需要加密的原因,简要介绍了DES算法及Java密码体系和Java密码扩展,最后说明了利用DES加密算法保护Java源代码的方法及步骤。   Java语言是一种非常适用于网络编程的语言,它的基本结构与C++极为相似,但抛弃了C/C++中指针等内容,同时它吸收了Smalltalk、C++面向对象的编程思想。它具有简单性、鲁棒性、可移植性、动态性等特点。这些特点使得Java成为跨平台应用开发的一种规范,在世界范围内广泛流传。   加密Java源码的原因   Java源代码经过编译以后在JVM中执行。由于JVM界面是完全透明的,Java类文件能够很容易通过反编译器重新转换成源代码。因此,所有的算法、类文件等都可以以源代码的形式被公开,使得软件不能受到保护,为了保护产权,一般可以有以下几种方法:   (1)”模糊”类文件,加大反编译器反编译源代码文件的难度。然而,可以修改反编译器,使之能够处理这些模糊类文件。所以仅仅依赖”模糊类文件”来保证代码的安全是不够的。   (2)流行的加密工具对源文件进行加密,比如PGP(Pretty Read more […]

Java中常出现的乱码问题总结[转]

Posted by & filed under Uncategorized.

编码也就是计算机能识别的数据与人类友好的数据的翻译过程。计算机的基本存储单位是byte,人类友好语言(汉语英语等各种语言)用char存储吧。那么编码其实就可以理解为char-byte、byte-char这样的过程。这样char-byte之间的翻译就需要一个标准了,可惜的是每个国家根据自己国家的母语设计出了不同的翻译标准,这边导致不同标准之间的翻译过程出现不统一,自然乱码问题就出现了。 常见的编码标准有很多,常用的能用识别中文的有GB2312、GBK、UTF-8、UTF-16。其中,GB2312与GBK类似,但是GBK范围更大,所以GB2312、GBK之间应该选用GBK;UTF-16每个字符都用2个字节编码,对于ASCII字符浪费空间,另外如果编码过程中有一个字节损坏则会影响后边的所有,但是编码效率相对高;UTF-8最大的特点是变长编码,1-4个字节来表示一个符号,节省空间,并且解决了UTF-16的安全问题。因此,utf-8适合网络传输(安全),utf-16适合本地磁盘和内存之间。 Java Read more […]

java中有关深拷贝和浅拷贝的解析[转]

Posted by & filed under Uncategorized.

熟悉C++的朋友对这个话题应该很熟悉,浅拷贝就是指两个对象共同拥有同一个值,一个对象改变了该值,也会影响到另一个对象。深拷贝就是两个对象的值相等,但是互相独立。本来想把以前写的一篇文章扩充一下,没想到居然牵扯出很多复杂的问题。本文测试环境是windows xp sp3中文版、NetBeans6.7.1,JDK1.6-update16。这里抛砖引玉,希望大家能提宝贵意见。 首先,Java中常用的拷贝操作有三个,operator = 、拷贝构造函数 和 clone()方法。由于Java不支持运算符重载,我们无法在自己的自定义类型中定义operator=。拷贝构造函数大家应该很熟悉,现在看一下如何支持clone方法: 实现 Cloneable接口,因为 Object的 clone方法将检查类是否实现了 Read more […]

使用DOM4J操作XML文件[转]

Posted by & filed under Uncategorized.

本文介绍了在Java语言环境下使用DOM4J对于XML文档的基本操作,主要内容包括: 1. XML文档的创建 2. 节点的增加、修改、查询、删除操作 3. 注释的增加操作 4. 属性的增加、修改、查询、删除操作 代码使用的主要资源包括: 1. DOM4J 1.6.1 2. JAXEN 1.1.1

需要说明的是: 1. 语句执行的作用以注释形式标记在相应的语句之前,语句执行的效果以注释形式标记在相应的语句之后; 2. 文档注释一经添加无法通过编程的方式删除。

Java NIO原理和使用[转]

Posted by & filed under Uncategorized.

Java NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I/O通道后,read()将一直等待在端口一边读取字节内容,如果没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。 Java NIO非堵塞技术实际是采取Reactor模式,或者说是Observer模式为我们监察I/O端口,如果有内容进来,会自动通知我们,这样,我们就不必开启多个线程死等,从外界看,实现了流畅的I/O读写,不堵塞了。 Java NIO出现不只是一个技术性能的提高,你会发现网络上到处在介绍它,因为它具有里程碑意义,从JDK1.4开始,Java开始提高性能相关的功能,从而使得Java在底层或者并行分布式计算等操作上已经可以和C或Perl等语言并驾齐驱。 如果你至今还是在怀疑Java的性能,说明你的思想和观念已经完全落伍了,Java一两年就应该用新的名词来定义。从JDK1.5开始又要提供关于线程、并发等新性能的支持,Java应用在游戏等适时领域方面的机会已经成熟,Java在稳定自己中间件地位后,开始蚕食传统C的领域。 本文主要简单介绍NIO的基本原理,在下一篇文章中,将结合Reactor模式和著名线程大师Doug Read more […]

分享Java的一个爬虫[转]

Posted by & filed under Uncategorized.

进行抓取页面,我看了一下人家的教程,一般要用到htmlparser用来解析html得到一个网页的相关链接,用httpclient抓取网页数据, 下面是一我写的spider类

分享Java之StringUtils工具类的常用方法

Posted by & filed under Uncategorized.

Apache的StringUtils类的一些常用方法,用于编程中遇到的一些字符串处理,该类基本包含了所有字符串处理方法,很有帮助,也算给自己做个备注吧-管维利 StringUtils 源码,使用的是commons-lang3-3.1包。 下载地址 http://commons.apache.org/lang/download_lang.cgi 以下是StringUtils的各项用法 1.空字符串检查 使用函数: StringUtils.isBlank(testString) 函数介绍: 当testString为空,长度为零或者仅由空白字符(whitespace)组成时,返回True;否则返回False 例程: String test = “”; String test2 = “\n\n\t”; String test3 = null; String test4 = “Test”; System.out.println( “test blank? ” + StringUtils.isBlank( test ) ); System.out.println( “test2 blank? ” + StringUtils.isBlank( Read more […]

算法题-寻找4位吸血鬼数字[转]

Posted by & filed under Uncategorized.

吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘得到,这对数字各包含乘积的一半位数的数字,数字选取后可任意排序。例如,下列数字都是“吸血鬼”数字: 1260=21×60 1827=21×87 2187=27×81 写出一个程序,找出4位数的所有吸血鬼数字。

JavaEE之Web.XML 配置详解[转]

Posted by & filed under Uncategorized.

每一个站的WEB-INF下都有一个web.xml的设定文件,它提供了我们站台的配置设定. web.xml定义: .站台的名称和说明 .针对环境参数(Context)做初始化工作 .Servlet的名称和映射 .Session的设定 .Tag library的对映 .JSP网页设定 .Mime Type处理 .错误处理 .利用JDNI取得站台资源 要了解web.xml的设定值,必须了解它的schema,从web.xml中知道它的schema是由Sum Microsystems公司定制的,如果你想更为详细的了解它, 可以到http://java.sun.com/xml/ns/j2ee/web-mapp_2_4.xsd网页,那里有更为详细的介绍。这里我介绍我们平常见得最都的. 这是一般在写XML时所做的声明,定义了XML的版本,编码格式,还有重要的指明schema的来源,为http://java.sun.com/xml/ns/j2ee /web-app_2_4.xsd. ,, ____________________________________________ 站台描述 对站台做出描述. 站台名称 定义站台的名称. icon元素包含small-icon和large-icon两个子元素.用来指定web站台中小图标和大图标的路径. /路径/smallicon.gif small-icon元素应指向web站台中某个小图标的路径,大小为16 Read more […]