深入理解Disruptor

fengjing

Disruptor是LMAX公司开源的一个高效的内存无锁队列,一个高性能的异步处理框架,或者可以认为是最快的消息框架(轻量的JMS),也可以认为是一个观察者模式实现,或者事件-监听模式的实现,直接称disruptor模式。disruptor最大特点是高性能,其LMAX架构可以获得每秒6百万订单,用1微秒的延迟获得吞吐量为100K+。理解Disruptor的原理,可以帮助我们更好的理解内存无锁,CA […]

深入理解jvm虚拟机

风景

每个Java开发者都知道Java字节码是执行在JRE((Java Runtime Environment Java运行时环境)上的。JRE中最重要的部分是Java虚拟机(JVM),JVM负责分析和执行Java字节码。Java开发人员并不需要去关心JVM是如何运行的。在没有深入理解JVM的情况下,许多开发者已经开发出了非常多的优秀的应用以及Java类库。不过,如果你了解JVM的话,你会更加了解Jav […]

JDK中的设计模式

chengbao

本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。 一、设计模式的作用 反复出现问题的解决方案 增强软件的灵活性 适应软件不断变化 二、设计模式的七大原则 开闭原则OCP(Open Close Principle),一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 里氏代换原则LSP(Liskov Substitution Principle),子类可以扩展父类的功能,但不能 […]

btrace扩展小工具

pic

背景 在不能调试的情况下,需要定位问题,比较难,排除问题费时费力。 1、 编写写btrace脚本,实现对数据的监控,但是脚本调试起来需要时间 2、 对于没有重写toString方法的复杂的对象,不能够打印出具体的属性值 3、 对于函数返回值,需要找到返回类型所在路径,然后将其添加到btrace脚本编译路径下比较麻烦。 4、 对于没有做异常捕获的程序,没有打印栈信息。 目标 通过命令行交互的方式,实 […]