Source Code Cracker

赵剑东的博客


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

Netty4.x write和flush源码分析

发表于 2016-04-30   |  

Netty NIO中最重要的两个方法write和flush,write是把数据写入到OutboundBuffer(不真正发送数据),flush是真正的发送数据。Netty还提供另外一个方法writeAndFlush就是将write和flush方法合起来。

阅读全文 »

TCP-IP详解

发表于 2016-03-06   |  

network-tcp/ip

阅读全文 »

log4j配置详解

发表于 2016-03-06   |  

Apache log4j是一个基于Java的日志记录工具。它最初是由CekiGülcü写的,现在是Apache软件基金会的一个项目, log4j的是主流Java日志框架之一。此后Gülcü设计了SLF4J和Logback,意图成为log4j的继任者。
log4j团队创建了log4j2.0新版本,log4j 2.0改进了很多logback中可用问题,和架构问题。

阅读全文 »

ZooKeeper分布式锁

发表于 2016-03-02   |  

ZooKeeper排它锁

排它锁(Exclusive Lock),又称为写锁和独占锁。在Java中排它锁可以用synchronized机制和JDK5提供的ReentrantLock。ZooKeeper中直接的API的实现排它锁,而是通过ZooKeeper的节点来实现锁。首先创建一个/Exclusive_Lock节点,然后创建一个其子节点 /Exclusive_Lock/lock,为临时(EPHEMERAL)节点。如下图

阅读全文 »

Zookeeper介绍

发表于 2016-03-01   |  

What is ZooKeeper?

ZooKeeper: A Distributed Coordination Service for Distributed Applications
ZooKeeper为分布式应用提供分布式协调服务,是Google的Chubby的开源实现。Zookeeper是一个高性能的分布式数据一致性解决方案,它并没直接采用Paxos算法,而是采用了一种被称ZAB(Zookeeper Atomic Broadcast)的一致性协议。

阅读全文 »

Java类加载器详解

发表于 2015-10-20   |  

Java三种类型的类加载器

  • 我们首先看一下JVM预定义的三种类型类加载器,当一个 JVM 启动的时候,Java 缺省开始使用如下三种类型类装入器:
  • 启动类加载器(Bootstrap Class Loader):引导类装入器是用本地代码实现的类装入器,它负责将 /lib 下面的类库加载到内存中。由于引导类加载器涉及到虚拟机本地实现细节,开发者无法直接获取到启动类加载器的引用,所以不允许直接通过引用进行操作。
  • 标准扩展类加载器(Extensions Class Loader):扩展类加载器是由 Sun 的 ExtClassLoader (sun.misc.Launcher$ExtClassLoader) 实现的。它负责将 < Java_Runtime_Home >/lib/ext 或者由系统变量 java.ext.dir 指定位置中的类库加载到内存中。开发者可以直接使用标准扩展类加载器。
  • 系统类加载器(System Class Loader ):系统类加载器是由 Sun 的 AppClassLoader (sun.misc.Launcher$AppClassLoader)实现的。它负责将系统类路径(classpath)中指定的类库加载到内存中。开发者可以直接使用系统类加载器。
阅读全文 »

Hexo 博客优化(NexT主题)

发表于 2015-09-20   |  

1.数据统计

百度统计

  • next 主题配置项 _config.yml新增字段: baidu_analytics
  • baidu_analytics值设置成你的百度统计脚本id
    Alt text
阅读全文 »

用ASM实现简单的Proxy(未完待续)

发表于 2015-08-10   |  

CGLib和JDK Dynamic代理在Java框架开发中广泛的应用,两者都是用字节码技术修改了修改了原始class文件,生成新的代理类。JDK Dynamic基于接口代理,代理类实现接口同时继承于java.lang.reflect.Proxy

阅读全文 »

SourceCode Crack——ASM

发表于 2015-08-09   |  

前言

ASM 是什么

  • 官方介绍:ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify existing classes or dynamically generate classes, directly in binary form
  • ASM是一个多用途的Java字节码操作和分析框架。它可以被用来修改现有类或动态生成的类,直接以二进制形式
  • ASM 应该是 Assembly缩写(官方没有缩写介绍,个人理解)
阅读全文 »

JVM垃圾收集算法

发表于 2015-08-09   |  

JVM垃圾收集

1. 判断对象是否存活

  • 引用计数算法
    对象添加一个引用计数器,每个地方引用它,计数器值加+1;当引用失效,计算器值减1;任何时刻计数器为0的对象不可能被使用。引用计数算法实现简单,高效。
    缺点:引用计数算法,很难解决相互引用的问题。
    1
    2
    objA.instance = B;
    objB.instance = C;
阅读全文 »
jiandong.zhao

jiandong.zhao

coder@alibaba

10 日志
8 标签
© 2016 jiandong.zhao
由 Hexo 强力驱动
主题 - NexT.Pisces