brade Blog

To maintain the life of a human being, is his career.
维持一个人的生命的事物,是他的事业。

ArrayList扩容机制

ArrayList源码解析

ArrayList扩容机制 构造器 提供了3个构造方法,默认无参构造方法较常用。 /** * 给定初始容量构造方法 */ public ArrayList(int initialCapacity) { if (initialCapacity > 0) { this.elementData = ne...

netty源码解析之NioSocketChannel

NioSocketChannel

NioSocketChannel 源码解析 本文中 netty 采用的版本为 4.1.66.Final-SNAPSHOT。NioSocketChannel 的类图如下所示: AbstractNioByteChannel 抽象类,继承自AbstractNioChannel,而AbstractNioChannel已经在NioServerSocketChannel中有说明,不再重复。 ...

netty源码解析之NioServerSocketChannel

NioServerSocketChannel

NioServerSocketChannel 源码解析 本文中 netty 采用的版本为 4.1.66.Final-SNAPSHOT。NioServerSocketChannel 的类图如下所示: AbstractChannel 抽象类,Channel默认实现类,可以说Channel的功能基本在此类实现。 继承DefaultAttributeMap并实现了Channel接口。Si...

netty源码解析之ServerBootstrap

ServerBootstrap

ServerBootstrap 源码解析 本文中 netty 采用的版本为 4.1.66.Final-SNAPSHOT。ServerBootstrap 的类图如下所示: AbstractBootstrap 抽象类,实现了Cloneable接口。 构造器 AbstractBootstrap(AbstractBootstrap<B, C> bootst...

netty源码解析之NioEventLoop

NioEventLoop

NioEventLoop 源码解析 本文中 netty 采用的版本为 4.1.66.Final-SNAPSHOT。NioEventLoop 的类图如下所示: 最顶层跟NioEventLoopGroup一样,都是Executor ==> ExecutorService EventExecutor 接口,继承了EventExecutorGroup,是一个特殊的EventExec...

netty源码解析之NioEventLoopGroup

NioEventLoopGroup

NioEventLoopGroup 源码解析 本文中 netty 采用的版本为 4.1.66.Final-SNAPSHOT。NioEventLoopGroup 的类图如下所示: Executor JDK中定义的接口,线程执行器,主要用来控制线程的启动、执行和关闭,可以简化并发编程的操作,只定义了一个方法。 void execute(Runnable command); ...

chrome 插件开发

写在前面 最近在看一门网页播放的课程,当一节课播放完毕,无法自动播放下一节。做为一个后端程序员,下意识就想用代码解决问题。首先想到了 selenium,然后发现只能针对特定浏览器,还需要下载驱动,比如chrome,需要 chromedriver,本人更熟悉 java,如果用 java 开发,那么还得虚拟机环境。。。如果他人使用,折腾个带虚拟机的程序,体积有点大(虽然 java9 以后可以定制...

博客搭建

Jekyll + Github Pages

一 、Jekyll 是什么? 定义来自官网:Jekyll 是一个简单的博客形态的静态站点生产机器。它有一个模版目录,其中包含原始文本格式的文档, 通过 Markdown 或者Textile 以及Liquid 转化成一个完整的可发布的静态网站,你可以发布在任何你喜爱的服务器上。 Jekyll也可以运行在GitHub Page 上,也就是说,你可以使用 GitHub 的服务来搭建你的项目...