- 博客(81)
- 资源 (2)
- 收藏
- 关注
原创 JVM系列之STW、并行与并发、安全点与安全区域
封面前言在平时实际工作中,其实接触 JVM 的机会比较少,而学习 JVM 时,大部分时候也是看书或者网上看博客教程,然而在学习过程中,经常会碰到很多陌生的名词,难以理解,尤其是在垃圾回收...
2020-06-18 00:56:31
185
原创 垃圾回收之垃圾标记算法
封面前言作为 Java 开发人员,其实是非常幸福的,因为 JVM 的存在,使得 Java 开发人员不需要像 C 或者 C++开发人员那样需要手动申请内存、释放内存,这些资源申请、垃圾回收...
2020-06-16 00:26:07
65
1
原创 面试官:为什么《阿里巴巴Java开发手册》中强制要求主键id是自增的?
为什么《阿里巴巴Java开发手册》中强制要求主键id是自增的?自增id用完后会出现什么现象?
2020-05-12 10:22:56
701
原创 为什么《阿里巴巴Java开发手册》中强制要求主键id是自增的
前言在《阿里巴巴 Java 开发手册》第五章 MySQL 规定第九条中,强制规定了单表的主键 id 必须为无符号的 bigint 类型,且是自增的。为什么会这样强制规定呢?为什么通常主键...
2020-05-12 02:17:01
164
原创 MySQL为什么不用数组、哈希表、二叉树等数据结构作为索引呢
MySQL为什么要用B+Tree作为索引的数据结构,而不用数组、哈希表、二叉树等数据结构作为索引呢
2020-04-24 15:06:47
454
原创 索引数据结构之B-Tree与B+Tree(下篇)
B+Tree的数据结构,为什么MySQL选择使用B+Tree作为索引的数据结构,而不是B-Tree
2020-04-21 18:09:57
112
原创 backlog与TCP三次握手之间不得不说的事
JDK在创建套接字,可以为服务端配置backlog参数的值,在netty中我们也可以通过ChannelOption.SO_BACKLOG来设置。那么backlog参数到底有什么作用呢?它又是如何工作的呢?
2020-01-17 10:16:24
252
原创 Netty源码分析系列之writeAndFlush()下
write()只会将数据只是发送到了ChannelOutboundBuffer 缓冲区中,还没有被发送到操作系统的套接字中只有当调用了 flush()方法后,才会真正将数据发送到套接字中。那么 flush()方法的源码又是如何执行的呢?
2020-01-11 15:47:52
590
原创 Netty源码分析系列之writeAndFlush()上
当我们的业务逻辑处理完成后,就需要给客户端响应消息,这就涉及到服务端如何通过 channel 将响应消息写出去的流程了,同时还会涉及到消息的编码过程,因为在 TCP 协议中,数据最终是通过字节流传输的,而我们通常在业务代码中是返回一个对象,因此需要进行编码。接下来本文将会重点分析这两个的过程的源码实现。
2020-01-07 21:36:11
509
原创 Netty源码分析系列之常用解码器(下)——LengthFieldBasedFrameDecoder
在上一篇文章中分析了三个比较简单的解码器,今天接着分析最后一个常用的解码器:**LengthFieldBasedFrameDecoder**,这是一个基于长度字段的解码器。什么意思呢?就是在发送的数据中,使用一个字段来表示数据的长度,这样当接收方接收到数据后,先读出这个长度字段,读到了长度字段,那就知道了这次发送的数据有多长,这样就能解码出数据了。
2019-12-31 19:49:30
132
原创 Netty源码分析系列之TCP粘包、半包问题以及Netty是如何解决的
什么是粘包、半包现象?UDP协议会存在这个问题吗?netty又是如何解决粘包、半包问题的呢?
2019-12-29 19:57:37
207
1
原创 Netty源码分析系列之新连接的接入
当 netty 的服务端启动以后,就可以开始接收客户端的连接了。那么在 netty 中,服务端是如何来进行新连接的创建的呢?
2019-12-27 10:45:40
88
原创 Netty源码分析系列之NioEventLoop的执行流程
NioEventLoop作为一个NIO事件轮询器,到底在循环处理什么呢?JDK中臭名昭著的空轮询BUG,在netty中又是如何避免的呢?
2019-12-23 02:09:37
142
原创 Netty源码分析系列之服务端Channel的端口绑定
扫描下方二维码或者微信搜索公众号菜鸟飞呀飞,即可关注微信公众号,阅读更多Spring源码分析和Java并发编程文章。微信公众号问题本文内容是接着前两篇文章写的,有兴趣的朋友可以先去阅读下两篇文章: Netty 源码分析系列之服务端 Channel 初始化 和 Netty 源码分析系列之服务端 Channel 注册由于 Netty 是对 JDK 原生 NIO 的封装,对比 J...
2019-12-15 20:18:12
2867
原创 Netty源码分析系列之Reactor线程模型
什么是Reactor线程模型?Netty作为一款高性能的网络框架,其底层使用的网络IO模型是什么呢?
2019-12-02 10:47:53
136
原创 别再问我Runnable、Callable、Future、FutureTask有什么关联了
Runnable和Callable有什么区别?Future和FutureTask又有什么关联?
2019-11-30 14:13:33
120
原创 面试官:为什么《阿里巴巴Java开发手册》上要禁止使用Executors来创建线程池
面试官:为什么《阿里巴巴Java开发手册》上要禁止使用Executors来创建线程池
2019-11-22 21:28:15
2030
spring开发常用的jar包spring.framework-4.3.2.RELEASE.required
2016-09-18
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝