自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

王新友的博客

博观而约取,厚积而薄发

  • 博客(31)
  • 资源 (20)
  • 收藏
  • 关注

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

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

2013-04-30 16:02:20 788

原创 精妙的单例类(Singleton)

Effective Java》中给出了一种精妙Singleton的解决方法,充分利用了Java虚拟机的特性  Java代码  public class Singleton {        // an inner class holder the uniqueInstance.        private static class Si

2013-04-30 16:00:52 726

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

java的反射是不能获取方法的参数名的。比如:public String concatString(String param1,String param2){        return param1+param2;    } 想获取"param1",和"param2"这个参数名,貌似是不行的。借助第三方包javaassist就可以获得。 整合原

2013-04-30 15:59:21 4029

原创 log4j xml模式配置

Xml代码  xml version="1.0" encoding="UTF-8"?>  >  log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">              appender name="CONSOLE" class="org.apac

2013-04-30 15:56:30 993

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

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

2013-04-30 15:54:31 3281

原创 Tomcat启报错,error:too many open files

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

2013-04-30 15:52:18 1194

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

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

2013-04-30 15:50:03 1193

原创 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:41 767

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

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

2013-04-30 15:46:05 976

原创 Velocity字符串模板替换

Java代码  public class VelocityTest {        private static Properties props = new Properties();        static {          props.setProperty(Velocity.INPUT_ENCODING, "UTF-8");

2013-04-30 15:43:57 6373 1

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

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

2013-04-30 15:40:36 894

原创 关于ThreadLocal

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

2013-04-30 15:38:18 645

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

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

2013-04-30 15:33:07 873

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

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

2013-04-30 15:28:32 2948

原创 使用Simple-Spring-Memcached的demo示例

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

2013-04-30 15:23:06 2557

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

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

2013-04-30 15:18:19 1987

原创 Java应用的Memcached统一使用策略

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

2013-04-30 15:09:07 1391

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

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

2013-04-30 15:00:32 918

原创 Apache Common-validator验证框架

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

2013-04-30 14:56:44 8488

原创 java几种对象验证框架

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

2013-04-30 14:52:46 3269

原创 利用MQ实现大文件交换

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

2013-04-29 11:38:45 6296

原创 Apache ActiveMQ简介

ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。ActiveMQ使用Apache提供的授权,任何人都可以对其实现代码进行修改。        ActiveMQ的设计目标是提供标准的,面向消息的,能够跨越多语言和多系统的应用集成消息通信中间件。ActiveMQ实现了JMS标准并提供了很多附加的特性。

2013-04-29 11:31:40 1439

原创 MQ消息队列

AMQP协议介绍AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP在消息提供者和客户端的行为进行了强制规定,使得不同卖商之间真正实现了互操作能力。JMS是早期消息中间件进行标准化的一个尝

2013-04-29 11:26:55 7824

原创 MongoDB索引管理

虽然MongoDB的索引在存储结构上都是一样的,但是根据不同的应用层需求,还是分成了唯一索引(unique)、稀疏索引(sparse)、多值索引(multikey)等几种类型。唯一索引唯一索引在创建时加上 unique:true 的选项即可,创建命令如下:db.users.ensureIndex({username:1}, {unique:

2013-04-27 15:52:02 1102

原创 MongoDB的内部构造

对于大多数的MongoDB的用户来说,MongoDB就像是一个大黑盒,但是如果你能够了解到MongoDB内部一些构造的话,将有利于你更好地理解和使用MongoDB。BSON在MongoDB中,文档是对数据的抽象,它被使用在Client端和Server端的交互中。所有的Client端(各种语言的Driver)都会使用这种抽象,它的表现形式就是我们常说的BSON(Binary JSON )。

2013-04-27 15:50:51 892

原创 MongoDB与内存

但凡初次接触MongoDB的人,无不惊讶于它对内存的贪得无厌,至于个中缘由,我先讲讲Linux是如何管理内存的,再说说MongoDB是如何使用内存的,答案自然就清楚了。先看一个MongoDB服务器的top命令结果:shell> top -p $(pidof mongod)Mem:  32872124k total, 30065320k use

2013-04-27 15:49:22 727

原创 Kafka&MetaQ

Memorphosis介绍:Memorphosis是一个消息中间件,它是linkedin开源MQ------kafka的Java版本,针对淘宝内部应用做了定制和优化。Memorphosis做到了啥:顺序(没做到,只能保证先进先出)安全(部分如磁盘掉电会最多丢失1000条消息或10秒内信息)性能(性能很好单台meta,10个同组256大小每秒4.5W)消耗(消耗低单台

2013-04-27 15:44:36 3444

转载 服务治理过程演进

在大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过F5等硬件进行负载均衡。(1) 当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。并通过在消费方获取服务提供方地址列表,实现软负载均衡和Fa

2013-04-23 17:00:47 1470 2

原创 openssl从PFX导出私钥、公钥

从pfx提取密钥信息,并转换为key格式(pfx使用pkcs12模式补足)1、提取密钥对(如果pfx证书已加密,会提示输入密码。)       openssl pkcs12 -in 1.pfx -nocerts -nodes -out 1.key2、从密钥对提取私钥       openssl rsa -in  1.key -out 1_pri.key3、从密钥对提取公钥

2013-04-23 15:31:51 9221 1

转载 SSL-用OpenSSL命令行生成证书文件-稍加补充

也许很多人和本人一样深有体会,使用OpenSSL库写一个加密通讯过程,代码很容易就写出来了,可是整个工作却花了了好几天。除将程序编译成功外(没有可以使用的证书文件,编译成功了,它并不能跑起来,并不表示它能正常使用,所以......),还需生成必要的证书和私钥文件使双方能够成功验证对方。找了n多的资料,很多是说的很模糊,看了n多的英文资料,还是没有办法(不知道是不是外国朋友都比较厉害,不用说明得

2013-04-23 13:39:26 1029

原创 Linux中shell文件操作大全

1.创建文件夹#!/bin/shmkdir -m 777 "%%1"2.创建文件#!/bin/shtouch "%%1"3.删除文件#!/bin/shrm -if "%%1"4.删除文件夹#!/bin/shrm -rf "%%1"5.删除一个目录下所有的文件夹#!/bin/bashdirec="%%1" #$(pwd)fo

2013-04-23 13:37:05 1540

国密算法实例

Java版国密算法SM2、SM3、SM4源代码,包含测试案例及算法相关文档。 100%可用。

2018-12-04

SoapUI Pro4.5.1 破解补丁_已测试可用

最新版 SoapUI Pro4 5 1 破解注册 之前在网上找了许多破解文件 但是都是骗人的 浪费了好多积分 真是气愤 还好 最后根据网上神人破解教程终于做出来了。 参考博客:http://blog.csdn.net/wxyfighting/article/details/9409751

2013-07-22

人工神经网络原理及应用

本书介绍了人工神经网络的基本原理及其应用。重点阐述了9 种常见神经网络的结构组成、工作原理、 设计方法及应用实例。其中心内容包括前馈型BP 神经网络;反馈型Hopfield 神经网络和双向联想记忆 BAM 神经网络;局部逼近的CMAC 小脑神经网络和径向基函数RBF 神经网络;竞争学习的自组织SOM 神经网络﹑对偶传播CPN 神经网络﹑ART 自适应谐振理论及量子神经网络。

2013-06-26

Java并发编程培训(阿里巴巴).ppt

阿里巴巴内部培训资料,结合案例详细讲述了java并发编码的工作原理和解决方案。

2013-04-05

企业私有云架构和实施蓝图

私有云是一种构建在高效、自动化和虚拟 化基础设施上的共享多租户环境。私有云 的其它关键要素包括作为服务提供的标准 化应用平台,以及允许业务团队请求和管 理其应用容量的自助式服务门户。

2013-04-05

Drools开发教程、规则引擎

本书详细讲述了Drools的安装、工作原理以及开发,让读者快速学会Drools的应用。

2013-04-05

深入JAVA虚拟机第二版

本书作者以易于理解的方式深入揭示了java虚拟机的内部工作原理。深入理解这些内容,将对读者更快速地编写更高效的程序大有裨益!

2013-04-05

Spring事务配置的五种方式

对Spring的事务配置做了比较深入的研究,讲述了事务配置的几种方式和示例。

2013-04-05

JAVA并发编程实践-cn

这本书讲解并发中对多线程死锁、同步问题等做了详细的述说,提供了一系列的解决方案。

2013-04-05

尽管去做——无压工作的艺术

这里介绍了如何获取更加旺盛的精力,变得更加轻松自如,事半功倍的方法。如果你像我一样,既希望出色地完成工作,也期待着品味生活的滋味,这不再是一种鱼和熊掌不可兼得的选择了。你完全有可能做到在快乐地享受生活的同时,高效地处理工作上的事务。

2013-04-05

【经典版】数据仓库设计

主要内容: 1. 数据仓库的生命周期 2. 数据仓库的方法论 3. 数据仓库的规划 4. 数据仓库的技术体系结构 5. 数据仓库的数据模型设计 6. 数据仓库的粒度设计 7. 数据仓库的开发 8. 数据仓库解决方案

2013-04-05

空空如也

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

TA关注的人

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