折腾了我一周,原来Netty网络编程就是这么个破玩意儿!!!

1、阻塞 阻塞模式下,相关方法都会导致线程暂停 ServerSocketChannel.accept 会在没有连接建立时让线程暂停 SocketChannel.read 会在通道中没有数据可读时让线程暂停 阻塞的表现其实就是线程暂停了,暂停期间不会占用 cpu,但线程相当于闲置 单线程下,阻塞方法之 ...

一分钟搞定Netty 三大组件,如果搞不定,再看3遍

1. 三大组件简介 Channel 与 Buffer Java NIO 系统的核心在于:通道 (Channel) 和缓冲区 (Buffer)。通道表示打开到 IO 设备 (例如:文件、套接字) 的连接。若需要使用 NIO 系统,需要获取用于连接 IO 设备的通道 以及用于容纳数据的缓冲区。然后操作缓 ...

如何写出优雅的Controller层代码

前言 一个完整的后端请求由 4 部分组成: 接口地址(也就是 URL 地址) 请求方式(一般就是 get、set,当然还有 put、delete) 请求数据(request,有 head 跟 body) 响应数据(response) Controller 主要的工作有以下几项: 接收请求并解析参数 ...

一文读懂 HTTP/1 HTTP/2 HTTP/3

从 1989 年万维网(www)诞生,HTTP(HyperText Transfer Protocol)经历了众多版本迭代,WebSocket 也在期间萌芽。1991 年 HTTP0.9 被发明。1996 年出现了 HTTP1.0。2015 年 HTTP2 正式发布。2020 年 HTTP3 或能正... ...

请求量太大扛不住怎么办?进来学一招

hello,大家好呀,我是小楼。 上篇文章《一言不合就重构》 说了我最近重构的一个系统,虽然重构完了,但还在灰度,这不,在灰度过程中又发现了一个问题。 背景 这个问题简单说一下背景,如果不明白可以看上篇文章 ,不想看也没关系,这是个通用的解法,后面我会总结抽象下。 在上篇文章的最后提到对每个摘除的地 ...

day07-功能实现06

家居网购项目实现06 以下皆为部分代码,详见 https://github.com/liyuelian/furniture_mall.git 14.功能13-首页分页 14.1需求分析/图解 顾客进入首页页面 分页显示家居 正确显示分页导航条 14.2思路分析 14.3代码实现 14.3.1web层 ...

day06-功能实现05

家居网购项目实现05 以下皆为部分代码,详见 https://github.com/liyuelian/furniture_mall.git 12.功能11-后台分页(分页显示家居) 12.1需求分析/图解 管理员进入到家居管理后台页面 点击家居管理,可以按分页规则显示家居信息 12.2思路分析 分 ...

也及夜间模式样式

“像白天不懂夜的黑,像永恒燃烧的太阳,不懂那月亮的盈缺。” —— 黄桂兰 0x00 大纲 0x01 前言 夜间模式(Dark Mode),也被称为黑暗模式或深色模式,是一种高对比度,或者反色模式的显示模式,这种模式现在越来越流行,因为和传统的白底黑字相比,这种黑底白字的模式通常被认为可以缓解眼疲劳, ...

day05-功能实现04

家居网购项目实现04 以下皆为部分代码,详见 https://github.com/liyuelian/furniture_mall.git 10.功能09-后台管理 删除家居 10.1需求分析/图解 需求如下: 管理员进入到家居管理页面 点击删除家居连接,弹出确认窗口,确认删除,取消放弃 10.2 ...

Controller 层代码就该这么写,简洁又优雅!

来源:https://juejin.cn/post/7123091045071454238 一个优秀的 Controller 层逻辑 说到 Controller,相信大家都不陌生,它可以很方便地对外提供数据接口。它的定位,我认为是「不可或缺的配角」。 说它不可或缺是因为无论是传统的三层架构还是现在的 ...