网络层编程,是每一个开发者都要面对的技术。课程为解决大家学习网络层知识的难题,以创新性的“对比式学习”搭建网络编程课程,课程主线清晰(网络层基础铺垫-->java网络编程前置技术讲解-->阻塞式编程BIO-->非阻塞式编程NIO-->异步编程AIO-->综合实战)适合每一位需要理解网络编程的同学们学... ...
分类:
编程语言 时间:
2020-01-22 01:10:38
阅读次数:
260
Node.js简介 Node.js是一个能够在服务器端运行JavaScript的开源代码、跨平台JavaScript运行环境 Node采用Google开发的V8引擎运行js代码,使用事件驱动、非阻塞和异步I/O模型等技术来提高性能,可优化应用程序的传输量和规模 Node大部分基本模块都用JavaSp ...
分类:
Web程序 时间:
2020-01-21 19:40:14
阅读次数:
62
spdlog 基本结构分析 代码取自 "V1.5.0" , 代码堪称美学。 "spdlog" 是一个只有头文件的C++日志库,速度非常快,扩展性很强,更重要的是 社区活跃,文档齐全 。 使用 1. 参考官方的 "example" . 2. {fmt} 的格式使用也需要熟悉一下,毕竟也进 C++20 ...
分类:
其他好文 时间:
2020-01-19 16:36:06
阅读次数:
1143
[TOC] 所需知识 阻塞 线程的运行状态:运行 阻塞 就绪 运行 影响效率 非阻塞 线程的运行状态:运行 就绪 运行 同步 提交一个任务,等待他执行完毕 只有提交的任务执行完毕才能执行其他操作 影响效率 异步 只管提交,不等待他执行完毕 可以直接进行其他操作 IO步骤 1. 数据等待阶段 2. 从 ...
分类:
其他好文 时间:
2020-01-19 12:22:18
阅读次数:
65
一、xtrabackup 简介 xtrabackup 是由percona公司开源免费的数据库热备软件,它能对InnoDB数据库和XtraDB存储引擎的数据库非阻塞地备份,对于myisam的备份同样需要加表锁。mysqldump备份方式是通过用户名密码连接到数据库,将其要备份的数据库用SQL语句的形式 ...
分类:
数据库 时间:
2020-01-18 21:37:10
阅读次数:
155
redis 简介 简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以读写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 ...
分类:
其他好文 时间:
2020-01-18 16:50:52
阅读次数:
106
1.端口号 端口号用于区分使用相同协议的进程。 TCP69 与 UDP69 是不同的。 端口号范围 0 - 65535, 其中 0- 1023 是保留端口。 2.套接字对 TCP服务通过套接字对,唯一识别进程。 如上,服务器fork后,两个子进程都 bind 了 12.106.32.254:21,那 ...
分类:
其他好文 时间:
2020-01-17 09:18:18
阅读次数:
157
redis如此之快,整体来说原因如下 绝大部分请求是纯粹的内存操作(非常快速) 采用单线程,避免了不必要的上下文切换和竞争条件 非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中的读、写、关闭、连接都转化成了事件,然后利用epoll的多路复用特性,绝不在io ...
分类:
其他好文 时间:
2020-01-16 22:05:04
阅读次数:
175
1、NIO和OIO 非阻塞NIO的提出弥补了OIO同步阻塞的不足。 OIO是面向流的,需要顺序的读取字节,不能随意改变读取指针的位置。 NIO是面向缓冲区的,引入Channel和Buffer,可以随意地读取Buffer中任意位置的数据。 NIO通过通道和通道的多路复用技术实现非阻塞(IO多路复用模型 ...
分类:
编程语言 时间:
2020-01-16 10:41:58
阅读次数:
67
BIO (Blocking I/O):同步阻塞I/O模式。 NIO (New I/O):同步非阻塞模式。 AIO (Asynchronous I/O):异步非阻塞I/O模型。 先看阻塞和非阻塞的区别,以烧水为例: 阻塞VS非阻塞:人是否坐在水壶前面一直等。 同步VS异步:水壶是不是在水烧开之后主动通 ...
分类:
其他好文 时间:
2020-01-15 12:18:19
阅读次数:
104