数据结构
-
如何在Linux上添加路由?
在添加路由之前,我们需要先了解一些基本概念。 基本概念 什么是路由? 路由是指确定数据包从源节点到目的节点的路径的过程。这个过程涉及到在网络中的多个节点之间选择最佳路径,以确保数据…
-
[网络]网卡是如何接受数据包的
网卡是如何将数据帧发送到网络层 本文章内容参考:深入理解Linux网络。 看计算机底层的前提基础是我们有某个方面的知识不是很理解,从而根据这个点在去理解该技术的基础底层,这样的话学…
-
深入理解Epoll工作原理.
内核是如何和用户进程协作的. 本文参考张彦飞老师的 《深入理解Linux网络:修炼底层内功,掌握高性能原理》。 读完本文将会收获一下内容:(安安静静的读完、思考完) 一…
-
Linux内核是如何将用户态数据包通过中断来配合网卡将数据包发送到目标机器上
Linux 内核是如何将用户进程的数据包通过各个中断来配合网卡发送到目标机器上. 本文内容参考张彦飞老师的 <深入理解Linux网络:修炼底层内功,掌握高性能原理> 收…
-
深入浅出Golang内存分配模型
深入浅出 Golang 内存分配模型 本文深入Golang Runtime 源码层面分析 Golang 内存分配模型,从最基础的出发为什么要关注堆上内存开始进行分析,到最终的内存分…
-
深入浅出Redis
一、Redis基本工作原理 Redis 命令执行流程和线程模型之前有分享过(http://openxm.cn/#/article/info.html?149),这里在简单梳理一下:…
-
Linux 内核发送数据的过程
这篇文章讲解了 OS 是如何将数据发送到网络中去的实现细节。 发送数据的过程 在 Linux 网络协议栈中,数据的发送过程是一个逐层封装的过程,也就是说,数据在每一层都会添加相应的…
-
Linux 内核接收数据的过程
这篇文章讲解了 OS 接收到数据包后一系列的处理流程。 接收数据的过程 在 Linux 网络协议栈中,数据的接收过程是一个逐层解封装的过程,也就是说,数据在每一层都会去除相应的头部…
-
Java四种引用的区别?
在Java中,对象的引用类型对垃圾回收器的影响非常大。Java中主要有四种类型的引用:强引用、软引用、弱引用和虚引用。 四种引用的区别? 强引用是最强的,如果一个对象具有强引用,那…
-
PHP使用JSON Schema进行JSON数据验证和类型检查
什么是JSON Schema? JSON Schema是一个用于描述和验证JSON数据结构的规范。JSON Schema可以验证JSON数据是否符合指定的模式、类型和约束条件,同时…
-
Redis中5大常见数据类型的用法
上一篇文章我们讲了Redis的10大应用场景,这一篇文章就针对Redis的常用数据结构进行一个说明,通过示例的形式演示每一种数据结构如何使用。 当涉及Redis的数据操作时,不同数…
-
100余行代码,纯web技术一起实现摄像头和麦克风视频录制,并带历史记录功能
如题,今天我们用纯web技术,实现摄像头+麦克风 视频的录制功能,代码约100余行, 主要涉及的知识点: MediaDevices[1]提供对连接的媒体输入设备(如照相机和麦克风)…
-
再谈Typescript 中的 interface 和 type 的区别
• 区别: • 声明合并(Declaration Merging): • 基础类型与复杂类型的扩展: • 映射类型(Mapped Types…
-
es6 如何解构数组
• ES6 如何解构数组 • ES6 解构操作 • 对象解构: • 数组解构: • Map结构数据解构: • ES6 …
-
web前端算法简介之树-二叉树
• 二叉树 VS 多叉树 • 二叉树 • 多叉树 • 二叉树遍历 • 二叉树的前序遍历 • 二叉树的中序遍历 •&nbs…
-
python函数如何返回多个值
写在前面 这是一个好问题,但是在解答之前我们先看看 python 的数据结构–元组。什么是元组?想象一下,你有一个盒子,你把不同的物品放进盒子里并盖上盖子,现在它装着一…