自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 MySQL的基本概念与操作

数据库的基本概念什么是数据库?*用于存储和管理数据的仓库。数据库的特点:*持久化存储数据的。其实数据库就是一个文件系统*方便存储和管理数据*使用了统一的方式操作数据库 – SQLMySQL数据库软件安装链接: [https://blog.csdn.net/zhujialiang18/article/details/79780131]卸载推荐使用Total Unin...

2019-05-28 14:44:40 1142 5

原创 Netty由浅到深_第六章_Netty编解码器

编码和解码介绍1)编写网络应用程序时,因为数据在网络中传输的都是二进制字节码,在发送数据时就需要编码,接收数据时就需要解码2)codec(编解码器)的组成:decoder(解码器)和encode(编码器)。encoder负责把业务数据转换成字节码数据,decoder负责把字节码数据转换成业务数据3)Netty自身提供了一些coder(编解码器)编码器StringEncoder,对字符串数据进行编码ObjectEncoder,对java对象进行编码解码器StringDecoder

2020-09-23 21:54:15 157

原创 Netty由浅到深_第五章_Netty通过WebSocket实现服务器和客户端长连接

1)Http协议是无状态的,浏览器和服务器间的请求响应一次,下一次会重新创建连接2)要求:实现基于WebSocket的长连接的全双工交互3)改变Http协议多次请求的约束,实现长连接,服务器可以发送消息给浏览器4)客户端浏览器和服务器端会相互感知,比如服务器关闭了,浏览器会感知,同样浏览器关闭了,服务器会感知<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> &l

2020-05-30 13:07:07 268

原创 Netty由浅到深_第五章_Netty实现群聊系统和私聊系统

应用实例-群聊系统1)编写一个Netty群聊系统,实现服务器和客户端之间的数据简单通讯2)客户端:通过Channel可以无阻塞发送消息给其他所有用户,同时可以接受其他用户发送的消息(由服务器转发得到)3)服务器端:可以检测用户上线、离线,并实现消息的转发功能package com.dd.netty.groupchat;import com.dd.nio.groupchat.GroupChatClient;import io.netty.bootstrap.ServerBootstrap;

2020-05-30 13:01:37 563 2

原创 Netty由浅到深_第五章_Netty心跳检测机制案例

应用实例-群聊系统1)编写一个Netty群聊系统,实现服务器和客户端之间的数据简单通讯2)客户端:通过Channel可以无阻塞发送消息给其他所有用户,同时可以接受其他用户发送的消息(由服务器转发得到)3)服务器端:可以检测用户上线、离线,并实现消息的转发功能package com.dd.netty.groupchat;import com.dd.nio.groupchat.GroupChatClient;import io.netty.bootstrap.ServerBootstrap;

2020-05-30 12:54:52 140

原创 Netty由浅到深_第五章_ Netty核心组件EventLoop

Bootstrap、ServerBootstrap1)Bootstrap意思是引导,一个Netty应用通常有一个Bootstrap开始,主要作用是配置整个Netty程序,串联各个组件,Netty中Bootstrap类是客户端程序的启动引导类,ServerBootstrap是服务端启动引导类2)常见的方法有说明:handler()方法 该handler对应bossGroupChil...

2020-05-30 12:42:43 148

原创 Netty由浅到深_第四章_ Netty异步模型

基本介绍1)异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的组件完成后,通过状态、通知和回调来通知调用者2)netty中的I/O操作是异步的,包括Bind、Write、Connect等操作会简单的返回一个ChannelFuture3)调用者不能立刻获得结果。而是通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制...

2020-05-30 12:20:48 130

原创 Netty由浅到深_第四章_ Netty模型

1 Netty模型(简单版)1) BossGroup线程维护selector,只关注Accept2) 当接受到Accept事件,获取到对应的socketChannel,封装成NIOScoketChannel并注册到Worker线程(事件循环),并进行维护3) 当Worker线程监听到selector中通道发生自己感兴趣的事件后,就进行处理2 Netty模型(进阶版)3 Netty...

2020-03-15 15:42:49 150

原创 Netty由浅到深_第四章_ Netty模型之Reactor

1 原生NIO存在问题NIO的类库和API繁杂,使用麻烦;需要熟练掌握Selector、ServerSocketChannel、SocketChannek、ByteBuffer等需要具备其他的额外技能:要熟悉java多线程编程,因为NIO涉及到Reactor模式,必须熟悉多线程和网路编程,才能写出高质量的NIO代码开发工作量和难度非常大:列如客户端面临断连重连、网络闪断、半包读写、失败缓存...

2020-03-15 13:31:11 161

原创 Netty由浅到深_第三章_ NIO与零拷贝

在java程序中,常用的零拷贝有mmap(内存映射)和sendFile。先看一下java传统IO和网络编程的一段代码上述代码:1) 首先先把Hard Driver(硬件)数据进行DMA(direct memory acces 直接内存拷贝,不使用CPU)copy 到 kernel Buffer(内核缓冲区中)2) 接下来从kernel Buffer 通过 CPU copy 到 user...

2020-03-03 17:53:35 125

原创 Netty由浅到深_第三章_NIO网络编程实列-群聊系统

要求1)编写一个NIO群聊系统,实现服务器端和客户端之间的数据简单通讯2)实现多人聊天3)服务器端:可以检测用户上线,离线,并实现消息转发功能4)客户端:通过channel可以无阻塞发送消息给其他所有用户,同时可以接受其他用户发送的消息服务端package com.dd.nio.groupchat;import java.io.IOException;import java....

2020-03-03 17:47:44 130

原创 Netty由浅到深_第三章_NIO模型3大组件详细介绍

NIO三大核心原理示意图每个channel(通道)都会对应一个buffer(缓冲区)Selector(选择器)对应一个线程,一个线程对应多个channel(连接)程序切换到那个channel是由事件决定的,==Event(事件)==是一个非常重要概念Selector会根据不同的事件,在各个通道上切换Buffer就是一个内存块,底层是一个数组数据的读写是通过Buffer,这个和BIO...

2020-03-01 16:22:35 157

原创 Netty由浅到深_第二章_NIO模型简单介绍

I/O模型基本说明Java NIO全称java non-blocking IO。从JDK1.4开始,java提供一系列改进的输入/输出的新特性,被统称为NIO(New IO),是同步非阻塞的。NIO相关类都被放在java.nio包及子包下,并且对原java.io包中的很多类进行改写NIO有三大核心部分:Channel(通道),Buffer(缓冲区),Selector(选择器)NIO是面向...

2020-02-25 23:09:05 147

原创 Netty由浅到深_第二章_BIO模型

BIO模型I/O模型基本说明Java共支持3中网络编程I/O模型:BIO,NIO,AIOjava BIO : 同步阻塞(传统阻塞型),服务器实现模式为:一个连接对应一个线程,即客户端有连接请求时,服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销java NIO : 同步非阻塞。服务器实现模式为:一个线程处理多个请求(连接),即客户端发送的请求连接都会注册...

2020-02-25 21:52:22 144

原创 Netty由浅到深_第一章_Netty介绍和应用场景

Netty介绍和应用场景Netty介绍Netty是由jboss提供的一个java开源框架Netty是一个异步的,基于事件驱动的网络应用架构,用以开发高性能,高可靠性的网络IO程序Netty主要是针对TCP协议下,面向Clients端的高并发应用,或者peer-to-peer场景下的大量数据持续传输的应用Netty本质时一个NIO框架,适用于服务器通讯相关的多种应用场景Netty应用...

2020-02-25 20:59:24 835

原创 redis由浅入深,业务场景和面试总结

为什么需要redis?CRUD百分之80为查询,数据不会频繁变更,目前项目都是分布式项目,所以使用分布式缓存数据库–redisredis是单线程NIO模型,多个请求按先后顺序排队,按个执行,吞吐量大概10w/s,它的核心配置文件redis.config,默认端口号6379,默认有16个数据库,编号0-15,值的数据类型有string,hash,list,set四种redis的基本命令 ...

2019-09-09 23:32:41 210

原创 支付宝支付功能(沙箱)+springboot+jsp

从零搭建支付宝支付案例1.注册开发者账号,获取【公钥】和【私钥】,对支付宝提供给开发者的账号进行充值,请参考“ 会吐泡的鱼”的博客一到六步:https://blog.csdn.net/suprezheng/article/details/84931225(注:该文档复制粘贴就能跑,如对里面参数不懂地方,欢迎留言,博主一一回应)2.Sprin...

2019-08-01 17:33:32 1369 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除