OIO和NIO写法大相径庭,但netty的阻塞和非阻塞的代码基本一致, public class NettyOioServer { public void server(int port) throws Exception { final ByteBuf buf = Unpooled.unrelea ...
分类:
其他好文 时间:
2020-06-07 09:19:50
阅读次数:
67
前言 随着微服务的流行,单体应用被拆分成一个个独立的微进程,可能一个简单的请求,需要多个微服务共同处理,这样其实是增加了出错的概率,所以如何保证在单个微服务出现问题的时候,对整个系统的负面影响降到最低,这就需要用到我们今天要介绍的线程隔离。 线程模型 在介绍线程隔离之前,我们先了解一下主流容器,框架 ...
分类:
编程语言 时间:
2020-06-07 00:55:02
阅读次数:
160
一 基本概念 IO(BIO)和NIO的区别:其本质就是阻塞和非阻塞的区别。 阻塞:应用程序在获取网络数据的时候,如果网络传输数据很慢,那程序就一直等着,直到传输完毕为止。 非阻塞:应用程序直接可以获取已经准备就绪的数据,无需等待。 IO为同步阻塞形式,NIO为同步非阻塞,到JDK1.7,NIO为异步 ...
分类:
编程语言 时间:
2020-06-06 12:51:26
阅读次数:
81
1.什么是netty? Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。Netty封装了JDK的NIO. 2.Netty和Tomcat区别? Netty和Tomcat最大的区别就在于通信协议,Tomcat是基于Http协议的, ...
分类:
Web程序 时间:
2020-06-06 01:07:42
阅读次数:
81
1.redis应用场景? (1)token令牌的生成 通过token替代session,session有个最大的问题是不支持集群。把token存在redis里,因为redis是可以共享使用的。 (2)短信验证码code 验证码有效期只有30分钟或者1小时,使用redis对验证码的code设置有效期。 ...
分类:
其他好文 时间:
2020-06-04 15:30:53
阅读次数:
89
nio使用通道和缓冲区来进行数据的读写操作。 FileChannel 对文件进行操作 SocketChannel tcp ServerSocketChannel tcp DatagramChannel udp 一般来说分为下面几步:1、建立通道2、创建缓冲区3、使用通道对缓冲区进行读写操作 建立通道 ...
分类:
编程语言 时间:
2020-06-03 23:31:57
阅读次数:
75
题目 平面上有若干个点,选出个点集,要求这个点集是一个凸包(凸包上没有三点共线)。 这个点集的价值为$xa^b^c^$,其中$x$为凸包的顶点数,$y$为凸包内或凸包边界上的点数,$z$为不在凸包内的点数。 题目保证$b=a+c$ 求所有满足条件的点集的价值和。 \(n\leq 2000\) 正解 ...
分类:
其他好文 时间:
2020-06-03 20:03:31
阅读次数:
113
Netty java Mina Supersocket .net ACL 非阻塞异步 IO Netty 一款基于NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架,对比于BIO(Blocking I/O,阻塞IO),他的并发性能得到了很大提高,两张图让你了解BIO和NIO的区 M ...
分类:
其他好文 时间:
2020-06-03 15:15:39
阅读次数:
68
Reactor 模型不再介绍,网上有很多。在实现的过程中有一些收获: 1. Reactor 广义上说,事件发生时便会触发为事件注册的处理函数。在注册感兴趣的事件时,需要将处理函数一并绑定到事件上,在 NIO 中我们通过 SelectionKey 的 attachment 携带函数对象。 2. 使用 ...
分类:
其他好文 时间:
2020-06-03 00:36:43
阅读次数:
56
1.数组去重 var arr = [1,2,3,3,1,4]; [...new Set(arr)]; // [1, 2, 3, 4] Array.from(new Set(arr)); // [1, 2, 3, 4] [...new Set('ababbc')].join(''); // "abc" ...
分类:
其他好文 时间:
2020-06-02 18:40:09
阅读次数:
734