要解决BIO存在的性能问题,本质上是要做到: 1. 让线程不再阻塞 2. 让一个线程能处理多个客户端连接 NIO线程模型,如下图所示 "计算机科学中的一切问题,都可以通过增加中间层来解决",在NIO的设计中被体现了出来。所以实际上selector, channel, 以及buffer,本质上都是为了 ...
分类:
编程语言 时间:
2020-06-22 23:17:52
阅读次数:
69
151、缓存-缓存使用-本地缓存与分布式缓存 - 157、缓存-缓存使用-本地锁在分布式下的问题 主要就是把数据缓存到redis中 @Override //会内存异常,主要就是lettuce的bug,导致内存溢出,它是使用netty进行网络通信 //luttuce的bug导致netty堆外内存溢出 ...
分类:
其他好文 时间:
2020-06-22 21:12:28
阅读次数:
113
简介 netty是一款基于NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架,提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。对比于BIO(Blocking I/O,阻塞IO),他的并发性能得到了很大提高。提供了对TCP、UDP ...
分类:
Web程序 时间:
2020-06-22 19:31:39
阅读次数:
63
一,传统Cookie+Session与JWT对比 1, 在传统的用户登录认证中,因为http是无状态的,所以都是采用session方式。用户登录成功,服务端会保证一个session,当然会给客户端一个sessionId,客户端会把sessionId保存在cookie中,每次请求都会携带这个sessi ...
分类:
编程语言 时间:
2020-06-22 19:24:19
阅读次数:
65
在互联网产品管理职位结构中大致分为:产品专员、产品经理、产品总监、产品副总(由低到高)。 在目前很多的小公司里基本将众多产品职能角色汇集成一个:产品经理(当然,甚至在有些公司老板就是产品经理),那么一个人拥有多个职能角色看似能够减少沟通成本(时间,信息差错),其实上违背了做产品的核心工作原则:系统工 ...
分类:
其他好文 时间:
2020-06-22 17:12:14
阅读次数:
57
MySQL常用命令 操作系统: ubuntu 18.04 mysql版本:8.0 启动数据库 ubuntu启动MySQL服务端 service mysql start 连接本地数据库 mysql -u root -p -u 后接用户名,不使用此参数默认用户就是root -p 使用密码,在执行命令后将 ...
分类:
数据库 时间:
2020-06-22 15:28:57
阅读次数:
62
一:什么是代理 代理其实就是一个中介,A和B本来可以直连,中间插入一个C,C就是中介。刚开始的时候,代理多数是帮助内网client访问外网server用的后来出现了反向代理,"反向"这个词在这儿的意思其实是指方向相反,即代理将来自外网客户端的请求转发到内网服务器,从外到内 二:正向代理 正向代理类似 ...
分类:
其他好文 时间:
2020-06-22 15:20:06
阅读次数:
56
G1之前收集器的特点 年轻代和老年代是各自独立且连续的内存块 年轻代收集器使用 eden + S0 + S1 进行复制算法 老年代收集必须扫描整个老年代区域 都是以尽可能的少而快速地执行 GC 为设计原则 G1 是什么 G1 是一种面向服务端的垃圾收集器,应用在多核处理器和大容量内存环境中,在实现高 ...
分类:
其他好文 时间:
2020-06-22 13:16:35
阅读次数:
60
1.ajax的优势 `ajax` 全名 `async javascript and XML`- 是前后台交互的能力,可以不在重新加载整个页面的情况下,对网页的某个部份进行更新- 也就是我们客户端给服务端发送消息的工具,以及接受响应的工具- 是一个 **默认异步** 执行机制的功能 1. 不需要插件的 ...
分类:
编程语言 时间:
2020-06-22 11:09:12
阅读次数:
59
问题现象:在网络延迟正常的情况下,使用ssh连接服务器过程中服务器响应时间过长问题原因:服务器的ssh服务开启了DNS反解析导致响应时间过长解决办法:在ssh服务端配置文件中禁用DNS反解析:以linux操作系统为例,在sshd配置文件/etc/ssh/sshd_config中添加如下配置UseDNSno重载sshd服务systemctlreloadsshd
分类:
其他好文 时间:
2020-06-22 09:36:12
阅读次数:
98