自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

ThreadLocal和线程同步机制相比有什么优势呢?

ThreadLocal和线程同步机制相比有什么优势呢?ThreadLocal和线程同步机制都是为了解决多线程中相同变量的访问冲突问题。在同步机制中,通过对象的锁机制保证同一时间只有一个线程访问变量。这时该变量是多个线程共享的,使用同步机制要求程序慎密地分析什么时候对变量进行读写,什么时候需要锁定某个对象,什么时候释放对象锁等繁杂的问题,程序设计和编写难度相对较大。而ThreadLoca...

2013-04-30 16:02:00 108

精妙的单例类(Singleton)

Effective Java》中给出了一种精妙Singleton的解决方法,充分利用了Java虚拟机的特性Java代码publicclassSingleton{//aninnerclassholdertheuniqueInstance.privatestaticclassSingletonHolder{...

2013-04-30 16:00:00 52

javassist:增强型的java反射工具,获取方法参数名

java的反射是不能获取方法的参数名的。比如:publicStringconcatString(Stringparam1,Stringparam2){returnparam1+param2;}想获取"param1",和"param2"这个参数名,貌似是不行的。借助第三方包javaassist就可以获得。整合原作者代码:...

2013-04-30 15:59:00 77

javassist:增强型的java反射工具,获取方法参数名

java的反射是不能获取方法的参数名的。比如:publicStringconcatString(Stringparam1,Stringparam2){returnparam1+param2;}想获取"param1",和"param2"这个参数名,貌似是不行的。借助第三方包javaassist就可以获得。整合原作者代码:...

2013-04-30 15:59:00 63

log4j xml模式配置

Xml代码<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPElog4j:configurationSYSTEM"log4j.dtd"><log4j:configurationxmlns:log4j="http://jakarta.apache.org/log4j/"debug=&q

2013-04-30 15:56:00 53

log4j xml模式配置

Xml代码<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPElog4j:configurationSYSTEM"log4j.dtd"><log4j:configurationxmlns:log4j="http://jakarta.apache.org/log4j/"debug=&q

2013-04-30 15:56:00 51

Java集合的Stack、Queue、Map的遍历

Java集合的Stack、Queue、Map的遍历在集合操作中,常常离不开对集合的遍历,对集合遍历一般来说一个foreach就搞定了,但是,对于Stack、Queue、Map类型的遍历,还是有一些讲究的。下面是常用的写法:一、Map的遍历Java代码importjava.util.HashMap;importjava.u...

2013-04-30 15:54:00 45

Java集合的Stack、Queue、Map的遍历

Java集合的Stack、Queue、Map的遍历在集合操作中,常常离不开对集合的遍历,对集合遍历一般来说一个foreach就搞定了,但是,对于Stack、Queue、Map类型的遍历,还是有一些讲究的。下面是常用的写法:一、Map的遍历Java代码importjava.util.HashMap;importjava.u...

2013-04-30 15:54:00 48

Tomcat启报错,error:too many open files

原因:tomcat下面工程太多,其它一些项目正常启动,但我们的项目启动不了,并且项目报出的错误根本找不到原因,因为报出的错是开源项目里的。项目错误:Java代码SEVERE:Servlet.service()forservletdefaultthrewexceptionjava.lang.NoClassDefFoundError:com/op...

2013-04-30 15:52:00 102

Tomcat启报错,error:too many open files

原因:tomcat下面工程太多,其它一些项目正常启动,但我们的项目启动不了,并且项目报出的错误根本找不到原因,因为报出的错是开源项目里的。项目错误:Java代码SEVERE:Servlet.service()forservletdefaultthrewexceptionjava.lang.NoClassDefFoundError:com/op...

2013-04-30 15:52:00 113

滕振宇谈如何进行单元测试

说起单元测试的好处相信大家都能列举出不少,可是很多时候,开发人员面对自己产品的代码,想写单元测试却无从下手,久而久之,便会有人大喊:“我讨厌单元测试。”资深敏捷咨询师腾振宇(Daniel Teng)在GTUG-TopGeek开发工程管理沙龙就以此为题,结合最近的一个项目,和大家分享了他对单元测试的一些看法。Daniel先介绍了下最近的一个项目,虽然不是遗留系统,但代码已经惨不忍睹,而且...

2013-04-30 15:50:00 70

滕振宇谈如何进行单元测试

说起单元测试的好处相信大家都能列举出不少,可是很多时候,开发人员面对自己产品的代码,想写单元测试却无从下手,久而久之,便会有人大喊:“我讨厌单元测试。”资深敏捷咨询师腾振宇(Daniel Teng)在GTUG-TopGeek开发工程管理沙龙就以此为题,结合最近的一个项目,和大家分享了他对单元测试的一些看法。Daniel先介绍了下最近的一个项目,虽然不是遗留系统,但代码已经惨不忍睹,而且...

2013-04-30 15:50:00 58

Java 8 的重要新特性以及 Java 9、10 的发展规划

我们一直在期待着Java 8的新功能,虽然很大一部分是对Java 7的扩展,发布时间也一推再推。但如今甲骨文终于承诺:新版本将是彻底的变革而不仅仅是Java 7的扩展。那Java 8到底是什么样的呢?甲骨文的Java总架构师马克•雷纳德在2011年JavaOne大会上为大家透露了Java 8的新功能,同时也谈到了一些关于Java 9的计划。他说,Java 7未能实现五个关键的功能是非常遗憾的一...

2013-04-30 15:46:00 57

Java 7已经完成的七大新功能

Java 7已经完成的7大新功能:1)对集合类的语言支持;2)自动资源管理;3)改进的通用实例创建类型推断;4)数字字面量下划线支持;5)switch中使用string;6)二进制字面量;7)简化可变参数方法调用。下面我们来仔细看一下这7大新功能:对集合类的语言支持Java将包含对创建集合类的第一类语言支持。这意味着集...

2013-04-30 15:46:00 60

Java 8 的重要新特性以及 Java 9、10 的发展规划

我们一直在期待着Java 8的新功能,虽然很大一部分是对Java 7的扩展,发布时间也一推再推。但如今甲骨文终于承诺:新版本将是彻底的变革而不仅仅是Java 7的扩展。那Java 8到底是什么样的呢?甲骨文的Java总架构师马克•雷纳德在2011年JavaOne大会上为大家透露了Java 8的新功能,同时也谈到了一些关于Java 9的计划。他说,Java 7未能实现五个关键的功能是非常遗憾的一...

2013-04-30 15:46:00 50

Java 7已经完成的七大新功能

Java 7已经完成的7大新功能:1)对集合类的语言支持;2)自动资源管理;3)改进的通用实例创建类型推断;4)数字字面量下划线支持;5)switch中使用string;6)二进制字面量;7)简化可变参数方法调用。下面我们来仔细看一下这7大新功能:对集合类的语言支持Java将包含对创建集合类的第一类语言支持。这意味着集...

2013-04-30 15:46:00 53

Velocity字符串模板替换

Java代码publicclassVelocityTest{privatestaticPropertiesprops=newProperties();static{props.setProperty(Velocity.INPUT_ENCODING,"UTF-8");props.setProperty(Velocity.RESO...

2013-04-30 15:43:00 964

Velocity字符串模板替换

Java代码publicclassVelocityTest{privatestaticPropertiesprops=newProperties();static{props.setProperty(Velocity.INPUT_ENCODING,"UTF-8");props.setProperty(Velocity.RESO...

2013-04-30 15:43:00 804

RMI、Hessian、Burlap、Httpinvoker、WebService的比较

一、综述本文比较了RMI、Hessian、Burlap、Httpinvoker、WebService5这种通讯协议的在不同的数据结构和不同数据量时的传输性能。RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。Hessian和Burlap是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口。协议的规范公开,可以...

2013-04-30 15:40:00 43

RMI、Hessian、Burlap、Httpinvoker、WebService的比较

一、综述本文比较了RMI、Hessian、Burlap、Httpinvoker、WebService5这种通讯协议的在不同的数据结构和不同数据量时的传输性能。RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。Hessian和Burlap是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口。协议的规范公开,可以...

2013-04-30 15:40:00 133

关于ThreadLocal

正确理解ThreadLocal:http://www.iteye.com/topic/103804简明扼要,再谈ThreadLocal和synchronized:http://www.iteye.com/topic/179040关于ThreadLocal模式的体会:http://www.iteye.com/topic/617368ThreadLo...

2013-04-30 15:38:00 44

关于ThreadLocal

正确理解ThreadLocal:http://www.iteye.com/topic/103804简明扼要,再谈ThreadLocal和synchronized:http://www.iteye.com/topic/179040关于ThreadLocal模式的体会:http://www.iteye.com/topic/617368ThreadLo...

2013-04-30 15:38:00 49

apache 关于对象数据的复制工具PropertyUtils类和 BeanUtils类的 copyProperties方法

PropertyUtils类和 BeanUtils类的 copyProperties方法语法一致,功能也几乎一样。它们的区别,很多人已经给出了很专业的归纳,今天我又多发现了一个,这个问题纠结了很久,分享出来供大家参考。BeanUtils.copyProperties(A,B);如果B中的Integer类型的数据是null的,那么通过这个方法复制给A后,这个null的In...

2013-04-30 15:33:00 179

apache 关于对象数据的复制工具PropertyUtils类和 BeanUtils类的 copyProperties方法

PropertyUtils类和 BeanUtils类的 copyProperties方法语法一致,功能也几乎一样。它们的区别,很多人已经给出了很专业的归纳,今天我又多发现了一个,这个问题纠结了很久,分享出来供大家参考。BeanUtils.copyProperties(A,B);如果B中的Integer类型的数据是null的,那么通过这个方法复制给A后,这个null的In...

2013-04-30 15:33:00 67

使用Simple-Spring-Memcached注解做缓存操作

之前自己写过一个通过注解和AOP来实现缓存的代码,当时这段代码写得比较简单,之后重构时发现之前的功能实现有很大的局限。主要问题在于:key的生成规则update 与 query 的参数不一样,如何让其生成一样的key列表缓存如何定义key及失效最近同事推荐了一个开源项目:Simple-Spring-Memcached,它也是一个通过Annatation与AOP来完成缓存数据操...

2013-04-30 15:28:00 62

使用Simple-Spring-Memcached注解做缓存操作

之前自己写过一个通过注解和AOP来实现缓存的代码,当时这段代码写得比较简单,之后重构时发现之前的功能实现有很大的局限。主要问题在于:key的生成规则update 与 query 的参数不一样,如何让其生成一样的key列表缓存如何定义key及失效最近同事推荐了一个开源项目:Simple-Spring-Memcached,它也是一个通过Annatation与AOP来完成缓存数据操...

2013-04-30 15:28:00 62

使用Simple-Spring-Memcached的demo示例

要使用Simple-Spring-Memcached首先需要确认使用哪种memcached客户端,在这里将使用XMemcached。第一步,将依赖jar导入项目中,推荐使用maven。具体的依赖可以参照SSM源码的pom.xml配置。具体步骤如下1、创建一个maven项目,在pom.xml添加上Simple-Spring-Memcached的依赖,还有其它Spring,aop,Xmem...

2013-04-30 15:23:00 106

使用Simple-Spring-Memcached的demo示例

要使用Simple-Spring-Memcached首先需要确认使用哪种memcached客户端,在这里将使用XMemcached。第一步,将依赖jar导入项目中,推荐使用maven。具体的依赖可以参照SSM源码的pom.xml配置。具体步骤如下1、创建一个maven项目,在pom.xml添加上Simple-Spring-Memcached的依赖,还有其它Spring,aop,Xmem...

2013-04-30 15:23:00 49

Simple-Spring-Memcached使用Protobuf序列化Java对象

本文提供一段代码示例,演示如何在Simple-Spring-Memcached中使用Protobuf序列化Java对象。主要解决的问题有:Protobuf序列化Map对象实现SSM中CacheTranscoder接口的Protobuf实现在SSM中为需要序列化的对象配置相应的TranscoderProtobuf序列化Java对象在项目中使用Protobuf序列化时,...

2013-04-30 15:18:00 108

Simple-Spring-Memcached使用Protobuf序列化Java对象

本文提供一段代码示例,演示如何在Simple-Spring-Memcached中使用Protobuf序列化Java对象。主要解决的问题有:Protobuf序列化Map对象实现SSM中CacheTranscoder接口的Protobuf实现在SSM中为需要序列化的对象配置相应的TranscoderProtobuf序列化Java对象在项目中使用Protobuf序列化时,...

2013-04-30 15:18:00 61

Java应用的Memcached统一使用策略

使用simple-spring-memcached统一缓存的使用如何在一个中型的Java应用中使用Memcached缓存数据不是个简单的问题。当某个缓存数据需要在多个系统间共享和失效时,必须要有统一的规划才能保证不出错。经过各种实践,目前系统在使用Memcached缓存数据全部采用Simple-Spring-Memcached框架来完成,并统一规划各系统Spring和Cache ke...

2013-04-30 15:09:00 77

Java应用的Memcached统一使用策略

使用simple-spring-memcached统一缓存的使用如何在一个中型的Java应用中使用Memcached缓存数据不是个简单的问题。当某个缓存数据需要在多个系统间共享和失效时,必须要有统一的规划才能保证不出错。经过各种实践,目前系统在使用Memcached缓存数据全部采用Simple-Spring-Memcached框架来完成,并统一规划各系统Spring和Cache ke...

2013-04-30 15:09:00 46

simple-spring-memcached-3.0.x 注解详解

@CacheName:指定缓存实例注解@CacheKeyMethod:缓存key生成注解---------------------------------读取-------------------------------------------@ReadThroughAssignCache(assignedKey = "SomePhatKey", namespace =...

2013-04-30 15:00:00 55

simple-spring-memcached-3.0.x 注解详解

@CacheName:指定缓存实例注解@CacheKeyMethod:缓存key生成注解---------------------------------读取-------------------------------------------@ReadThroughAssignCache(assignedKey = "SomePhatKey", namespace =...

2013-04-30 15:00:00 59

Apache Common-validator验证框架

Commons-Validator(一) Commons -Validator包用来把验证规则程序提取出来,以供重复使用。这个包可以使用在Struts中,也可以独立的应用在任何其它的应用中。用户可以通过 java类的方式自定义验证方法,也可以在配置文件中通过正则表达式配置验证方法。它不但支持服务器端的验证,客户端的验证也支持,具体需要使用tag把 相应的js方法写入相应的页面中。一、综述: 整...

2013-04-30 14:56:00 634

Apache Common-validator验证框架

Commons-Validator(一) Commons -Validator包用来把验证规则程序提取出来,以供重复使用。这个包可以使用在Struts中,也可以独立的应用在任何其它的应用中。用户可以通过 java类的方式自定义验证方法,也可以在配置文件中通过正则表达式配置验证方法。它不但支持服务器端的验证,客户端的验证也支持,具体需要使用tag把 相应的js方法写入相应的页面中。一、综述: 整...

2013-04-30 14:56:00 337

java几种对象验证框架

(1) Apache Commons ValidatorCommons -Validator包用来把验证规则程序提取出来,以供重复使用。这个包可以使用在Struts中,也可以独立的应用在任何其它的应用中。用户可以通过 java类的方式自定义验证方法,也可以在配置文件中通过正则表达式配置验证方法。它不但支持服务器端的验证,客户端的验证也支持,具体需要使用tag把 相应的js方...

2013-04-30 14:52:00 418

java几种对象验证框架

(1) Apache Commons ValidatorCommons -Validator包用来把验证规则程序提取出来,以供重复使用。这个包可以使用在Struts中,也可以独立的应用在任何其它的应用中。用户可以通过 java类的方式自定义验证方法,也可以在配置文件中通过正则表达式配置验证方法。它不但支持服务器端的验证,客户端的验证也支持,具体需要使用tag把 相应的js方...

2013-04-30 14:52:00 75

利用MQ实现大文件交换

本文介绍了如何利用ActiveMQ提供的机制,实现大文件断点续传,从而可以在低速网络的情况下,不会因为网络的故障而使整个大文件重新传输。本文介绍的这个实现可以大大的提高业务处理效率,并且可以对本文提供的思路进行扩展以完成更加复杂的功能。1引言在低速的网络环境中,上传或者下载一个大文件需要花费很长的时间并且网络出现故障的机率很高。如果网络出现故障的话,这个传输将会从头开始;如果经常...

2013-04-29 11:38:00 803

利用MQ实现大文件交换

本文介绍了如何利用ActiveMQ提供的机制,实现大文件断点续传,从而可以在低速网络的情况下,不会因为网络的故障而使整个大文件重新传输。本文介绍的这个实现可以大大的提高业务处理效率,并且可以对本文提供的思路进行扩展以完成更加复杂的功能。1引言在低速的网络环境中,上传或者下载一个大文件需要花费很长的时间并且网络出现故障的机率很高。如果网络出现故障的话,这个传输将会从头开始;如果经常...

2013-04-29 11:38:00 268

空空如也

空空如也

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

TA关注的人

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