自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (2)
  • 收藏
  • 关注

原创 VisualVM远程监控

被监视的服务器上下面的文字存为 jstatd.all.policygrant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };并运行 jstatd -J-Djava.security.policy=jstatd.all.po...

2012-07-12 10:31:04 125

原创 使用Spring AOP进行性能监控

http://my.oschina.net/jack230230/blog/65987如果你正在使用Spring管理/访问资源(Dao/Service),那么你可能也需要添加一些基础的性能监控。在Spring AOP的帮助下这将变成一个简单的任务,不需要任何现有代码的变化,只是一些简单的配置。第一步,你首先的将spring-aop、aspectj和cglib库导入,如果你使用mav...

2012-07-09 09:09:06 221

原创 深入分析 Java 中的中文编码问题

很棒的一篇文章,详细介绍了java的编码问题http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/

2011-07-19 09:31:31 128

java中使用正则表达式

使用apache的oro包//匹配 'abc@jcc.inn' 2011/06/03 9:50 String regrex = "'[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\\.][a-z]{2,3}([\\.][a-z]{2})?'\\s+\\d{4}/\\d{2}/\\d{2}\\s+\...

2011-06-03 11:30:23 158

原创 下面的jvm选项会使gc的log难以阅读,慎用

下面的jvm选项会使gc的log难以阅读,慎用。-XX:+PrintGCApplicationConcurrentTime-XX:+PrintGCApplicationStoppedTime-XX:PrintHeapAtGC

2011-05-25 10:15:06 137

jboss的webservices中读取文件

在使用jboss中的webservices时,读取war中的文件,可以使用this.getClass().getResourceAsStream(filename),这种方法比较方便,但要读取的文件必须在class路径内。但有时文件不在class路径内,就需要用realpath的方式。 @Resource WebServiceContext wsCtx; ...

2011-05-25 09:33:11 109

原创 JVM系列:生产环境参数实例及分析

JVM系列四:生产环境参数实例及分析【生产环境实例增加中】java application项目(非web项目)改进前:-Xms128m-Xmx128m-XX:NewSize=64m-XX:PermSize=64m-XX:+UseConcMarkSweepGC-XX:CMSInitiatingOccupancyFraction=78-XX:ThreadStackS...

2011-05-19 13:08:15 166

原创 JVM系列:JVM参数设置、分析

JVM系列三:JVM参数设置、分析 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断,正确的选择不同的GC策略,调整JVM、GC的参数,可以极大的减少由于GC工作,而导致的程序运行中断方面的问题,进而适当的提高Java程序的工作效率。但是调整GC是以个极为复杂的过程,由于各个程序具备不同的特点,如:web和GUI程序就有很大区别(Web可以适当的停顿,但GUI停顿...

2011-05-19 13:07:43 141

原创 JVM系列:JVM内存组成及分配,GC策略&内存申请、对象衰老

JVM系列一:JVM内存组成及分配java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆...

2011-05-19 13:05:36 139

原创 Java读文件写文件操作

http://www.ezloo.com/2008/03/jave_file_reader_writer.html 这里,Java的读文件和写文件都是基于字符流的,主要用到下面的几个类:1、FileReader----读取字符流2、FileWriter----写入字符流3、BufferedReader----缓冲指定文件的输入该类的方法有:void close()...

2011-05-18 13:42:52 112

原创 Java深度历险(八)——Java I/O

http://www.infoq.com/cn/articles/cf-java-i-o在应用程序中,通常会涉及到两种类型的计算:CPU计算和I/O计算。对于大多数应用来说,花费在等待I/O上的时间是占较大比重的。通常需要等待速度较慢的磁盘或是网络连接完成I/O请求,才能继续后面的CPU计算任务。因此提高I/O操作的效率对应用的性能有较大的帮助。本文将介绍Java语言中与I/O操作相关的内...

2011-05-11 10:24:54 126

原创 Java深度历险(七)——Java反射与动态代理

http://www.infoq.com/cn/articles/cf-java-reflection-dynamic-proxy在上一篇文章中介绍Java注解的时候,多次提到了Java的反射API。与javax.lang.model不同的是,通过反射API可以获取程序在运行时刻的内部结构。反射API中提供的动态代理也是非常强大的功能,可以原生实现AOP中 的方法拦截功能。正如英文单词re...

2011-05-11 10:24:02 81

原创 Java深度历险(六)——Java注解

http://www.infoq.com/cn/articles/cf-java-annotation在开发Java程序,尤其是Java EE应用的时候,总是免不了与各种配置文件打交道。以Java EE中典型的S(pring)S(truts)H(ibernate)架构来说,Spring、Struts和Hibernate这三个框架都有自己的XML格式的配置文件。这些配置文件需要与Java源代...

2011-05-11 10:23:34 166

原创 Java深度历险(五)——Java泛型

http://www.infoq.com/cn/articles/cf-java-genericsJava泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合类框架中。对于泛型概念的引入,开发社区的观点是褒贬不一。从好的方面来说,泛型的...

2011-05-11 10:23:06 93

原创 Java深度历险(四)——Java垃圾回收机制与引用类型

http://www.infoq.com/cn/articles/cf-java-garbage-referencesJava语言的一个重要特性是引入了自动的内存管理机制,使得开发人员不用自己来管理应用中的内存。C/C++开发人员需要通过malloc/free 和new/delete等函数来显式的分配和释放内存。这对开发人员提出了比较高的要求,容易造成内存访问错误和内存泄露等问题。一个常见...

2011-05-11 10:22:24 164

原创 Java线程:CountDownLatch

http://zapldy.iteye.com/blog/746458 Java的concurrent包里面的CountDownLatch其实可以把它看作一个计数器,只不过这个计数器的操作是原子操作,同时只能有一个线程去操作这个计数器,也就是同时只能有一个线程去减这个计数器里面的值。 你可以向CountDownLatch对象设置一个初始的数字作为计数值,任何调用这个对象上的...

2011-04-15 15:39:03 103

原创 Java线程:障碍器

http://lavasoft.blog.51cto.com/62575/222738Java5中,添加了障碍器类,为了适应一种新的设计需求,比如一个大型的任务,常常需要分配好多子任务去执行,只有当所有子任务都执行完成时候,才能执行主任务,这时候,就可以选择障碍器了。 障碍器是多线程并发控制的一种手段,用法很简单。下面给个例子: import java.util.concu...

2011-04-15 15:32:01 82

原创 Java线程:原子量

http://lavasoft.blog.51cto.com/62575/222541所谓的原子量即操作变量的操作是“原子的”,该操作不可再分,因此是线程安全的。 为何要使用原子变量呢,原因是多个线程对单个变量操作也会引起一些问题。在Java5之前,可以通过volatile、synchronized关键字来解决并发访问的安全问题,但这样太麻烦。Java5之后,专门提供了用来进行...

2011-04-15 15:31:27 113

原创 Java线程:条件变量

http://lavasoft.blog.51cto.com/62575/222536条件变量是Java5线程中很重要的一个概念,顾名思义,条件变量就是表示条件的一种变量。但是必须说明,这里的条件是没有实际含义的,仅仅是个标记而已,并且条件的含义往往通过代码来赋予其含义。 这里的条件和普通意义上的条件表达式有着天壤之别。 条件变量都实现了java.util.concurre...

2011-04-15 15:30:42 92

原创 Java线程:阻塞栈

http://lavasoft.blog.51cto.com/62575/222530对于阻塞栈,与阻塞队列相似。不同点在于栈是“后入先出”的结构,每次操作的是栈顶,而队列是“先进先出”的结构,每次操作的是队列头。 这里要特别说明一点的是,阻塞栈是Java6的新特征。、 Java为阻塞栈定义了接口:java.util.concurrent.BlockingDeque,其实现...

2011-04-15 15:26:04 132

原创 Java线程:阻塞队列

http://lavasoft.blog.51cto.com/62575/222524阻塞队列是Java5线程新特征中的内容,Java定义了阻塞队列的接口java.util.concurrent.BlockingQueue,阻塞队列的概念是,一个指定长度的队列,如果队列满了,添加新元素的操作会被阻塞等待,直到有空位为止。同样,当队列为空时候,请求队列元素的操作同样会阻塞等待,直到有可用元素...

2011-04-15 15:25:25 57

原创 Java线程:信号量

http://lavasoft.blog.51cto.com/62575/222469Java的信号量实际上是一个功能完毕的计数器,对控制一定资源的消费与回收有着很重要的意义,信号量常常用于多线程的代码中,并能监控有多少数目的线程等待获取资源,并且通过信号量可以得知可用资源的数目等等,这里总是在强调“数目”二字,但不能指出来有哪些在等待,哪些资源可用。 因此,本人认为,这个信号量类...

2011-04-15 15:24:37 65

原创 Java线程:锁

http://lavasoft.blog.51cto.com/62575/222084http://lavasoft.blog.51cto.com/62575/222433在Java5中,专门提供了锁对象,利用锁可以方便的实现资源的封锁,用来控制对竞争资源并发访问的控制,这些内容主要集中在java.util.concurrent.locks 包下面,里面有三个重要的接口Conditio...

2011-04-15 15:23:56 99

原创 Java线程:有返回值的线程

http://lavasoft.blog.51cto.com/62575/222082现在Java终于有可返回值的任务(也可以叫做线程)了。 可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口。 执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务返回的Object了。 ...

2011-04-15 15:22:37 231

原创 Java线程:线程池

http://lavasoft.blog.51cto.com/62575/222078一、固定大小的线程池 import java.util.concurrent.Executors; import java.util.concurrent.ExecutorService; /** * Java线程:线程池- * * @author Administrato...

2011-04-15 15:21:36 74

原创 [Java]读取文件方法大全 (转)

1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName) {...

2011-04-14 09:11:49 54

原创 Java1.5泛型指南中文版<转>

Java1.5泛型指南中文版摘要和关键字1. 介绍2. 定义简单的泛型3. 泛型和子类继承4. 通配符(Wildcards)4.1. 有限制的通配符(Bounded Wildcards)5. 泛型方法6. 与旧代码交互6.1. 在泛型代码中使用老代码6.2...

2011-04-07 16:05:53 85

原创 jdom 或 dom4j读取xml文件时如何让dtd验证使用本地dtd文件或者不生效

jdom 或 dom4j读取xml文件时如何让dtd验证使用本地dtd文件或者不生效http://www.blogjava.net/dreamstone/archive/2007/08/29/140993.html一、写在所有之前:因为dom4j和jdom在这个问题上处理的方法是一模一样的,只是一个是SAXBuilder 一个SAXReader,这里以jdom距离,至于dom4j只...

2011-03-24 13:37:19 164

原创 Java深度历险(三)——Java线程​:基本概念、可见性与同步

http://www.infoq.com/cn/articles/cf-java-thread开发高性能并发应用不是一件容易的事情。这类应用的例子包括高性能Web服务器、游戏服务器和搜索引擎爬虫等。这样的应用可能需要同时处理成千上万个请求。对于这样的应用,一般采用多线程或事件驱动的架构。对于Java来说,在语言内部提供了线程的支持。但是Java的多线程应用开发会遇到很多问题。首先是很难编写...

2011-03-09 14:10:06 70

原创 Java深度历险(二)——Java类的加载、链接和初始化

http://www.infoq.com/cn/articles/cf-Java-class-loaderJava类的加载Java类的加载是由类加载器来完成的。一般来说,类加载器分成两类:启动类加载器(bootstrap)和用户自定义的类加载器(user-defined)。两者的区别在于启动类加载器是由JVM的原生代码实现的,而用户自定义的类加载器都继承自Java中的java.lang...

2011-03-09 13:23:23 71

原创 Java深度历险(一)——Java字节代码的操纵

http://www.infoq.com/cn/articles/cf-java-byte-code在一般的Java应用开发过程中,开发人员使用Java的方式比较简单。打开惯用的IDE,编写Java源代码,再利用IDE提供的功能直接运行Java 程序就可以了。这种开发模式背后的过程是:开发人员编写的是Java源代码文件(.java),IDE会负责调用Java的编译器把Java源代码编译成平...

2011-03-09 13:22:02 81

原创 (转)正则表达式:Unicode诸问题

http://www.infoq.com/cn/news/2011/03/regular-expressions-unicode-2关于正则表达式的文档很多,但大部分都是英文的,即便有中文的文档,也翻译或改编自英文文档。在介绍功能时,这样做没有大问题,但真要处理文本,就可能会遇到一些英文开发或应用环境中难得见到的问题。比如中文之类多字节字符的匹配,就是如此。所以,这篇文章专门谈谈正则表达式...

2011-03-09 13:11:37 222

原创 java中取得客户端连接url方法

request.getProtocol() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getSession().getServletContext().getContextPath() + request.getServletPath() + "?" + request.getQueryS...

2011-02-21 14:25:12 276

原创 jsp中消除tag自动生成的空格

jsp中消除tag自动生成的空格,tomcat6下已测试有效

2011-02-18 09:50:36 117

原创 jvm 参数

-server-vmargs-Xms128m-Xmx512m-XX:+DisableExplicitGC-XX:PermSize=64m-XX:MaxPermSize=256m-XX:ReservedCodeCacheSize=128m-XX:SurvivorRatio=8-XX:MaxTenuringThreshold=7-XX:GCTimeRatio=1...

2011-02-11 13:24:33 75

原创 Struts中的下拉列表标签的使用(ZT)

Struts中的下拉列表标签的使用(ZT) 页面中经常用到下拉列表,下面是个人对于STRUTS中标签使用的一点总结: STRUTS中的下拉选择列表标签必须嵌套在 标签中,包括: 1. 2. 3. 4. 使用时嵌套如下: 或 或 其中property为ActionForm中对应的一个属性. 1. displayN...

2011-01-27 12:46:05 85

原创 log4j

log4j在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j。Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每...

2011-01-10 17:17:44 60

原创 日文字符范围

网上关于GBK、GB2312和BIG5编码范围的资料比较多,但是日文的资料比较少,我总结了一下,希望能对大家在正则中判断这些字符集尤其是日文字符集的各种字、标点以及特殊符号的时候有所帮助。UTF8CODE:[\x01-\x7f]|[\xc0-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}U...

2011-01-10 10:17:12 1248

原创 java concurrent 包

http://www.ibm.com/developerworks/cn/java/j-tiger06164/介绍 Queue 接口java.util 包为集合提供了一个新的基本接口: java.util.Queue 。虽然肯定可以在相对应的两端进行添加和删除而将 java.util.List 作为队列对待,但是这个新的 Queue 接口提供了支持添加、删除和检查集合的更多方法,如下所...

2010-12-30 15:43:58 70

原创 Mercurial的.hgignore写法

hgignore支持两种语法,Python/Perl-style regular expressions和系统shell。虽然shell语法一目了然,但是还是建议使用regexp吧,一是不用在文件中指定语法(正则表达式是默认语法),二是可控性高些。常用需求有两种:过滤掉特定类型文件(一般是靠后缀),过滤掉特定文件夹下的文件。过滤特定后缀的写法\.xxx$“\.”是就是“.”...

2010-12-22 09:23:50 228

pl/sql developer 9.04+注册机

pl/sql developer 9.04+注册机 2012年1月为止最新版本,附注册机,已测试可用。

2012-01-05

pl/sql developer 9系列注册机

pl/sql developer 9系列注册机,已在9.04上测试通过。

2012-01-05

空空如也

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

TA关注的人

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