java
文章平均质量分 74
zhongweijian
码农一枚
展开
-
java Preferences持久化使用示例
jdk1.4引入了Preferences API,它比对象序列化更接近于持久化,因为它可以自动存取和读取信息。Preferences类似于键值对,存取在一个节点层析结构中,不过它只能存取原始数据类型和字符串,每个字符串的长度不能超过8k。 import java.util.prefs.Preferences;public class PreferencesDemo { p原创 2010-01-18 14:43:00 · 1479 阅读 · 0 评论 -
java Integer.ValueOf(int)和new Integer(int)性能比较
JDK的源码,看看到Integer.ValueOf(int)里面做了什么优化: public static Integer valueOf(int i) { final int offset = 128; if (i >= -128 && i <= 127) { // must cache return IntegerCache.cache[i + offset];原创 2010-02-22 17:00:00 · 6379 阅读 · 2 评论 -
java 缓存框架java caching system使用示例
要使用java caching system,需要下面这几个包:jcs.jar,concurrent.jar,commons-logging.jar, commons-lang.jar,commons-collection.jar这几个包,在java工程里面,首先新建一个使用jcs的配置文件:cache.ccf,文件名不能改。# DEFAULT CACHE REGION# sets原创 2010-01-08 17:59:00 · 3591 阅读 · 2 评论 -
java 不定参数使用示例
public class javaTest { public static void test(String ...strings){ for(String str: strings){ System.out.print(str + " "); } System.out.println(); } public static void main(Strin原创 2010-01-11 15:48:00 · 1280 阅读 · 0 评论 -
java HashSet去重示例
import java.util.ArrayList;import java.util.HashSet;import java.util.Iterator;import java.util.List;public class HashSetDemo { public static void main(String[] args){ List tableList原创 2010-05-27 14:00:00 · 7552 阅读 · 0 评论 -
jvm查看诊断工具-jstat,jmap,jinfo,jps,jstack
jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。以下详细介绍各个参数的意义。jstat -class pid:显示加载class的数量,及所占空间等信息。jstat -compiler pid:显示VM实时编译的数量等信息。jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最原创 2012-05-31 12:14:04 · 2614 阅读 · 0 评论 -
httpunit使用示例
import java.io.IOException;import java.net.MalformedURLException;import org.xml.sax.SAXException;import com.meterware.httpunit.GetMethodWebRequest;import com.meterware.httpunit.PostMethodWebRequ原创 2012-05-31 12:16:00 · 14943 阅读 · 4 评论 -
使用testNG进行并发性能测试
import java.lang.reflect.Method;import org.testng.annotations.DataProvider;import org.testng.annotations.Test;public class NewTest { @DataProvider(name = "dp") public Object[][] createData(原创 2012-05-31 12:20:03 · 1947 阅读 · 0 评论 -
jmeter性能测试使用示例
jmeter是一个简单开源的纯java的性能测试工具。今天学习了jmeter使用了下jmeter,使用起来非常简单。 如果我们要对163的首页性能进行简单测试,我们可以按照以下步骤进行。 1.在测试计划里面创建一个线程组,在这个线程组下这个线程组的线程数,也就是并发用户数,循环次数每个并发用户的请求数。参数 ramp-up period 用于告知JMeter 要在多长时间内建立全部的线程。原创 2012-05-31 12:28:04 · 15143 阅读 · 1 评论 -
java 访问不同资源方式
不同类型的资源,需要用不同的方法来访问。访问CLASSPATH中的资源将资源放在CLASSPATH是最简单的做法。我们只要把所需的资源文件打包到Jar文件中,或是在运行java时,用-classpath参数中指定的路径中。接下来我们就可以用下面的代码来访问这些资源:例 5.1. 访问CLASSPATH中的资源URL resourceURL = getClassL原创 2012-05-31 12:45:55 · 835 阅读 · 0 评论 -
jetty关于http状态码处理的一个很有用的类
public class HttpStatus{ public final static int CONTINUE_100 = 100; public final static int SWITCHING_PROTOCOLS_101 = 101; public final static int PROCESSING_102 = 102; public final原创 2012-05-31 13:44:13 · 4494 阅读 · 1 评论 -
HttpUrlConnection底层实现和关于java host绑定ip即时生效的设置及分析
最近有个需求需要对于获取URL页面进行host绑定并且立即生效,在java里面实现可以用代理服务器来实现:因为在测试环境下可能需要通过绑定来访问测试环境的应用实现代码如下: public static String getResponseText(String queryUrl,String host,String ip) { //queryUrl,完整的url,host和ip需要绑原创 2012-05-31 13:49:53 · 11529 阅读 · 1 评论 -
关于jetty和webx对于HttpServletResponse getWriter和getOutputStream的处理
这个异常经过在jetty的一个简单程序的测试验证,确定问题及分析如下:这个程序在使用response输出结果时,先调用response的getWriter获得PrintWrite对象后输出内容,然后再调用getOutputStream方法获得outputStream对象后输出二进制内容,然后就跑出上面那个异常了。这两个方法在jetty容易中是这么处理:org.eclips原创 2012-05-31 13:51:51 · 5002 阅读 · 2 评论 -
memcache的分布式hash算法
/** * Internal private hashing method. * * This is the original hashing algorithm from other clients. * Found to be slow and have poor distribution. * * @param key String to hash * @re原创 2012-06-01 10:48:51 · 1446 阅读 · 0 评论 -
java jvm字节占用空间分析
一个对象实例占用了多少字节,消耗了多少内存?这样的问题在c或c++里使用sizeof()方法就可以得到明确答案,在java里好像没有这样的方法(java一样可以实现),不过通过jmap工具倒是可以查看出一个对象的占用内存的大小,这里介绍一种通过分析java代码计算内存使用情况的方法。注意,一下讨论的情况都是基于32位机,不适用用64位机,JVM是sun的HotSpot,不同的虚拟机实现可能原创 2012-06-01 10:53:50 · 1280 阅读 · 0 评论 -
java并发发送请求的示例
import java.util.ArrayList;import java.util.List;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.c原创 2012-06-01 10:54:50 · 4481 阅读 · 1 评论 -
lucene3.6.0的扩展搜索
自定义排序IndexSearcher.java 动态计算存储的饭馆离某个位置最近最远 /** Expert: Low-level search implementation with arbitrary sorting. Finds * the top n hits for query, applying * filter if non-null, and sorting原创 2012-06-01 11:02:32 · 925 阅读 · 0 评论 -
java NIO使用示例
package com.mine;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.nio.ByteBuffer;import java.nio.channels.SelectableChannel;import java.nio.channels.SelectionKey;impor原创 2012-05-31 12:33:52 · 999 阅读 · 0 评论 -
java compiler API使用
import java.io.IOException;import java.util.Arrays;import javax.tools.Diagnostic;import javax.tools.DiagnosticCollector;import javax.tools.JavaCompiler;import javax.tools.JavaFileObject;import原创 2012-05-31 13:35:32 · 7231 阅读 · 2 评论 -
java.util.TaskQueue的最小堆排序算法的应用
其中fixup和fixdown就是堆排序的使用。 /** * This class represents a timer task queue: a priority queue of TimerTasks, * ordered on nextExecutionTime. Each Timer object has one of these, which it * shares wi原创 2012-05-31 13:54:06 · 3173 阅读 · 0 评论 -
java使用抓包获得应用发送的对外的请求
java使用jpcap抓包工具获得本机发送的所有tcp请求,根据tcp请求的内容可以调试某个应用启动后对外发送的相关http请求或者sql连接请求,这样可以很好的调试我们的程序。很不错的一种应用无侵入性的调试本机发送的http接口,sql连接接口等。import java.io.UnsupportedEncodingException;import java.net.InetAddress;原创 2012-06-01 10:49:31 · 6512 阅读 · 1 评论 -
spring注入类型要点
/** * Spring有三种注入方法: * * 通过明确的bean definition声明来注入对象,缺点是无法注入 * ConfigurableListableBeanFactory.registerResolvableDependency() * 中注册的对象,如HttpServletRequest。 * 通过autowire原创 2012-06-01 10:51:01 · 2212 阅读 · 0 评论 -
java动态代理上是否能再进行一层代理
CGLIB动态代理类import java.lang.reflect.Method;import net.sf.cglib.proxy.Enhancer;import net.sf.cglib.proxy.MethodInterceptor;import net.sf.cglib.proxy.MethodProxy;public class CglibProxy implement原创 2012-06-01 10:52:38 · 1184 阅读 · 0 评论 -
java 访问绑定ip的host url
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.InetAddress;import java.net原创 2012-06-01 10:54:19 · 5149 阅读 · 0 评论 -
lucene3.6.0的分析器
语汇单元:位置增量是唯一的元数据poter词干提取算法实现/** * * Stemmer, implementing the Porter Stemming Algorithm * * The Stemmer class transforms a word into its root form. The input * word can be provided a charac原创 2012-06-01 11:00:23 · 1167 阅读 · 0 评论 -
lucen分析索引文件的工具
如果要分析lucene的索引文件的相关数据,我们可以使用luke这个工具来可视化查询相关数据。1.下载 http://code.google.com/p/luke/downloads/list 下面的jar包2.下载完之后在命令行执行java -jar lukeall-3.5.0.jar3.出现界面在path输入索引文件的路径 4.然后原创 2012-06-01 11:02:58 · 936 阅读 · 0 评论 -
memcache的启动参数
"a:" /* access mask for unix socket */ "p:" /* TCP port number to listen on */ "s:" /* unix socket path to listen on */ "U:" /* UDP port number to listen on */原创 2012-06-01 10:48:21 · 675 阅读 · 0 评论 -
ibatis报列名无效的一个异常分析
Caused by: org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; 列名无效; nested exception is java.sql.SQLEx原创 2012-06-01 10:50:33 · 7552 阅读 · 2 评论 -
LRU cache的实现
最简单的LRU cache的实现:import java.util.LinkedHashMap;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class LruCache extends LinkedHashMap { /** *原创 2012-06-01 10:57:19 · 1764 阅读 · 0 评论 -
lucene3.6.0索引操作的学习笔记
索引操作:删除索引indexreader:delete document,删除索引是在indexreader类进行numDoc,maxDoc,删除索引是在内存先进行索引删除,合并索引后才能更新到磁盘,当删除一个document时,numDoc能及时更新,而maxDoc得等到合并索引后才会更新。恢复被删除的索引:undelete方法更新索引:删除之后再插入批量操作对docum原创 2012-06-01 10:58:12 · 2722 阅读 · 0 评论 -
lucene3.6.0的查询条件分析
// TermQuery:词条查询。通过对某个词条的指定,实现检索索引中存在该词条的所有文档。 Query query = new TermQuery(New Term("content","java")),区分大小写 // TermRangeQuery:范围查询。这种范围可以是日期,时间,数字,大小等等。可以使用"context:[a to b]"原创 2012-06-01 11:00:00 · 2846 阅读 · 1 评论 -
Maven Enforcer Plugin 定义一些必须遵守的配置
你如果想再maven中定义一些配置,这些配置需要整个团队遵守,比如定义maven版本,java版本,os配置,文件系统的配置,或者你想扩展的任何配置,那么就可以使用Maven Enforcer Plugin这个maven插件。 pom中引入Maven Enforcer Plugin插件。 ...原创 2012-06-01 11:01:35 · 11605 阅读 · 1 评论 -
velocity自定义标签和指令
velocity本身支持自定义标签和指令的扩展,在 Velocity 模板语言的语法中,以美元符 $ 开头的为变量的声明或者引用,而以井号 # 开头的语句则为 Velocity 的指令(Directive)。velocity支持的指令有:#set,#foreach,#if #else #end,#parse,#include,#evaluate,#define,#macro,原创 2012-06-02 08:27:36 · 4794 阅读 · 0 评论 -
lucene3.6.0的高亮显示
需要引入 org.apache.lucene lucene-core 3.6.0 org.apache.lucene lucene-highlighter 3.6.0 示例代码:import java.io.IOException;import java.io.StringReader;import org.ap原创 2012-06-02 08:25:40 · 4109 阅读 · 1 评论 -
spring-data spring 的nosql的orm框架学习
使用了spring-data-redis对于redis的orm框架的学习,整理了一下的使用文档1.在pom.xml添加一下依赖: org.springframework.data spring-data-redis 1.0.0.RC1 spring-milestone Spring Maven MILESTONE原创 2012-06-02 08:32:40 · 4132 阅读 · 1 评论 -
spring-data spring 的nosql的orm框架设计学习
1.spring-data-redis如何连接到redis服务端 其中定义了两个接口 org.springframework.data.redis.connection下的RedisConnection和RedisConnectionFactory工厂接口: public interface RedisConnection extends RedisCommands {原创 2012-06-02 08:36:53 · 4384 阅读 · 1 评论 -
Spring Data MongoDB hello world 示例
下面讲解如何使用spring-data-mongdb来对mongdb进行增删改查的操作 你需要的工具: Spring Data MongoDB – 1.0.0.M2Spring Core – 3.0.5.RELEASEJava Mongo Driver – 2.5.2Eclipse – 3.6JDK – 1.6Maven – 3.0.3翻译 2012-06-02 08:39:18 · 8742 阅读 · 1 评论 -
java 的svn客户端调用示例
1.pom依赖 org.tmatesoft.svnkit svnkit 1.3.5 2.java调用代码import org.tmatesoft.svn.core.SVNDepth;import org.tmatesoft.svn.core.SVNException;import org.tmatesoft.svn.core.SVNURL;impor原创 2012-06-02 08:41:16 · 8253 阅读 · 6 评论 -
j2ee页面静态化方案encache web cache框架详解1
web caching 1.介绍Ehcache Web 是 EhCache 缓存框架的一个组件,主要用于Java开发Web项目中的一些缓存功能。包括一个单页缓存过滤器:SimplePageCachingFilter;页面压缩(gzip)支持;页面片段缓存等功能。在某些情况下能够很好的提高web应用的性能。 2.simplePageCachingFilter翻译 2012-06-02 08:42:37 · 2029 阅读 · 0 评论 -
lucene3使用示例
lucene插入document建立索引代码import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.List;import org.apache.lucene.analysis.Ana原创 2012-06-01 10:56:22 · 2009 阅读 · 0 评论