纯粹的JAVA
文章平均质量分 72
zoucq
这个作者很懒,什么都没留下…
展开
-
map遍历的效能
项目中使用了Findbug来进行代码的检查,有个针对map遍历的提示。我的代码如下:String temp = null;Iterator ite = param.keySet().iterator(); while(ite.hasNext()){ temp = ite.next(); sb.append(temp); sb.append(par...2009-10-01 09:10:43 · 100 阅读 · 0 评论 -
利用ant.jar进行解压缩
package com.zoucq;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOu...2011-05-19 16:22:18 · 239 阅读 · 0 评论 -
eclipse插件
正则表达式插件 http://regex-util.sourceforge.net/update/JS插件http://www.spket.com/update/http://download.macromedia.com/pub/labs/jseclipse/autoinstall/原创 2011-05-30 14:05:50 · 115 阅读 · 0 评论 -
java字符串split方法的诡异
String str = "#123" str.split("#").length = 2 String str = "123#" str.split("#").length = 1 就是有点诡异,原来以为二者的长度都为2 String str = "123# " str.split("#").length = 2 ...原创 2011-06-01 18:01:56 · 109 阅读 · 0 评论 -
连接雅虎财经API获取股票信息
一直想自己做个简单的股票系统,来记录股票的价格。在网上看了下,找到google finance api、雅虎财经API、新浪财经API。没有细研究这三个之间的区别,雅虎的API从易用性以及功能方面比较适合我的要求,就定雅虎了。另外还一个web service:http://www.webxml.com.cn/WebServices/StockInfoWS.asmx。不过我利用wsdl生产客户端的时...原创 2011-06-02 11:29:37 · 443 阅读 · 0 评论 -
httpUrlConnection参数详解
// 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在// http正文内,因此需要设为true, 默认情况下是false;httpUrlConnection.setDoOutput(true);// 设置是否从httpUrlConnection读入,默认情况下是true;httpUrlConnection.setDoInput(true);...原创 2011-06-02 12:54:17 · 431 阅读 · 0 评论 -
java 动态代理 proxy InvocationHandler
一篇杂文,写到哪就说到哪。在一些框架中有所谓的截面(aop),这些应用主要就是使用了JAVA的动态代理机制。截面或者说是拦截器所做的事情就是把一些共同的功能代码进行了抽取,简化开发以及维护。比如说,某些业务需要记录日志,需要进行功能验证。先把用到的代码做一些简单的说明:Ø ImasterBusiness:主业务接口Ø MasterBusiness:主业务接口的一个实现类Ø M...原创 2011-06-09 16:27:22 · 198 阅读 · 0 评论 -
【转】ThreadLocal学习一
我们知道Spring通过各种DAO模板类降低了开发者使用各种数据持久技术的难度。这些模板类都是线程安全的,也就是说,多个DAO可以复用同一个模板实例而不会发生冲突。我们使用模板类访问底层数据,根据持久化技术的不同,模板类需要绑定数据连接或会话的资源。但这些资源本身是非线程安全的,也就是说它们不能在同一时刻被多个线程共享。虽然模板类通过资源池获取数据连接或会话,但资源池本身解决的是数据连接或会话...原创 2011-06-10 11:05:26 · 106 阅读 · 0 评论 -
ThreadLocal学习2
典型实例Hiberante的HibernateSessionFactory package com.zoucq.stock.factory; import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.cfg.Configuration;import ...原创 2011-06-10 13:15:45 · 100 阅读 · 0 评论 -
myeclipse优化 Maven
1.禁用myeclipse updating indexesMyEclipse 总是不停的在 Update index,研究发现Update index...是Maven在下载更新,但很是影响myeclipse的使用速度,禁用办法如下:Window => Preferences => Myeclipse=> Maven4Myeclipse取消勾选的Enable Maven4M...原创 2011-06-18 09:11:02 · 203 阅读 · 0 评论 -
Class.forName
Class.forName(xxx.xx.xx) 返回的是一个类,首先要明白在java里面任何class都要装载在虚拟机上才能运行。这句话的作用是要求JVM查找并加载指定的类 (和new 不一样,要分清楚)。静态代码是和class绑定的,class装载成功就表示执行了你的静态代码了。而且以后不会再走这段静态代码了。我们要创建一个新类可以有2中方式Class t = Class.forName(...原创 2011-06-19 19:55:15 · 137 阅读 · 0 评论 -
log4j.properties的路径问题
log4j.properties如果放在web-inif/classes目录下,会被自动加载。而且很多的开源框架,比如struts2也会默认从这个文件目录下读取log4j的配置文件。如果框架用多了,那么这些配置文件就不大好管理,我想单独建一个config文件夹,用来存放配置文件问题就出现了,一直抛异常:log4j:ERROR Could not read configuration fil...原创 2011-06-20 11:59:19 · 348 阅读 · 0 评论 -
DWR 1
原文:http://www.blogjava.net/Supershen/archive/2008/01/18/176207.htmlDWRDWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(D...原创 2011-06-21 12:58:28 · 146 阅读 · 0 评论 -
JSPWiki的安装
平时喜欢用word,excel文档保存一些知识点,日子久了就发现不容易管理。当初参加的一个项目,搭建了自己的wiki,突然其想,我自己也来搭一个玩玩。我使用的wiki是JSPWiki,从网上大体搜了一下,感觉这个是JSP的,而且可以不需要配置数据库,目前最新的版本是2.8.4.官网:http://www.jspwiki.org/wiki/Main1.安装JDK5以及之后的版本2.安装tom...原创 2011-05-19 15:02:21 · 226 阅读 · 0 评论 -
quartz监听器
Quartz主要包含三个组件job,trigger,scheduler,也就对应了有三个监听器,当有重要事件发生,监听器的相应方法就会被调用。有了监听器我们就可以做一个简单的网页应用来监控这些定时任务的执行情况。现在就分别介绍这三种监听器API:http://www.quartz-scheduler.org/docs/api/1.8.1/index.htmlJobListener官方文...原创 2011-05-18 15:32:12 · 191 阅读 · 0 评论 -
log日志性能
看项目组长的代码时,发现了他用了如下的一小段:if(Logger.isLogging()) { Logger.log(…….);}非常好奇,为啥要加上一个判断呢,上网查了查,有这样的说法。产生日志的代价很昂贵,在产生日志消息之后才会去看配置文件,是否允许使用这种级别的日志,如果禁用了就把日志消息抛弃。解决这个问题的标准方式是在构造昂贵的日志消息之前,首先检查是否启用了日志...2009-10-01 09:25:39 · 75 阅读 · 0 评论 -
ByteArrayInputStream的学习
InputStream表示字节输入流,是抽象类不能被实例化。所有的字节输入流都是它的子类或者间接子类。ByteArrayInputStream,字节数组输入流,从内存中的字节数组中读取数据,它的数据源是一个字节数组。ByteArrayInputSteam采用了适配器设计模式,把字节数组类型转换为了输入流类型。使用范例: public static void main(String...2009-11-09 16:01:21 · 224 阅读 · 0 评论 -
FileInputSteam的学习
FileInputStream,文件输入流,此流读取的也是字节,因此读取到的数据都会被认为是byte类型的,对于字母以及数字而言,读取到的是相对应的ASCII码编号,由于JAVA对汉字的默认编码是UTF-8,此种编码对汉字是的编码长度是16位,即2字节,对汉字会读取为2个byte数值。此种输入把文本中的数据统一作为字节数据处理的,如果存储double值,3445.889,那么会看成8个byte值。...2009-11-10 09:08:19 · 204 阅读 · 0 评论 -
JAVA的克隆
什么是"clone" 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的。在Java语言中,用简单的赋值语句是不能满足这种需求的。要满足这种需求虽然有很多途径,但实现clone()方法是其中最简单,也是最高...2009-11-12 09:33:50 · 126 阅读 · 0 评论 -
包装类Boolean
最近在看effective java 第二版,个人英语水平不咋地,利用坐地铁的时间慢慢地看,有些小收获就记下来。也锻炼锻炼一下文笔水平。 作者在谈创建对象问题时,比较了静态方法与构造函数的区别,各自的优缺点以后再总结吧。今天主要想说的是Boolean这个包装类。我们知道单例模式,要隐藏构造函数,对外提供一个静态方法来保证只创建一个对象。Boolean就有这样一个方法valueOf...2010-04-21 10:42:55 · 187 阅读 · 0 评论 -
java中的内部类
/** * 匿名类必须实现一个接口或者继承一个父类 * 如果将接口注释掉,会提示不能识别Common * */package project.java.thinker.ten;/** * @author Administrator * */public class InnerClassOne { /** * @return *...2009-09-01 22:17:36 · 82 阅读 · 0 评论 -
JAVA的堆与栈
从网上看了些有关堆与栈的文章,没有看得太深,但是感觉有这些理解就OK了。到目前为止,我还是比较感觉都用了。在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。...2009-09-04 16:52:53 · 82 阅读 · 0 评论 -
quartz日志1:基本配置
好久之前用过quartz来跑定时任务,近期工作上轻松一点,回头来回味一下细节先不说,把基本的配置先贴上来,确保可以跑出基本的服务。我没有配置spring,直接在web.xml中配置了quartz,步骤如下:1.下载jar老生长谈的第一步,网址http://www.terracotta.org/dl/quartz-oss-sign-up我用的1.8.5版本,没有用最新的2.0.1版本...原创 2011-05-17 15:55:03 · 1337 阅读 · 0 评论 -
quartz日记2-quartz.properties配置
大家可以直接看官方的文档:http://quartz-scheduler.org/docs/1.x/configuration/index.htmlhttp://quartz-scheduler.org/docs/1.x/configuration/index.html文件 quartz.properties 定义了 Quartz 应用运行时行为,还包含了许多能控制 Quartz 运转...原创 2011-05-17 16:21:26 · 130 阅读 · 0 评论 -
quartz日记3-quartz的基本类
Quartz的几个核心的接口和类为: Job接口:自己写的“定时程序”实现此接口的void execute(JobExecutionContext arg0)方法,Job还有一类为有状态的StatefulJob接口,如果我们需要在上一个作业执行完后,根据其执行结果再进行下次作业的执行,则需要实现此接口。 Trigger抽象类:调度类(Scheduler)在时间到时调用此类,再由...原创 2011-05-17 16:46:54 · 112 阅读 · 0 评论 -
quartz日记4-触发器
SimpleTrigger如果需要计划一个任务在指定的时间执行,或者在指定的时间后以指定的间隔连续执行多次,比如希望在2005年1月12号上午11:22:54开始执行一个任务,在这之后每隔20分钟执行一次,共执行一次,这种情况下可以使用SimpleTrigger。SimpleTrigger包含几个属性:开始时间,结束时间,重复次数和间隔。重复次数可以是大于等于0,或者是常量值Simpl...原创 2011-05-17 17:16:33 · 145 阅读 · 0 评论 -
junit3与junit4的区别
Junit4最大的亮点就是引入了注解(annotation),通过解析注解就可以为测试提供相应的信息,抛弃junit3使用命名约束以及反射机制的方法。/** * 被测试类 */package com.stock.finance.service; import java.util.List;import java.util.zip.DataFormatException;...原创 2011-05-18 13:00:55 · 124 阅读 · 0 评论 -
junit4新框架hamcrest的assertThat
assertThatJUnit4.4引入了Hamcrest框架,Hamcest提供了一套匹配符Matcher,这些匹配符更接近自然语言,可读性高,更加灵活/**equalTo匹配符断言被测的testedValue等于expectedValue,* equalTo可以断言数值之间,字符串之间和对象之间是否相等,相当于Object的equals方法*/assertThat(testedValu...原创 2011-05-18 13:13:33 · 179 阅读 · 0 评论 -
DWR 2
后续:1. 拦截器 uk.ltd.getahead.dwr.DWRServlet该类拦截所有指向dwr目录下的请求,并调用Processor的handler方法进行处理,在uk.ltd.getahead.dwr.impl.DefaultProcessor下,我们可以看到详细的处理过程。if (pathInfo.length() == 0 ||pathInfo.equa...原创 2011-06-21 13:05:40 · 169 阅读 · 0 评论