javaSE
lklinkang
这个作者很懒,什么都没留下…
展开
-
java路径祥解
获取JAVA路径,包括CLASSPATH外的路径 归纳一些网上取JAVA路径的方法:注明:如果从ANT启动程序,this.getClass().getResource("")取出来的比较怪,直接用JAVA命令行调试就可成功。 得到classpath和当前类的绝对路径的一些方法 获得CLASSPATH之外路径的方法: URL base = this.getC转载 2009-04-12 12:14:00 · 544 阅读 · 0 评论 -
使用dom4j出现乱码解决方案
由于在Eclipse等IDE工具中开发时和部署在Tomcat等应用容器中系统获取到的编码不同有可能导致在开发过程中程序运行正常,而部署在tomcat中后却出现乱码的情况,可以通过让程序动态获取运行环境中的默认编码来解决1、在创建文档时设置编码: reader = new SAXReader (); reader.setEncoding(Charset.defaultCha原创 2013-01-31 13:28:44 · 1394 阅读 · 0 评论 -
ant打包开启debug功能
在ant脚本中需要将javac这个target的debug属性设置为on才能在debug引用该jar的工程时时debug到该jar包中的代码如:<javac destdir="${classes.dir}" source="1.5" target="1.5" debug="on" deprecation="false" optimize="false" failoner原创 2012-01-31 16:34:52 · 11676 阅读 · 2 评论 -
使用dom4j 创建属性时,去掉XMLNS属性
当我们创建元素时如果为其指定了与父节点相同的命名空间时XMLNS属性就不会生成,否则将生成XMLNS="" 这样的属性如:DocumentHelper.createElement(QName.get(elementName, elem.getNamespace ()));原创 2011-12-22 21:53:41 · 6027 阅读 · 4 评论 -
阻塞队列BlockingQuene及显示锁Lock
java5为我们提供了显示锁Lock,该锁以一个普通类的形式进行使用,但是他具有与synchronized相同的语义,并且在锁竞争时能够为我们带来更高的执行效率。可以说synchronized关键字是Lock的一种简单实现他包含了一个内部的Condition,而现在的同一个Lock可以拥有多个Condition.这对于某些场景非常有用,如阻塞队列BlockingQuene.Lock的常见用法为原创 2011-09-15 19:00:37 · 844 阅读 · 0 评论 -
利用java nio 实现简单的消息通讯
在分布式java应用中,经常需要在各个子系统间进行通信与数据交换。在java领域要实现这样的功能有很多途径,下面我将使用nio+tcp/ip这种基于消息机制的方式来实现这样的功能。利用nio的非阻塞模式以及选择器机制能够很大程度上的提高程序的性能及吞吐量。利用线程池能够方便的做到一请求一线程,在实际环境中这是非常有作用的,真实的应用场景往往是连接数可能会很多,但是同一时间向服务器发送的请求会远远小原创 2011-11-20 14:54:12 · 3138 阅读 · 0 评论 -
java并发编程之同步器
从java5开始juc包为我们提供了很多方便使用的同步器类: CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作前需要一个或多个其他的线程处于阻塞状态时我们可以使用它,如田径比赛中,将每一名运动员看做一个工作线程,成绩记录员看做另一线程,显然成绩记录员开始记录员开始记录成绩前需要所有的运动员都先做好比赛准备并且同时开始起跑,我们需要就最后参赛者所的成绩得出一个原创 2011-11-20 15:53:59 · 7039 阅读 · 0 评论 -
Java 深拷贝ArrayList实例(包括递归和序列化方法)
前言: 日前一哥们问我一个有关多层ArrayList拷贝的问题,我帮他写了一个例程,感觉以后用得着,便放上来了。如果要在自身类中加入Clone功能,需要implements ICloneable接口,然后用下面的相应代码重写clone方法即可。源代码:package com.sss.test;import java.io.ByteArrayInputStream;impo转载 2011-06-14 12:55:00 · 10403 阅读 · 0 评论 -
普通java工程打包脚本
build.xml<br /> <br /><project basedir="." default="jar" name="core"><br /> <br /><target name="init"><br /> <br /><!-- property settings --><br /> <br /><property file="build.properties" /><br /> <br /> <br /> <br /><echo message="----------- ${Nam原创 2011-05-30 13:56:00 · 888 阅读 · 0 评论 -
java.lang.UnsupportedOperationException异常
<br />常常使用Arrays.asLisvt()后调用add,remove这些method时出现java.lang.UnsupportedOperationException异常。这是由于:<br /><br />Arrays.asLisvt() 返回java.util.Arrays$ArrayList, 而不是ArrayList。Arrays$ArrayList和ArrayList都是继承AbstractList,remove,add等method在AbstractList中是默认throw Unsu转载 2011-02-14 11:10:00 · 1674 阅读 · 0 评论 -
Xml解析Exception:Content is not allowed in prolog
异常信息: Error on line 1 of document : Content is not allowed in prolog. Nested exception: Content is not allowed in prolog. 分析原因: 解析一个XML时引起次异常,可能是由于BOM引起的。 BOM:Byte Orde转载 2013-03-05 13:24:22 · 20708 阅读 · 0 评论