netty-pipeline和channelpipline 和 channelHandler无论是从服务端来看,还是客户端来看,在 Netty 整个框架里面,一条连接对应着一个 Channel,这条 Channel 所有的处理逻辑都在一个叫做 ChannelPipeline 的对象里面,ChannelPipeline 是一个双向链表结构,他和 Channel 之间是一对一的关系。 ChannelPipeline 里面每个节点都是一个 Ch 2019-02-03 IO #netty
zookeeper分布式协调详解zookeeper概述 ZooKeeper是一种为分布式应用所设计的高可用、高性能且一致的开源协调服务,它提供了一项基本服务:分布式锁服务。由于ZooKeeper的开源特性,后来在分布式锁的基础上,摸索了出了其他的使用方法:配置维护、组服务、分布式消息队列、分布式通知/协调等 ZK基本概念Znode结构ZooKeeper的数据模型,在结构上和标准文件系统的非常相似,都是采用这种树形层次结构,Zo 2019-01-03 分布式 #zk
kafka使用以及原理简介 Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。 现在Kafka多用于分布式的, 基于发布/订阅的消息系统。主要设计目的如下: 以时间复杂度为O(1)的 2018-12-10 中间件 #kafka
类加载机制与对象的创建类的生命周期 加载查找并加载类的二进制数据加载时类加载过程的第一个阶段,在加载阶段,虚拟机需要完成以下三件事情: 通过一个类的全限定名来获取其定义的二进制字节流。 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。 在Java堆中生成一个代表这个类的 java.lang.Class对象,作为对方法区中这些数据的访问入口注:jvm中classloader类加载器加载class发送在此阶 2018-11-02 jvm
jvm内存结构JVM内存结构概览先来看一张图: jvm主要分,堆、方法区、java栈、本地方法栈、程序计数器五个区域,其中方法区和堆区是线程共享的 堆区域堆内存是JVM中最大的一块由新生代和老年代组成,而新生代内存又被分成三部分,Eden空间、From Survivor空间、To Survivor空间,默认情况下 新生代(young):老年代(old)=1:2 在新生代中 eden:from:to = 8:1 2018-10-20 jvm