自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

naruto_Mr的专栏

从头开始

  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

转载 Netty源码解读(四)Netty与Reactor模式

一:Netty、NIO、多线程?时隔很久终于又更新了!之前一直迟迟未动也是因为积累不够,后面比较难下手。过年期间李林锋发布了一个Netty5.0架构剖析和源码解读 ,看完也是收获不少。前面的文章我们分析了Netty的结构,这次咱们来分析最错综复杂的一部分-Netty中的多线程以及NIO的应用。理清NIO与Netty的关系之前,我们必须先要来看看Reactor模式。Netty是一个典

2017-02-21 15:10:28 595

转载 同步异步与阻塞非阻塞的区别

“阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。1.同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调用者

2017-02-21 14:37:38 293

转载 Netty源码解读(二)Netty中的buffer

上一篇文章我们概要介绍了Netty的原理及结构,下面几篇文章我们开始对Netty的各个模块进行比较详细的分析。Netty的结构最底层是buffer模块,这部分也相对独立,我们就先从buffer讲起。What: buffer二三事buffer中文名又叫缓冲区,按照维基百科的解释,是”在数据传输时,在内存里开辟的一块临时保存数据的区域”。它其实是一种化同步为异步的机制,可以解决数据传输

2017-02-20 18:29:35 376

转载 Netty源码解读(一)概述

Netty和Mina是Java世界非常知名的通讯框架。它们都出自同一个作者,Mina诞生略早,属于Apache基金会,而Netty开始在Jboss名下,后来出来自立门户netty.io。关于Mina已有@FrankHui的Mina系列文章,我正好最近也要做一些网络方面的开发,就研究一下Netty的源码,顺便分享出来了。 Netty目前有两个分支:4.x和3.x。4.0分支重写了很多东西,并对项

2017-02-20 18:13:59 725

转载 Netty系列之Netty编解码框架分析

1. 背景1.1. 编解码技术通常我们也习惯将编码(Encode)称为序列化(serialization),它将对象序列化为字节数组,用于网络传输、数据持久化或者其它用途。反之,解码(Decode)/反序列化(deserialization)把从网络、磁盘等读取的字节数组还原成原始对象(通常是原始对象的拷贝),以方便后续的业务逻辑操作。进行远程跨进程服务调用时(例如RP

2017-02-20 16:19:43 441

转载 netty之DirectByteBuf 和 HeapByteBuf浅谈

ByteBuf是netty中数据传输的容器,用来替代NIO中的ByteBuffer。其主要还是一个byte数组,以及包含了一些数据的操作方法。通过两个指针readerIndex和writerIndex来读写分离,更好的处理数据。其结构大致如下图所示。ByteBuf示意图而从内存分配的角度来讲,ByteBuf又分为两种,DirectByteBuf和HeapByteBuf。

2017-02-20 15:22:27 1607

转载 Netty系列之Netty高性能之道

1. 背景1.1. 惊人的性能数据最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高性能的压缩二

2017-02-20 14:58:36 318

转载 Netty Demo文件下载(二)

Netty项目中应用:文件下载 private void writeFile(ChannelHandlerContext ctx, String path, boolean delAfterDoing) throws Exception{ File file = new File(path); RandomAccessFile raf = new Ran

2017-02-13 19:17:31 866

转载 Netty示例:文件下载

Netty服务端启动代码:public class NettyWebSocketServer extends Thread { protected ServerBootstrap BOOTSTRAP; protected EventLoopGroup BOSS_GROUP; protected EventLoopGroup WORKER_GROUP; prote

2017-02-10 12:37:50 2381

转载 Java实现读Chuck数据

之前列出了Chuck苏做了一个能读Chuck的程序,public class IOLine { private byte[] data; private String line; public byte[] getData() { return data; } public void setData(byte[] data) { this.data = data;

2017-02-06 17:32:59 616

转载 Http chunk方式传输数据

Http协议响应格式:HTTP/1.1 200 OK\r\n[HeaderKey]:[空格][HeaderValue]\r\n[HeaderKey]:[空格][HeaderValue]\r\n[HeaderKey]:[空格][HeaderValue]\r\n......这里省略很多\r\n[数据区]请求格式:GET/POST[空格][相对或者绝对路径][空格]H

2017-02-06 17:12:57 8047 2

更新审核系统1.0源码

使用spring, springmvc, mybatis, bootstrap完成的针对版本更新的审核系统,数据库使用mysql,通过sql文件apply.sql建表,然后修改mybatis.xml文件中对数据数的连接配置,布署到web服务器上,即能运行,入口页面/main

2017-08-22

空空如也

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

TA关注的人

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