`
Rocky_rup
  • 浏览: 143466 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
  HouseMD 是一款非常敏捷的Java进程运行时的诊断调式命令行工具, 它具备安全易用高效的特点, 让它非常适合在要求严格的线上(生产)环境中使用. 特性 交互式命令行 支持
为避免GC的负效应, 使用DirectByteBuffer管理原始(Raw)数据会为高负载的系统带来性能的提升. DirectByteBuffer默认是由GC来回收的, 这通常能够满足需求, 若要想自己控制回收的时机, 可以使用这段代码.   import java.lang.reflect.Method; import java.nio.ByteBuffer; import java.security.AccessController; import java.security.PrivilegedAction; /** * {@link DirectByteBuff ...
受@放翁_文初的<逻辑划分线程池> 一文的启发, 用了几个小时动手实现了一个简陋支持配额的共享线程池. 基本思路与放翁相同, 区别在于引入了两种线程分配策略: 悲观策略 简单的共享一个线程池, 最容易出现的问题就是 ...
Java 2 SE 6 doc : Given a direct byte buffer, the Java virtual machine will make a best effort to perform native I/O operations directly upon it. That is, it will attempt to avoid copying the buffer’s content to (or from) an intermediate buffer before (or after) each invocation of one of the u ...
version : netty-3.2.1.final location : org.jboss.netty.channel.socket.nio.NioWorker.read(SelectionKey)   代码片段如下:   ByteBuffer bb = recvBufferPool.acquire(predictedRecvBufSize); ... if (readBytes > 0) { bb.flip(); ...
断点 vs 日志 断点是我们日常开发最为常见和高效的调试手段, 相比较输入日志它给予更多的状态信息和灵活的观察角度, 但断点调试是有前提和局限的.  # 需要一个界面友好, 功能强大的IDE,  # 比较适合于在单机的开发环境中进行. 企业应用开发中, 我们常常会遇到无法断点调试的窘境, 例如:  # 这个异常仅在生产环境出现, 开发环境里无法重现;  # 存在外部系统依赖, 开发环境无法模拟等.这迫使我们不得不回到*日志调试*的老路子上来. Print vs Logging 简单点的话, 我们用   System.out.println("debug infomation ...
今天是Qcon北京站的第二天, 由于大会日程排得很紧凑, 我只得放弃了今晚有些不靠谱的沙龙来整理这两天来脑中的一些零碎.   忧   我习惯先说的不好的,因为我总喜欢把好吃的留到最后.也许是我对此行期望过高,导致了我的失 ...
  1. pendingSrc 问题描述:Image的setUrl方法在第二次使用的时候,会出现“pendingSrc”的问题,导致图片无法显示。 原因分析:可能是GWT的bug,具体原因不详。 解决办法:通过DOM.setElementProperty()来设置src的值。 2.内存泄露 问题描述:刷新页面容易导致复杂的ui出现内容泄露。 原因分析:编码实现中很容易是的对象间出现循环引用,例如添加监听器的时候等,部分浏览器(尤其是IE)对此循环引用无法进行资源的释放。而在不断的刷新中,老的循环引用链没有正确断开,新的循环引用链又伴随着新对象的产生而产生,后果很严重。 解决办法: ...
一直以来都没有正正经经的读过一本关于算法的书,只因为当初老师说过,“算法前人都写好了,你就拿来用好了”,以至于我对算法的理解还一直停留在“排序”的层次,现在想来惭愧不已。 不错,经典的算法几乎所有流行的编程语言都有现成的实现,供我等应用开发人员直接使用。而且,若要想在盛行DRY的氛围下,尝试从头再来一次的话,所要承受舆论的压力不可小视。 但算法就仅仅只是指“快速排序”、“八皇后”吗?不是,算法是思想,比方说《算法导论》中开篇就以排序而引入的“分治—合并”的思想。算法也是规律,因为我们总是让计算机重复再重复着它解决同样一类问题。   从实用的角度看,算法的确没有必要再实现一边,毕竟那是浪费时间 ...
前言   本文是针对《使用Jencks实现Hibernate与Jackrabbit的分布式事务》(以下简称《JHJ》)一文的理论分析。若只关心实现,请忽略此文点击这里跳转到实现的参考示例。   本文先简单介绍JTA和JCA的一些概念作为理论基础,之后再分析Jencks如何实现Hibernate与Jackrabbit的分布式事务的。 有关JTA JTA全称为Java Transaction API,顾名思义JTA定义了一组统一的事务编程的接口,这些接口如下:   XAResource   XAResource接口是对实现了X/Open CAE规范的资源管理器 (Resource Manager,数 ...
前言 这是一篇用Spring和Jencks 实现的轻量级解决方案,不依赖于应用服务器。本文是方案实现的记录,不涉及理论探讨,有关理论资源请参见本文的《解读 》和参考资料。有关多数据库的分布式事务的实践,请参见Spring JTA应用 。   思路 Jencks提供事务管理器(Transaction Manager)和连接管理器(ConnectionManager); Jackrabbit的jca包提供JCR的托管连接工厂(ManagedConnectionFactory); Jencks为Hibernate提供支持托管连接(ManagedCo ...
《面对软件错误构建可靠的分布系统》 写道 Erlang 的世界观可以归纳为如下的一些观念: z 一切皆进程。 z 进程强隔离。 z 进程的生成和销毁都是轻量的操作。 z 消息传递是进程交互的唯一方式。 z 每个进程有其独有的名字。 z 你若知道进程的名字,你就可以给它发消息。 z 进程之间不共享资源。 z 错误处理非本地化。 z 进程要么好好跑,要么死翘翘   上文引之Erlang创始人Joe Armstrong对Erlang世界观的总结,其中也包含了编写大型高并发可容错的软件系统应遵循的最基本原则: 隔离,破除数据共享; 消息传递实现并行协作; 速错且异地纠错。 一个 ...
  短短几年工作里,我接触到了不少关于“面向XX”和“XX驱动”的思想,每当第一次听到它们时都会令我有种莫名的敬畏。   昨天在初探Erlang的时候,它的创始人Joe Armstrong的一句话让我印象深刻:   Joe Armstrong 写道[1] At the highest level of abstraction an architecture is “a way of thinking about the world.”   Joe这席话让我延伸理解为,架构与其说是问题的答案,倒不如说是对问题的抽象更贴切。这种抽象,就如同面向对象的世界里一切皆为对象,在面向并发的世界里一切皆为进程 ...
接上文Lucene索引文件解析之“域”。   关于项(Term)   .tis文件里记录的是
简介   InfoQ-使用Mockito 1.5监视普通对象 写道 Mockito是一个针对Java的mocking框架。它与EasyMock和jMock很相似,但是通过在执行后校验什么已经被调用,它消除了对期望行为(expectations)的需要。其它的mocking库需要你在执行前记录期望行为(expectations),而这导致了丑陋的初始化代码。    更多信息请参考如下位置,  原文链接:http://www.infoq.com/cn/news/2008/09/mockito-1.5  官方网站:http://code.google.com/p/mockito/   入门 以下内容均 ...
Global site tag (gtag.js) - Google Analytics