首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
长河0
掘友等级
Java开发
积跬步、至千里。
获得徽章 13
动态
文章
专栏
沸点
收藏集
关注
作品
赞
10
文章 9
沸点 1
赞
10
返回
|
搜索文章
最新
热门
【数据结构】数组
数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式...
时间与空间复杂度
在《数据结构和算法概述》中有说过,算法的设计要求其中有两点是:时间效率高、存储量低。 判断一个算法的时间效率的高低可以看它的「时间复杂度」,存储量的高低可以看它的「空间复杂度」。 1. 在计算机科学中,算法的时间复杂度(Time complexity)是一个函数,它定性描述该算法...
基于Netty实现RPC框架-CSDN博客
笔者以前写过一篇文章《摊牌了,我要手写一个RPC》,当时实现的比较粗糙,底层基于JDK的阻塞IO进行通信。刚好最近在看Netty,于是想重构一下,用Netty来作为底层的RPC通信框架。 1. 基于Netty通信的RPC框架。自定义的RPC通信协议。基于JDK动态代理交互。Kry...
Netty实现HTTP服务器
Netty本身就支持了HTTP协议,内置的HttpServerCodec可以针对HTTP协议进行编解码,开箱即用,非常方便。使用Netty来来实现一个简单的HTTP服务是非常简单的。代码上传至Gitee:https://gitee.1. Http服务的启动类,它主要是创建Serv...
Netty实现WebSocket聊天室
前面的文章主要以分析Netty源码为主,后面的文章以Netty实践为主。本篇文章会带大家使用Netty实现一个WebSocket聊天室。代码已上传至Gitee:https://gitee.com/panchanghe/netty-project。1. 因为是基于网页的聊天室,所以...
EventLoop和EventLoopGroup
EventLoop和EventLoopGroup描述了Netty程序运行所使用的线程模型,通过修改EventLoopGroup,可以让Netty在不同的线程模型间快速切换,甚至可以在Nio和Bio间一键切换。 1. EventLoopGroup直译过来叫「事件循环组」,它管理着一...
ChannelPipeline:Netty的事件传播管道
Netty是一个异步的、高性能的、基于事件驱动的网络IO框架,它经过精心设计,不仅功能强大,还保持了良好的可扩展性,使用非常的灵活。 Netty的主要功能就是处理网络IO事件,它使用了「拦截过滤器」设计模式,ChannelHandler被设计为用来处理事件,而ChannelPip...
ByteBuf:Netty的数据容器
网络传输的基本单位总是字节,JDK使用ByteBuffer作为Nio网络编程的数据容器,但是这个类使用过于复杂,存在一些缺点,例如:它不支持扩容、读写模式切换需要经常调用flip(),导致开发者经常因为忘记调用而导致无法读取写入的数据。 支持扩容。分别维护读写索引,无需调用fli...
ServerBootstrapAcceptor:接收连接的核心
ServerBootstrapAcceptor是Netty服务端用来接收客户端连接的核心类,之前的文章在分析Netty服务端启动全流程的时候有提到过一嘴,今天这篇文章会详细分析一下。 1. 服务端启动时,会调用ServerBootstrap.bind()绑定本地端口用来监听客户端...
使用大数组对JVM的影响
数组可以通过下标快速访问元素,是因为它的内存地址是连续的。 绝大多数JVM管理内存的方式,并不是指针碰撞,而是空闲列表。 这就意味着,堆中可用内存空间相对比较分散,存在大量内存碎片,JVM要为大数组分配一大块可用的连续内存空间是比较困难的。借用网友的两张图说明。数组也是对象,且数...
下一页
个人成就
文章被点赞
237
文章被阅读
126,861
掘力值
4,178
关注了
2
关注者
116
收藏集
1
关注标签
6
加入于
2019-08-20