自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 博客迁移至http://jenwang.org

博客迁移至http://jenwang.org

2012-06-08 22:52:47 134

淘宝消息中间件Metamorphosis开源

Metamorphosis是一个高性能、高可用、可扩展的分布式消息中间件,类似于LinkedIn的Kafka,具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用于大吞吐量、顺序消息、广播和日志数据传输等场景,在淘宝和支付宝有着广泛的应用,现已开源.http://metaq.taobao.org/...

2012-03-10 13:27:38 202

MappedByteBuffer强制释放后读取引发jvm crash

 这几天使用MappedByteBuffer对系统进行了实现,在压测过程中发现启动多个group订阅时服务端会发生jvm crash ,排查后找到了原因,记录一下。 部分信息如下:## A fatal error has beendetected by the Java Runtime Environment:##  EXCEPTION_ACCESS_VIOLATI...

2011-10-14 20:53:54 574

原创 关于BeanUtils拷贝null属性的问题

关于BeanUtils拷贝null属性的问题jen wang        帮同事查看物流发货问题时,发现BeanUtils在copy null属性时会有一些问题。现在总结一下现象、原因和解决方法。问题现象       1.当源对象(a)中存在一个java.sql.Date类型的属性并且值为null,目标对象(b)中也存在这个同名同类型的属性。把a对象属性值copy给b时...

2011-05-05 21:45:46 638

hadoop单元测试方法--使用和增强MRUnit[2]

接上篇,居然非得分两篇 3 增强MRUnit         下面介绍为MRUnit框架增加了支持MultipleOutputs、从文件加载数据集和自动装配等几个特性,使它更加便于使用。如何支持MultipleOutputs         然而很多场景下我们需要使用MultipleOutputs作为reduce的多文件输出,MRUnit缺少支持。分析源码后为...

2011-04-15 10:31:52 141 1

hadoop单元测试方法--使用和增强MRUnit[1]

 hadoop单元测试方法--使用和增强MRUnit1前言         hadoop的mapreduce提交到集群环境中出问题的定位是比较麻烦的,有时需要一遍遍的修改代码和打出日志来排查一个很小的问题,如果数据量大的话调试起来相当耗时间。因此有必要使用良好的单元测试手段来尽早的消除明显的bug(当然仅有单元测试是不够的,毕竟跟集群的运行环境还是不一样的)。 ...

2011-04-15 10:28:12 128

JUC代码浅析[6]——基于AQS的CyclicBarrier

 JUC代码浅析[6]——基于AQS的CyclicBarrier       CyclicBarrier是一种同步机制允许一组线程相互等待,等到所有线程都到达一个屏障点才退出await方法,它没有直接实现AQS而是借助ReentrantLock来实现的同步机制。它是可循环使用的,而CountDownLatch是一次性的,另外它体现的语义也跟CountDownLatch不同,Coun...

2011-04-14 20:28:44 161

原创 JUC代码浅析[5]——基于AQS的CountDownLatch

JUC代码浅析[5]——基于AQS的CountDownLatch       CountDownLatch是一种使线程等待一组其他线程操作完成再开始的同步方式,初始化时设置一个计数值,每完成一次操作后countDown()对计数值减操作,线程等待await()直到计数值为0。       为了说明使用场景拷贝了代码注释中的例子,class Driver {// ......

2011-04-14 20:27:37 118

JUC代码浅析[4]——基于AQS的信号量Semaphore

JUC代码浅析[4]——基于AQS的信号量Semaphore       Semaphore是基于AQS共享模式实现的计数信号量,它维护一个资源一个时期内最多访问者个数。超过限制数量的线程被阻塞。使用state表示许可的个数。acquire操作减少计数,release增加计数,许可计数为0时就不允许新的访问进入。 获取许可,    public void acquire(...

2011-04-14 20:26:34 135

JUC代码浅析[3]——基于AQS的锁ReentrantReadWriteLock

JUC代码浅析[3]——基于AQS的锁ReentrantReadWriteLock       ReentrantReadWriteLock 也是基于AQS实现的锁,它的特点是一个资源能够被多个读线程访问,或者被一个写线程访问,读和写是互斥的,可以同时有多个读但只能有一个写,大量读操作的场景下性能较好。Reentran...

2011-04-14 20:24:33 106

原创 JUC代码浅析[2]——基于AQS的锁ReentrantLock

JUC代码浅析[2]——基于AQS的锁ReentrantLock         ReentrantLock是使用比较普遍的一个可重入锁,它是互斥的,一个锁只能被一个线程占有。它的方法基本都是委托给继承AQS的Sync实现的。其中Sync有两种实现,公平和非公平。Sync使用state(通过AQS暴露的getState和setState方法)保存线程的获取次数。总的策略为state次...

2011-04-14 20:15:38 268

原创 JUC代码浅析[1]——同步器AQS

 JUC代码浅析[1]——同步器AQS       AQS(AbstractQueuedSynchronizer)是一个提供实现各种锁和同步器的基本框架,它实现了调度逻辑,留出具体的进入和释放规则给子类实现。JUC中基于AQS实现的有ReentrantLock,Semaphore,CountDownLatch, ReetrantReadWriteLock,FutureTask等...

2011-04-14 20:14:11 154

原创 缩略图与原图不一致的java实现

[i]07年写的文章,这个博客开了很久了一直没写,把旧博客上的这篇移到这里。从现在开始用这个博客[/i] 昨天早上朋友传给我一张图片,曾被此君的一些恶作剧图片吓倒过,这次刚开始也不敢打开。这张图片在winxp下缩略图显示与打开后的内容不一样,让几个同学看了一下,他们都说看过了。就是前段时间网上流传的‘一张令所有人吃惊的图片’,是一张椅子的图片,但是,如果你的系统是XP,把它下载...

2011-04-14 20:06:41 235

空空如也

空空如也

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

TA关注的人

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