王道长的技术博客

专注技术二十载

第一章:Netty介绍

本章介绍 Netty介绍 为什么要使用non-blocking IO(NIO) 阻塞IO(blocking IO)和非阻塞IO(non-blocking IO)对比 Java NIO的问题和在Netty中的解决方案 ​ Netty是基于Java NIO的网络应用框架,如果你是Ja...

2019-05-17 18:37:19

阅读数 66

评论数 0

第二章:第一个Netty程序

本章介绍 获取Netty4最新版本 设置运行环境来构建和运行netty程序 创建一个基于Netty的服务器和客户端 拦截和处理异常 编写和运行Netty服务器和客户端 本章将简单介绍Netty的核心概念,这个狠心概念就是学习Netty是如何拦截和处理异常,对于刚开始学习netty的读者,利用n...

2019-05-17 18:36:47

阅读数 56

评论数 0

第四章:Transports(传输)

本章内容 Transports(传输) NIO(non-blocking IO,New IO), OIO(Old IO,blocking IO), Local(本地), Embedded(嵌入式) Use-case(用例) APIs(接口) ​ 网络应用程序一个很重要的工作是...

2019-05-17 18:36:08

阅读数 70

评论数 0

第十六章:从EventLoop取消注册和重新注册

本章介绍 EventLoop 从EventLoop注册和取消注册 在Netty中使用旧的Socket和Channel Netty提供了一个简单的方法来连接Socket/Channel,这是在Netty之外创建并转移他们的责任到Netty。这允许你将遗留的集成框架以无缝方式一步一步迁移到Ne...

2019-05-17 18:21:08

阅读数 63

评论数 0

第十五章:选择正确的线程模型

本章介绍 线程模型(thread-model) 事件循环(EventLoop) 并发(Concurrency) 任务执行(task execution) 任务调度(task scheduling) 线程模型定义了应用程序或框架如何执行你的代码,选择应用程序/框架的正确的线程模型是很重要的。...

2019-05-17 18:19:42

阅读数 71

评论数 0

第十四章:实现自定义的编码解码器

本章讲述Netty中如何轻松实现定制的编解码器,由于Netty架构的灵活性,这些编解码器易于重用和测试。为了更容易实现,使用Memcached作为协议例子是因为它更方便我们实现。 Memcached是免费开源、高性能、分布式的内存对象缓存系统,其目的是加速动态Web应用程序的响应,减轻数据库负载;...

2019-05-17 18:17:48

阅读数 52

评论数 0

第十三章:通过UDP广播事件

本章介绍 UDP介绍 UDP程序结构和设计 日志事件POJO 编写广播器 编写监听者 使用广播器和监听者 Summary 前面的章节都是在示例中使用TCP协议,这一章,我们将使用UDP。UDP是一种无连接协议,若需要很高的性能和对数据的完成性没有严格要求,那使用UDP是一个很好的方法。最著...

2019-05-17 18:13:49

阅读数 65

评论数 0

第十二章:SPDY

本章我将不会直接翻译Netty In Action书中的原文,感觉原书中本章讲的很多废话,我翻译起来也吃力。所以,本章内容我会根据其他资料和个人理解来讲述。 12.1 SPDY概念及背景 ​ SPDY 是 Google 开发的基于传输控制协议 (TCP) 的应用层协议 ,开发组正在推...

2019-05-17 18:11:42

阅读数 83

评论数 0

第十一章:WebSocket

本章介绍 WebSocket ChannelHandler,Decoder and Encoder 引导一个Netty基础程序 测试WebSocket “real-time-web”实时web现在随处可见,很多的用户希望能从web站点实时获取信息。Netty支持WebSocket实现,并包...

2019-05-17 18:08:15

阅读数 65

评论数 0

第十章:单元测试代码

本章介绍 单元测试 EmbeddedChannel 学会了使用一个或多个ChannelHandler处理接收/发送数据消息,但是如何测试它们呢?Netty提供了2个额外的类使得测试ChannelHandler变得很容易,本章讲解如何测试Netty程序。测试使用JUnit4,如果不会用可以慢...

2019-05-17 18:06:00

阅读数 63

评论数 0

第九章:引导Netty应用程序

本章介绍 使用SSL/TLS创建安全的Netty程序 使用Netty创建HTTP/HTTPS程序 处理空闲连接和超时 解码分隔符和基于长度的协议 写大数据 序列化数据 上一章讲解了如何创建自己的编解码器,我们现在可以用上一章的知识来编写自己的编解码器。不过Netty提供了一些标准的Chan...

2019-05-17 18:05:09

阅读数 71

评论数 0

第八章:附带的ChannelHandler和Codec

本章介绍 使用SSL/TLS创建安全的Netty程序 使用Netty创建HTTP/HTTPS程序 处理空闲连接和超时 解码分隔符和基于长度的协议 写大数据 序列化数据 上一章讲解了如何创建自己的编解码器,我们现在可以用上一章的知识来编写自己的编解码器。不过Netty提供了一些标准的Chan...

2019-05-17 18:03:41

阅读数 57

评论数 0

第七章:编解码器Codec

本章介绍 Codec,编解码器 Decoder,解码器 Encoder,编码器 ​ Netty提供了编解码器框架,使得编写自定义的编解码器很容易,并且也很容易重用和封装。本章讨论Netty的编解码器框架以及使用。 7.1 编解码器Codec ​ 编写一个网络应用...

2019-05-17 18:02:20

阅读数 53

评论数 0

第六章:ChannelHandler

本章介绍 ChannelPipeline ChannelHandlerContext ChannelHandler Inbound vs outbound(入站和出站) ​ 接受连接或创建他们只是你的应用程序的一部分,虽然这些任何很重要,但是一个网络应用程序旺旺是更复杂的,需...

2019-05-17 18:01:42

阅读数 58

评论数 0

第五章:Buffers(缓冲)

本章介绍 ByteBuf ByteBufHolder ByteBufAllocator 使用这些接口分配缓冲和执行操作 ​ 每当你需要传输数据时,它必须包含一个缓冲区。Java NIO API自带的缓冲区类是相当有限的,没有经过优化,使用JDK的ByteBuffer操作更复杂...

2019-05-17 18:00:52

阅读数 61

评论数 0

第三章:Netty核心概念

在这一章我们将讨论Netty的10个核心类,清楚了解他们的结构对使用Netty很有用。可能有一些不会再工作中用到,但是也有一些很常用也很核心,你会遇到。 Bootstrap or ServerBootstrap EventLoop EventLoopGroup ChannelPipeline ...

2019-05-17 17:58:59

阅读数 52

评论数 0

Node学习

一、Node基础 1.1 Node的优势? IO优势 对于文件读写,Node采用的是非阻塞IO 传统IO在读写文件的时候CPU来处理,而代码执行也处于等待中,浪费性能 非阻塞IO将读写操作交给CPU,而代码正常执行,减少等待浪费的性能 应用场景 实际应用: webpack/gulp/np...

2019-05-17 15:22:01

阅读数 48

评论数 0

ElasticSearch入门

第一节 ElasticSearch概述 1.1 ES 分布式的全文搜索引擎。 它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。ElasticSearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实...

2019-05-14 13:05:08

阅读数 107

评论数 0

mysql之优化-字段类型

一、字段类型和编码 1.1、mysql返回字符串长度: CHARACTER_LENGTH方法(CHAR_LENGTH一样的)返回的是字符数,LENGTH函数返回的是字节数,一个汉字三个字节 1.2、索引长度: varvhar等字段建立索引长度计算语句:**select count(distinct...

2019-05-13 01:30:53

阅读数 27

评论数 1

mysql之优化-分表

一、表的分割 1.1 水平分割 案例 大数据量的用户表 三张表:qqlogin0,qqlogin1,qqlogin2 将用户id%3,按结果放入不同的表当中 create table qqlogin0( id int unsigned not null primary key,/* 这个...

2019-05-13 01:29:43

阅读数 20

评论数 0

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