首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
猿灯塔
掘友等级
架构
|
公众号 【猿灯塔】
我们立志作为IT行业知识大海的一座座灯塔,为想在这个行业中奋斗的你们
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
13
文章 13
沸点 0
赞
13
返回
|
搜索文章
最新
热门
JVM源码分析之Object.wait/notify实现
“365篇原创计划”第十一篇。 最简单的东西,往往包含了最复杂的实现,因为需要为上层的存在提供一个稳定的基础,Object作为java中所有对象的基类,其存在的价值不言而喻,其中wait和notify方法的实现多线程协作提供了保证。 前提:由同一个lock对象调用wait、no…
猿灯塔-Phaser 使用介绍
本文将介绍 java.util.concurrent.Phaser,一个常常被大家忽略的并发工具。它和 CyclicBarrier 以及 CountDownLatch 很像,但是使用上更加的灵活,本文会进行一些对比介绍。 和之前的文章不同,本文不写源码分析了,就只是从各个角度介…
Netty 源码解析(八): 回到 Channel 的 register 操作
我们回到前面的 register0(promise) 方法,我们知道,这个 register 任务进入到了 NioEventLoop 的 taskQueue 中,然后会启动 NioEventLoop 中的线程,该线程会轮询这个 taskQueue,然后执行这个 register…
Netty 源码解析(七): NioEventLoop 工作流程
前面,我们在分析线程池的实例化的时候说过,NioEventLoop 中并没有启动 Java 线程。这里我们来仔细分析下在 register 过程中调用的 eventLoop.execute(runnable) 这个方法,这个代码在父类 SingleThreadEventExec…
Netty 源码解析(六): Channel 的 register 操作
接下来,我们来分析 Netty 中的线程池。Netty 中的线程池比较不好理解,因为它的类比较多,而且它们之间的关系错综复杂。看下图,感受下 NioEventLoop 类和 NioEventLoopGroup 类的继承结构:经过前面的铺垫,我们已经具备一定的基础了,我们开始来把…
Netty 源码解析(五): Netty 的线程池分析
接下来,我们来分析 Netty 中的线程池。Netty 中的线程池比较不好理解,因为它的类比较多,而且它们之间的关系错综复杂。看下图,感受下 NioEventLoop 类和 NioEventLoopGroup 类的继承结构: 这张图我按照继承关系整理而来,大家仔细看一下就会发现…
Netty 源码解析(四): Netty 的 ChannelPipeline
我想很多读者应该或多或少都有 Netty 中 pipeline 的概念。前面我们说了,使用 Netty 的时候,我们通常就只要写一些自定义的 handler 就可以了,我们定义的这些 handler 会组成一个 pipeline,用于处理 IO 事件,这个和我们平时接触的 Fi…
Netty 源码解析(三): Netty 的 Future 和 Promise
Netty 中非常多的异步调用,所以在介绍更多 NIO 相关的内容之前,我们来看看它的异步接口是怎么使用的。 争取在看完本节后,读者能搞清楚上面的这几行划线部分是怎么走的。 关于 Future 接口,我想大家应该都很熟悉,用得最多的就是在使用 Java 的线程池 ThreadP…
Netty 源码解析(二):Netty 的 Channel
这节我们来看看 NioSocketChannel 是怎么和 JDK 底层的 SocketChannel 联系在一起的,它们是一对一的关系。NioServerSocketChannel 和 ServerSocketChannel 同理,也是一对一的关系。 newChannel()…
Netty系列之源码解析(一)
前言:本文将介绍Netty,Java平台上使用最广泛的 NIO 包,它是对JDK中的NIO实现的一层封装,让我们能更方便地开发NIO程序。其实,Netty 不仅仅是NIO吧,但是基本上大家都冲着NIO来的。 灯塔君感觉国内对于Netty的吹嘘是有点过了,主要是很多人靠它吃饭,要…
下一页
个人成就
文章被点赞
50
文章被阅读
23,236
掘力值
830
关注了
0
关注者
47
收藏集
0
关注标签
32
加入于
2020-04-02