开发知识点-Java网络编程-Netty

news2024/11/18 1:35:16

在这里插入图片描述

Netty

  • P1 Netty-导学
    • 分布式
        • 网络返回 异步结果
        • dubbo rabbitmq
        • test 测试案例
        • 多线程 日志
  • 第1章_01_nio三大组件-channel-buffer
        • 网络编程 框架
        • jdk 1.4 之后才有 nio这个 API
        • Channel 数据传输通道 (双向)
        • Buffer 内存缓冲区 (暂存Channel 的 数据)
  • P3 第1章_02_nio三大组件-服务器设计-多线程版
        • Selector
        • 服务器 端 应用开发
        • 线程数 的 前提条件 CPU (执行线程的)
  • P4 第1章_03_nio三大组件-服务器设计-线程池版
        • 线程池 控制 最大线程数量 (解决 太多 线程 出现)
  • P5 第1章_04_nio三大组件-服务器设计-selector版
    • channel (通道) 事件
    • 非阻塞模式
  • P6 第1章_05_bytebuffer-基本使用
    • Channel 数据读写通道
      • 获得 Channel
      • 静态 获得 一个 缓冲区 (划分内存)
      • 从channel 读取数据
        • 加入 lombok 日志记录器
  • P7 第1章_06_bytebuffer-内部结构
    • bytebuffer 内部结构
      • 读模式
  • P8 第1章_07_bytebuffer-方法演示

P1 Netty-导学

https://www.bilibili.com/video/BV1py4y1E7oA?from=search&seid=380048128345779756&spm_id_from=333.337.0.0

在这里插入图片描述

分布式

数据库 消息队列 二进制框架

NIO
阻塞 非阻塞 同步 异步 多路复用

Netty
流水线
事件循环
高并发

网络返回 异步结果

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

dubbo rabbitmq
test 测试案例
多线程 日志

第1章_01_nio三大组件-channel-buffer

网络编程 框架

在这里插入图片描述

jdk 1.4 之后才有 nio这个 API

在这里插入图片描述

Channel 数据传输通道 (双向)

IO
输入流 数据 临时存储 在 内存中
输出流
单向

Buffer 内存缓冲区 (暂存Channel 的 数据)

应用程序 — 文件 — 网络 之间的 桥梁
在这里插入图片描述
文件
UDP
TCP
(服务器)

在这里插入图片描述

  • 字节 缓冲区 (抽象类)(实现类)
  • 不同数据类型 缓冲区

P3 第1章_02_nio三大组件-服务器设计-多线程版

在这里插入图片描述

Selector

在这里插入图片描述

服务器 端 应用开发

客户端 建立连接 Socket 读写操作 新的线程
输入流 读
输出流 写

在这里插入图片描述

  • 1M 内存 1000 连接 1G
  • 内存 容易溢出
线程数 的 前提条件 CPU (执行线程的)

eg:16h 同时跑 16线程 其他 等待(记录保存 )

P4 第1章_03_nio三大组件-服务器设计-线程池版

在这里插入图片描述

线程池 控制 最大线程数量 (解决 太多 线程 出现)

可以处理 多客户端的 操作 但 有限制
在这里插入图片描述

  • 利用率 不高
  • 适合短连接 HTTP

P5 第1章_04_nio三大组件-服务器设计-selector版

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

channel (通道) 事件

  • 可连接
  • 可读
  • 可写

非阻塞模式

  • 利用率 高
  • 连接数多 流量低(交互不频繁)

P6 第1章_05_bytebuffer-基本使用

在这里插入图片描述
在这里插入图片描述

  • maven demo

lombok getset
gson json
guava 工具类 合集
logback 日志打印

在这里插入图片描述
在这里插入图片描述

Channel 数据读写通道

获得 Channel

new 一个 对象
资源释放 java7 的
在这里插入图片描述

将 channel关闭

静态 获得 一个 缓冲区 (划分内存)

在这里插入图片描述
可以 设置 容量 capacity 字节

从channel 读取数据

在这里插入图片描述

buffer get 无参 读 一个 字节
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 所以 要 分 多次 读取 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
加入 lombok 日志记录器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

P7 第1章_06_bytebuffer-内部结构

在这里插入图片描述

bytebuffer 内部结构

像数组结构
在这里插入图片描述
容量 capacity
指针位置 索引下标 position
限制 limit
在这里插入图片描述

读模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

P8 第1章_07_bytebuffer-方法演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1359210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

rtsp解析视频流

这里先说一下 播放rtsp 视频流,尽量让后端转换一下其他格式的流进行播放。因为rtsp的流需要flash支持,现在很多浏览器不支持flash。 先说一下这里我没有用video-player插件,因为它需要用flash ,在一个是我下载flash后,还是无法播放…

在Fiber中处理请求和响应

掌握GoLang Fiber中请求和响应管理的艺术,以实现高效的Web开发 在Web开发领域,有效地处理请求和响应是构建既用户友好又高效的Web应用的基石。该过程涉及管理传入的HTTP请求、解析数据和参数、构建适当的响应、处理不同的响应类型以及优雅地处理错误。对…

金山云升级全栈云计算体系,做人工智能时代云上“助力者”

随着云原生、AIGC、大模型等新兴技术的迅速发展,智能化时代开启。云计算也正全面步入3.0时代,即云计算和人工智能深度融合的阶段。在这个阶段,人工智能技术成为云计算进一步释放潜力的核心推动力。 2024年1月4日,金山云举办了「云…

Unraid APP下载慢解决方法

1.首先你的APP商城能够打开 这里我已下载Jellyfin为例 使用APP查找镜像,是为了获取下面的配置模板 2.修改地址 默认的地址是 lscr.io/linuxserver/jellyfin服务器在国外,被墙了.下载具慢 我们需要把这个下载源修改成国内的 有很多国内的源,但是我觉得阿里的比较快 3.获…

MySQL——视图

目录 一.视图介绍 二.基本使用 三.视图规则和限制 一.视图介绍 视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。 二.基本使用 创…

在Jupyter笔记本中使用Python语言链在Mac上运行GPT4All

在过去的三周左右时间里,我一直在关注本地运行的大型语言模型(LLM)的疯狂开发速度,从llama.cpp开始,然后是alpaca,最近是(?!)gpt4all。 在那段时间里&#x…

JRTClient打开谷歌

网站默认已经启动https访问,这时候JRTClient发布wss需要浏览器信任证书才能访问打印。为此在JRTClient内部发布了HTTPS服务,有时候浏览器信任的证书会丢失或者被清理掉,这时候需要手工信任下,当然用JRTBrowser就不用信任证书&…

Unity中Shader序列帧动画(U、V方向的走格)

文章目录 前言一、U方向的走格1、 要实现移动的效果,我们就会想到使用_Time2、使用floor向下取整3、把x、y缩小为原函数的 Column倍4、使用_Sequence的z控制帧动画U方向上的速度 二、U方向的走格三、最终效果1、亚丝娜2、小蓝帽3、火4、最终代码 前言 在上一篇文章…

网易数帆codewave低代码平台:页面和数据逻辑搭建

注:我本打算将页面和数据逻辑搭建分成多个文章来发布,这样流量可能会多一些。但考虑到学习的连贯性和读者使用的便利性,最终决定将这部分内容融合在一篇文章中。 1 创建页面 1.1 系统默认页面 创建应用时系统会默认创建 6 个页面,分别是: login 登录页面:开启权限控制…

【LeetCode刷题笔记】344.反转字符串

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多算法知识专栏&#xff1a;算法分析&#x1f525; 给大家跳段街舞感谢…

frp配置内网穿透访问家里的nas

frp配置内网穿透访问家里的nas 需求 家里局域网内有台nas&#xff0c;在去公司的路上想访问它 其内网地址为&#xff1a; http://192.168.50.8:6002 工具 1.frp版本v0.53.2 下载地址&#xff1a; https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_li…

【Python机器学习】k近邻——模型复杂度与泛化能力的关系

以某数据进行研究&#xff0c;先将数据集分为训练集和测试集&#xff0c;然后用不同的邻居数对训练集合测试集的新能进行评估&#xff1a; from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.neighbors imp…

性能优化-OpenMP基础教程(四)-Android上运行OpenMP

本文主要介绍如何在一个常规的Android手机上调试OpenMP程序&#xff0c;包括Android NDK的环境配置和使用JNI编写一个OpenMP程序运行在Android手机中。 &#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;高性能&#…

【Linux进程】 进程的理解

目录 前言 1. 系统管理 2. 进程 2.1 概念 2.2 进程的调度 2.3 描述进程-PBC 3. 查看进程 4. 通过系统调用获取进程标示符 前言 在计算机科学领域&#xff0c;进程是一种重要的概念&#xff0c;在日常学习中也经常遇到进程这个概念&#xff0c;那么进程到底是什么&#x…

解决:ModuleNotFoundError: No module named ‘zhon’

解决&#xff1a;ModuleNotFoundError: No module named ‘zhon’ 文章目录 解决&#xff1a;ModuleNotFoundError: No module named zhon背景报错问题报错翻译报错位置代码报错原因解决方法方法一&#xff0c;直接安装方法二&#xff0c;手动下载安装方法三&#xff0c;编译安…

Spring学习 Spring概述

1.1.Spring介绍 ​ Spring是轻量级Java EE应用开源框架&#xff08;官网&#xff1a; http://spring.io/ &#xff09;&#xff0c;它由Rod Johnson创为了解决企业级编程开发的复杂性而创建 1.2.简化应用开发体现在哪些方面&#xff1f; IOC 解决传统Web开发中硬编码所造成的…

深入理解经典红黑树 | 京东物流技术团队

本篇我们讲红黑树的经典实现&#xff0c;Java中对红黑树的实现便采用的是经典红黑树。前一篇文章我们介绍过左倾红黑树&#xff0c;它相对来说比较简单&#xff0c;需要大家看完上篇再来看这一篇&#xff0c;因为旋转等基础知识不会再本篇文章中赘述。本篇的大部分内容参考 《算…

安全测试之SSRF请求伪造

前言 SSRF漏洞是一种在未能获取服务器权限时&#xff0c;利用服务器漏洞&#xff0c;由攻击者构造请求&#xff0c;服务器端发起请求的安全漏洞&#xff0c;攻击者可以利用该漏洞诱使服务器端应用程序向攻击者选择的任意域发出HTTP请求。 很多Web应用都提供了从其他的服务器上…

软件测试——自动化测试框架有哪些?

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;软件测试面试题分享&#xff1a; 1000道软件测试面试题及答案&#x1f4e2;软件测试实战项目分享&#xff1a; 纯接口项目-完…

2024年某书最新x-s-common签名算法分析以及点赞api接口测试nodejs(2024-01-05)

2024年某书又更新了x-s-common算法&#xff0c;现在的版本是&#xff1a;3.6.8。这个签名算法现在是越来越重要了&#xff0c;许多接口都要用到。比如&#xff1a;评论&#xff0c;点赞等接口&#xff0c;没有这个算法采集不到数据。 一、chrome逆向x-s-common算法 1、x-s-comm…