代老师的博客 https://github.com/daichangya

归档

2020 年 12 月

前言  本文继续【Java并发之synchronized关键字深度解析(一)】一文而来,着重介绍synchronized几种锁的特性。一、对象头结构及锁状态标识  synchronized关键字是如何实现的给对象加锁?首先我们要了解一下java中对象的组成。java中的对象由3部分组成,第一部分是对
jvm
对象结构在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header)、实例数据(InstanceData)和对齐填充(Padding)。下图是普通对象实例与数组对象实例的数据结构:1对象头HotSpot虚拟机的对象头包括两部分信息:markword 第一部分markwor

2020-12-22

(0)Reactor模型Reactor模型是一种经典的线程模型,一般分为三种类型:Reactor单线程模型Reactor多线程模型Reactor主从多线程模型Reactor单线程模型Reactor单线程模型是指所有的IO操作包括acceptor操作和handler操作都由一个线程完成;Netty中R
publicclassRecyclerTest{staticclassWrapRecycler{privatebooleantmp;privatefinalstaticRecycler<WrapRecycler>RECYCLER=newRecycler<WrapRecycler&g
(0) ChannelPipeline的实例 ChannelPipeline的使用实例 private void connect(String host,int port){ EventLoopGroup group = new NioEventLoopGroup(); try {
(0)内存数据结构内存分级从上到下主要分为:Arena,ChunkList,Chunk,Page,SubPage五级;PooledArena是一块连续的内存块,为了优化并发性能在Netty内存池中存在一个由多个Arena组成的数组,在多个线程进行内存分配时会按照轮询策略选择一个Arena进行内存分配
Netty作为一款高性能网络应用程序框架,实现了一套高性能内存管理机制通过学习其中的实现原理、算法、并发设计,有利于我们写出更优雅、更高性能的代码;当使用Netty时碰到内存方面的问题时,也可以更高效定位排查出来本文基于Netty4.1.43.Final介绍其中的内存管理机制ByteBuf分类Net