一、Docker底层实现 Docker容器本质上是宿主机上进程 ,核心技术包括Linux上命名空间(namespace)、控制组(cgroups)、UnionFS(联合文件系统)和容器格式(Container format)。Docker通过namespace实现了资源隔离,通过cgoups实现了资源限制,通过写时复制机制实现了高效文件操作。 容器就是一个与宿主机系统共享内核但与系统中
转载 2023-07-25 20:38:08
5阅读
PHP数组底层是怎么实现?数组本质上是一个哈希表(HashTable,定义在$PHP_SOURCE_ROOT\\Zend\\zend_hash.h)。具体实现可以查看 $PHP_SOURCE_ROOT\\ext\\standard\\array.c 和 $PHP_SOURCE_ROOT\\Zend\\ZendAPI.c 。 PHP之所以发现这么迅速,有很大原因是因为数组数据非常好处理,而且它可
转载 2023-12-22 19:15:58
68阅读
大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Server层:包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎功能都在这一层实现,比如存储过程、触发器、视图等。存储引擎层:是一个可插拔设计,也就是我们可以随意选择具体存储引擎。server端通过API与存储引擎进行通信
转载 2023-07-31 20:38:09
141阅读
1. Map接口框架(常用) |----Map:双列数据,存储key-value对数据 —类似于高中函数:y = f(x) |----HashMap:作为Map主要实现类;线程不安全,效率高;存储nullkey和value |----LinkedHashMap:保证在遍历map元素时,可以按照添加顺序实现遍历。 原因:在原有的HashMap底层结构基础上,添加了一对指针,指向前一个和后
1,redis有五种基本数据结构:string、hash、set、zset、list;底层redis是通过c语言来实现这w五种结构,具体是如何实现,我们具体看一下。2,SDS "simple dynamic string",redis中所有场景中出现字符串,基本都是由SDS来实现。非数字key、字符串值类型、非字符串数据类型种字符串值都是SDS实现实现方式: free:还剩多少空间
c语言主要用于底层和驱动,编译器开发c语言高效底层,主要用于底层开发,比如一些系统驱动;unix,linux系统和其上相关应用开发;有很多语言比如python、php、perl、ruby等都是c语言开发这些语言核心库,编译器等开发都是c语言。比如PHP7开发,就基本上全是c语言。还有就是如果某些应用如果对性能要求严格,那这部分可以用c写,然后高级语言调用。c++底层、图像处理、游戏c+
当多个键映射到同一个索引位置时(即发生哈希碰撞),这些键值对会以链表形式存储在这个索引位置对应桶上。红黑
原创 2024-03-08 08:50:05
7阅读
Redis是一个开源、高性能键值对存储系统,常用于缓存、队列等场景。它底层实现是通过数据结构和算法来提高性能和可靠性。本文将介绍Redis底层实现,并通过代码示例来说明其中原理。 ## Redis底层实现 ### 数据结构 Redis内部使用了多种数据结构来存储数据,包括字符串、哈希表、列表、集合、有序集合等。这些数据结构都是基于C语言实现,并且经过了优化以提高性能。下面是一个
原创 2023-09-11 07:13:19
19阅读
Feign底层实现依赖于Java动态代理机制。它对原生Java Socket或者Apache HttpClient进行封装,实现了基于Http协议远程过程调用。Feign还在此基础之上实现了负载均衡、熔断等机制。具体来说,当使用Feign时,会定义对应接口类,在接口类上使用HTTP相关注解,标识HTTP请求参数信息。在Feign底层,通过基于面向接口动态代理方式生成实现类,将请求调用委
原创 2023-12-13 23:53:21
268阅读
# MySQL底层实现 MySQL是一种流行开源关系型数据库管理系统,广泛用于存储、管理和检索数据。为了深入理解MySQL底层实现,我们将讨论其存储引擎、查询处理、事务管理以及索引机制。通过这些知识,我们将能够更好地理解MySQL是如何处理数据。 ## 一、存储引擎 MySQL存储引擎是在物理层面上处理数据方式。每种存储引擎都有不同特性和适用场景。最常用存储引擎有InnoDB
原创 8月前
19阅读
对象在前面的数个章节里, 我们陆续介绍了 Redis 用到所有主要数据结构, 比如简单动态字符串(SDS)、双端链表、字典、压缩列表、整数集合, 等等。Redis 并没有直接使用这些数据结构来实现键值对数据库, 而是基于这些数据结构创建了一个对象系统, 这个系统包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五种类型对象, 每种对象都用到了至少一种我们前面所介绍数据结构
Css一、CSS1、CSS概述2、CSS编写位置3、基本语法4、选择器5、声明6、常用样式7、颜色 一、CSS1、CSS概述在CSS技术诞生之前,页面上定义结构和显示效果代码耦合在一起,开发和维护都非常繁琐。 为了将显示效果设置从HTML代码中抽离出来,并提供更强大表现力,W3C组织制定了CSS标准——Cascading Style Sheet 层叠样式表。2、CSS编写位置1、内部 标签
转载 2023-08-07 15:31:56
52阅读
网络连接层, 对客户端连接处理、安全认证、授权等,每个客户端连接都会在服务端拥有一个线程,每个连接发起查询都会在对应单独线程中执行。服务器上维护一个线程池,避免为每个连接创建和销毁线程。当客户端连接到MySQL服务器时,服务器对其进行认证。可以通过用户名与密码认证,也可以通过SSL证书进行认证。登录认证后,服务器还会验证客户端是否有执行某个查询操作权限。这一层并不是MySQL所特有的技术。
转载 2023-07-13 06:39:34
9阅读
1. HashSet底层原理 基于HashMap实现,HashSet底层使用HashMap来保存所有元素,hashset实现简单,hashset操作是调用底层hashmap方法。默认初始一个容量未16负载因子为0.75hashmap。2. HashMap底层原理 HashMap是基于哈希表Map接口非同步实现。 允许使用null值和null键。无序。 HashMap数据结构“数组+链表+
转载 2023-11-07 06:27:28
55阅读
Java 并发机制底层实现原理Java 代码在编译后会变成 Java 字节码,字节码被类加载器加载到 JVM 里,JVM 执行字节码,最终需要转化为汇编指令在 CPU 上执行,Java 中所使用并发机制依赖于 JVM 实现和 CPU 指令。本章我们将深入底层一起探索下 Java 并发机制底层实现原理。volatile 应用在多线程并发编程中 synchronized 和 volatil
java学习笔记String一、概述: 1)String声明为final,不可被继承 2)String实现了Serializable接口:表示字符串是支持序列化                实现了Comparable接口:表示String可以比
JVM是Java程序运行环境,但是他同时也是一个操作系统一个应用程序一个进程,因此JVM也有他自己运行生命周期,也有自己代码和数据空间。JDK JDK在Java整个体系中充当一个生产加工中心,产生所有的数据输出,是所有指令和战略执行中心。本身还提供了Java完整方案,可以开发目前Java能支持所有应用和系统程序。而之所以现在还会分j2me,j2ee这些类,是把他们用来简化各
转载 2023-08-28 15:21:48
54阅读
基本架构Docker 采用了 C/S架构,包括客户端和服务端。 Docker daemon 作为服务端接受来自客户请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者 RESTful API 来进行通信Docker daemon 一般在宿主主机后台运行,等待接收来自客户端消息。 Docker 客户端
转载 2023-11-28 11:09:44
56阅读
Promise 是一个对象,保存着未来将要结束事件,她有两个特征:    1、对象状态不受外部影响,Promise 对象代表一个异步操作,有三种状态,pending进行中,fulfilled 已成功,rejected 已失败,只有异步操作结果,才可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。    2、一旦状态改变,就不会再变,promis
MySQL 软件提供了一个非常快速、多线程、多用户和健壮 SQL(结构化查询语言)数据库服务器。MySQL Server 旨在用于任务关键型、重负载生产系统以及嵌入到大规模部署软件中。Oracle 是 Oracle Corporation 和/或其附属公司注册商标。MySQL 是 Oracle Corporation 和/或其附属公司商标,未经 Oracle 明确书面授权,客户不得使用。其
  • 1
  • 2
  • 3
  • 4
  • 5