当前位置: 首页 > news >正文

【从零开始学习计算机科学】计算机组成原理(七)存储器与存储器系统

【从零开始学习计算机科学】计算机组成原理(七)存储器与存储器系统

    • 存储器
      • 存储器相关概念
      • 存储器分类
      • 存储器系统
        • 存储器性能指标
        • 存储器层次概述
          • 程序访问的局部性原理
        • SRAM存储器
        • 存储器的读写周期
        • DRAM存储器
        • DRAM控制器
        • 高性能的主存储器
        • 存储器扩展
        • 只读存储器ROM
        • 光擦可编程只读存储器EPROM
        • 电擦可编程只读存储器EEPROM
        • 闪速存储器
        • 存储器校验码
        • Cache
        • 直接映射方式
        • 全相联映射方式
        • 组相联映射方式
        • 替换策略
        • 写操作策略
        • 虚拟存储器

存储器

在现代计算机中,存储器处于全机中心地位,其原因在于当前计算机正在执行的程序和数据(除了暂存于CPU寄存器的)均存放在存储器中。CPU直接从存储器取指令或存取数据。其次,计算机系统中输入输出设备数量增多,数据传送速度加快,因此采用了直接存储器存取(DMA)技术和I/O通道技术,在存储器与输入输出系统之间直接传送数据。还有,共享存储器的多处理机的出现,利用存储器存放共享数据,并实现处理机之间的通信,更加强了存储器作为全机中心的地位。

由于中央处理器都是由高速器件组成,不少指令的执行速度基本上取决于主存储器的速度。所以,计算机解题能力的提高、应用范围的日益广泛和系统软件的日益丰富,无一不与主存储器的技术发展密切相关。

存储器相关概念

  1. 存储器:是计算机系统中的记忆设备,用来存放程序和数据。
  2. 存储元:存储器的最小组成单位,用以存储1位二进制代码。
  3. 存储单元:是CPU访问存储器基本单位,由若干个具有相同操作属性的存储元组成。
  4. 单元地址:在存储器中用以表识存储单元的唯一编号,CPU通过该编号访问相应的存储单元。
  5. 字存储单元:存放一个字的存储单元,相应的单元地址叫字地址。
  6. 字节存储单元:存放一个字节的存储单元,相应的单元地址叫字节地址。
  7. 按字寻址计算机:可编址的最小单位是字存储单元的计算机。
  8. 按字节寻址计算机:可编址的最小单位是字节的计算机。
  9. 存储体:存储单元的集合,是存放二进制信息的地方。

存储器分类

存储器按存储介质分,可以分成半导体存储器和磁表面存储器。半导体存储器用半导体器件组成的存储器。磁表面存储器是用磁性材料做成的存储器。

存储器按存储方式分,可以分成随机存储器和顺序存储器。随机存储器是指任何存储单元的内容都能被随机存取,且存取时间和存储单元的物理位置无关的存储器。顺序存储器是指只能按某种顺序来存取,存取时间和存储单元的物理位置有关的存储器。

存储器按存储器的读写功能分,可以分成ROM和RAM。只读存储器(ROM)是指存储的内容是固定不变的,只能读出而不能写入的半导体存储器。随机读写存储器(RAM)是指既能读出又能写入的半导体存储器。

存储器按信息的可保存性分,可以分成非永久记忆存储器和永久性记忆存储器。非永久记忆的存储器指断电后信息即消失的存储器。永久记忆性存储器指断电后仍能保存信息的存储器。

存储器按在计算机系统中的作用可分为主存储器、辅助存储器、高速缓冲存储器、控制存储器等。

存储器系统

存储器性能指标
  1. 存储容量:存储容量是指一个功能完备的存储器所能容纳的二进制信息总量,即可存储多少位二进制信息代码。一般,存储容量 = 存储字数 × 字长。
  2. 价格:又称成本,它是衡量经济性能的重要指标。设C是存储容量为S位的整个存储器以元计算的价格,可定义存储器成本c为: c = (C / S )元/位。
  3. 速度:存储器的速度有多种指标,以下为一些常见的指标。
    • 存取时间:从读或写存储器开始接到存储器发出完成信号的时间间隔。
    • 存取周期:连续两次访问存储器之间所必需的最短时间。
    • 数据传输率:单位时间可写入存储器或从存储器取出的信息的最大数量,称为数据传输率或称为存储器传输带宽 BM 。一般,BM = W/t_M。其中,存储周期的倒数为1/t_M是单位时间(每秒)内能读写存储器的最大次数。W表示存储器一次读取数据的宽度,即位数,也就是存储器传送数据的宽度。
  4. 可靠性:存储器的可靠行是指在规定时间内存储器无故障的情况,一般用平均无故障时间MTBF来衡量。为提高存储器的可靠性,必须对存储器中存在的特殊问题,采取适当的方法。

当然,衡量存储器性能还有一些其它性能指标,如体积、功耗、重量、使用环境等。我们希望的存储器一般具有以下特点:高速度、大容量、低价格。但是,实际上速度、容量、价格之间存在巨大的矛盾。

存储器层次概述

存储体系是指把各种不同存储容量、不同存取速度、不同价格的存储器,组成层次结构,并通过管理软件和辅助硬件将不同性能的存储器组合成有机的整体,称为计算机的存储层次或存储体系。

在这里插入图片描述

存储器系统的层次结构的特点主要是在任何指定时间,数据只能在相邻的两级之间拷贝。相较每级而言,较高级是指与处理器较近的存储级,其具有容量较小、速度较快、使用较昂贵的技术工艺的特点;较低级是指与处理器较远的存储级,其具有容量较大、速度较慢、使用较廉价的技术工艺的特点。

程序访问的局部性原理

CPU访问存储器时,无论是取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。这种对局部范围的存储器地址频繁访问,而对此范围以外的地址则访问甚少的现象就称为程序访问的局部性原理。

存储器概念下,局部性原理主要分为时间局部性和空间局部性。时间局部性是指如果一个信息项正在被访问,那么在近期它很可能还会被再次访问。(程序循环、堆栈)。空间局部性是指在最近的将来将用到的信息很可能与现在正在使用的信息在空间地址上是临近的。(指令顺序执行、数组存放)。

程序访问的局部性主要表现程序地址的分布是连续的,加上循环程序段和子程序段要重复执行多次,因此,对程序地址的访问具有相对集中的倾向。数据分布的这种集中倾向不如指令明显,但对数组的存储和访问以及工作单元的选择都可以使存储器地址相对集中。数据分布的这种集中倾向不如指令明显,但对数组的存储和访问以及工作单元的选择都可以使存储器地址相对集中。

为了适应程序访问的局部性特点,现代大多数机器都采用了存储器层次结构。在高速机器中,信号传输是延迟的一个重要原因。而大的存储器因地址译码级数多,信号延迟会更大。相同器件条件下,小容量存储器比大容量存储器快。容量小、离CPU近的高速存储器存放最近要访问的数据,即最近可能被访问的数据放在小的但高速存储器里。

存储器层次结构特点:

  1. 包含性,即 M 0 ⊂ M 1 ⊂ M 2 ⊂ . . . ⊂ M n M_0 ⊂ M_1 ⊂ M_2 ⊂ ... ⊂ M_n M0M1M2...Mn。所有信息项最初存放在最外层 M n M_n Mn,在处理过程中,它的子集复制到 M n − 1 M_{n-1} Mn1,同样, M n − 1 M_{n-1} Mn1 的子集复制到 M n − 2 M_{n-2} Mn2... 如果在 M i M_i Mi中找到一个信息字,那么同一个字的复制品在所有的高层 M i + 1 M_{i+1} Mi+1 M i + 2 M_{i+2} Mi+2... M n M_n Mn 中都一定可以找到。
  2. 相邻层之间的数据传送单位不同。CPU与高速缓存的交换单位为字。高速缓存与主存储器之间为块(每块32个字节(8个字))。主存与磁盘之间为页面(比如每页4K字节,包含128块)。磁盘与磁带之间为段。

存储器层次结构的相关概念

  1. 命中:在 M i M_i Mi 中找到一个信息项时,称之为命中,反之称为失效。

  2. 命中率:在 M i M_i Mi 层的命中率 h i h_i hi 则是信息项可在 M i M_i Mi 中找到的概率。

  3. 失效率:在 M i M_i Mi 中的失效率定义为 1 − h i 1 - h_i 1hi

  4. 相继层的命中率:相继层的命中率是存储器容量、管理策略和程序行为的函数,它是独立的随机变量,其值在0到1之间。我们假设 h 0 = 0 h_0 = 0 h0=0 h n = 1 h_n = 1 h

相关文章:

【从零开始学习计算机科学】计算机组成原理(七)存储器与存储器系统

【从零开始学习计算机科学】计算机组成原理(七)存储器与存储器系统 存储器存储器相关概念存储器分类存储器系统存储器性能指标存储器层次概述程序访问的局部性原理SRAM存储器存储器的读写周期DRAM存储器DRAM控制器高性能的主存储器存储器扩展只读存储器ROM光擦可编程只读存储…...

ctf-WEB: 关于 GHCTF Message in a Bottle plus 与 Message in a Bottle 的非官方wp解法

Message in a Bottle from bottle import Bottle, request, template, runapp Bottle()# 存储留言的列表 messages [] def handle_message(message):message_items "".join([f"""<div class"message-card"><div class"me…...

Java集合_八股场景题

Java集合 在Java开发中&#xff0c;集合框架是面试和实际开发中非常重要的内容。以下是一些常见的Java集合八股文问题和场景题&#xff0c;以及详细答案和示例代码。 1. Java集合框架的结构是什么&#xff1f; 答案&#xff1a; Java集合框架主要分为三大接口&#xff1a;Col…...

Scaled_dot_product_attention(SDPA)使用详解

在学习huggingFace的Transformer库时&#xff0c;我们不可避免会遇到scaled_dot_product_attention(SDPA)这个函数&#xff0c;它被用来加速大模型的Attention计算&#xff0c;本文就详细介绍一下它的使用方法&#xff0c;核心内容主要参考了torch.nn.functional中该函数的注释…...

SpringBoot(一)--搭建架构5种方法

目录 一、⭐Idea从spring官网下载打开 2021版本idea 1.打开创建项目 2.修改pom.xml文件里的版本号 2017版本idea 二、从spring官网下载再用idea打开 三、Idea从阿里云的官网下载打开 ​编辑 四、Maven项目改造成springboot项目 五、从阿里云官网下载再用idea打开 Spri…...

初识大模型——大语言模型 LLMBook 学习(一)

1. 大模型发展历程 &#x1f539; 1. 早期阶段&#xff08;1950s - 1990s&#xff09;&#xff1a;基于规则和统计的方法 代表技术&#xff1a; 1950s-1960s&#xff1a;规则驱动的语言处理 早期的 NLP 主要依赖 基于规则的系统&#xff0c;如 Noam Chomsky 提出的 生成语法&…...

Array and string offset access syntax with curly braces is deprecated

警告信息 “Array and string offset access syntax with curly braces is deprecated” 是 PHP 中的一个弃用警告&#xff08;Deprecation Notice&#xff09;&#xff0c;表明在 PHP 中使用花括号 {} 来访问数组或字符串的偏移量已经被标记为过时。 背景 在 PHP 的早期版本…...

27. Harmonyos Next仿uv-ui 组件NumberBox 步进器组件禁用状态

温馨提示&#xff1a;本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦&#xff01; 文章目录 1. 组件介绍2. 效果展示3. 禁用状态设置3.1 整体禁用3.2 输入框禁用3.3 长按禁用 4. 完整示例代码5. 知识点讲解5.1 禁用状态属性5.2 禁用…...

Java高频面试之集合-08

hello啊&#xff0c;各位观众姥爷们&#xff01;&#xff01;&#xff01;本baby今天来报道了&#xff01;哈哈哈哈哈嗝&#x1f436; 面试官&#xff1a;详细说说CopyOnWriteArrayList CopyOnWriteArrayList 详解 CopyOnWriteArrayList 是 Java 并发包&#xff08;java.util…...

做到哪一步才算精通SQL

做到哪一步才算精通SQL-Structured Query Language 数据定义语言 DDL for StructCREATE&#xff1a;用来创建数据库、表、索引等对象ALTER&#xff1a;用来修改已存在的数据库对象DROP&#xff1a;用来删除整个数据库或者数据库中的表TRUNCATE&#xff1a;用来删除表中所有的行…...

SpringAI介绍及本地模型使用方法

博客原文地址 前言 Spring在Java语言中一直稳居高位&#xff0c;与AI的洪流碰撞后也产生了一些有趣的”化学反应“&#xff0c;当然你要非要说碰撞属于物理反应也可以&#xff0c; 在经历了一系列复杂的反应方程后&#xff0c;Spring家族的新成员——SpringAI&#xff0c;就…...

空指针异常的触发

面向对象分析&#xff1a; 当你要吃饭&#xff0c;饭是对象&#xff0c;提供吃饭这个功能&#xff0c;所以饭为null时&#xff0c;你去调吃饭这个功能&#xff0c;就是去操作饭这个抽象模型&#xff0c;但这个模型是null&#xff0c;就是空指针异常了&#xff0c;但如果有了饭…...

尚硅谷爬虫note15n

1. 多条管道 多条管道开启&#xff08;2步&#xff09;&#xff1a; (1)定义管道类 &#xff08;2&#xff09;在settings中开启管道 在pipelines中&#xff1a; import urllib.request # 多条管道开启 #(1)定义管道类 #&#xff08;2&#xff09;在setti…...

基于SSM+Vue的汽车维修保养预约系统+LW示例

1.项目介绍 系统角色&#xff1a;管理员、员工、用户功能模块&#xff1a;用户管理、员工管理、汽车类型管理、项目类型管理、维修/预约订单管理、系统管理、公告管理等技术选型&#xff1a;SSM&#xff0c;vue&#xff08;后端管理web&#xff09;&#xff0c;Layui&#xff…...

【商城实战(13)】购物车价格与数量的奥秘

【商城实战】专栏重磅来袭&#xff01;这是一份专为开发者与电商从业者打造的超详细指南。从项目基础搭建&#xff0c;运用 uniapp、Element Plus、SpringBoot 搭建商城框架&#xff0c;到用户、商品、订单等核心模块开发&#xff0c;再到性能优化、安全加固、多端适配&#xf…...

在线json转ArkTs-Harmonyos

轻松将 JSON 数据转换为类型安全的 ArkTs 接口。快速准确地生成代码&#xff0c;提升开发效率&#xff0c;告别手动编写&#xff0c;让您的开发流程更加流畅&#xff01; gotool...

Cannot resolve symbol ‘view‘ Androidstudio报错解决办法

报错原因 出现 Cannot resolve symbol view 错误是因为代码中的 view 变量未正确定义或不在当前作用域内。以下是常见场景和解决方法&#xff1a; 场景 1&#xff1a;在 点击事件监听器 中获取 view 如果代码在 OnClickListener 的 onClick 方法中&#xff0c;view 是方法的参…...

三级缓存架构

三级缓存架构是一种通过分层缓存设计来优化系统性能、降低数据库负载、提高数据访问效率的解决方案&#xff0c;尤其适用于高并发、高吞吐量的业务场景&#xff08;如电商、社交平台、实时推荐等&#xff09;。其核心思想是通过多级缓存逐层过滤请求&#xff0c;减少对底层存储…...

webshell一些上传心得

我们以upload-labs为基础 一、前端拦截&#xff1a; 如第一关 工作方式&#xff1a; 直接在前端拦截 绕过方式&#xff1a; 因为没有限制后端&#xff0c;所有可以用bs 绕过前端修改格式即可 将需要上传的php文件改成jpg格式 使用burp suite 拦截上传后&#xff0c;使用re…...

doris:阿里云 MaxCompute

MaxCompute 是阿里云上的企业级 SaaS&#xff08;Software as a Service&#xff09;模式云数据仓库。 什么是 MaxCompute 连接 MaxCompute​ 示例​ -- 1. 创建Catalog。 CREATE CATALOG mc PROPERTIES ("type" "max_compute","mc.default.projec…...

MyBatis-Plus 分页查询接口返回值问题剖析

在使用 MyBatis-Plus 进行分页查询时,很多开发者会遇到一个常见的问题:当分页查询接口返回值定义为 Page<T> 时,执行查询会抛出异常;而将返回值修改为 IPage<T> 时,分页查询却能正常工作。本文将从 MyBatis-Plus 的分页机制入手,详细分析这一问题的根源,并提…...

【面试】框架

框架 1、介绍一下Spring 的 IOC2、将一个类声明为 Bean 的注解有哪些3、Bean 的作用域有哪些4、Spring 框架中的 Bean 是线程安全的吗5、Spring 容器对象的懒加载6、Spring 容器中的 bean 生命周期7、谈谈自己对于 Spring DI 的了解8、注入 Bean 的注解有哪些9、Spring Boot 如…...

MWC 2025 | 紫光展锐联合移远通信推出全面支持R16特性的5G模组RG620UA-EU

2025年世界移动通信大会&#xff08;MWC 2025&#xff09;期间&#xff0c;紫光展锐联合移远通信&#xff0c;正式发布了全面支持5G R16特性的模组RG620UA-EU&#xff0c;以强大的灵活性和便捷性赋能产业。 展锐芯加持&#xff0c;关键性能优异 RG620UA-EU模组基于紫光展锐V62…...

《苍穹外卖》SpringBoot后端开发项目重点知识整理(DAY1 to DAY3)

目录 一、在本地部署并启动Nginx服务1. 解压Nginx压缩包2. 启动Nginx服务3. 验证Nginx是否启动成功&#xff1a; 二、导入接口文档1. 黑马程序员提供的YApi平台2. YApi Pro平台3. 推荐工具&#xff1a;Apifox 三、Swagger1. 常用注解1.1 Api与ApiModel1.2 ApiModelProperty与Ap…...

Mysql内置函数

日期函数&#xff1a; 例如&#xff1a; select current_date();---打印日期 select current_time()----打印时间 select current_timestamp();打印时间戳 select now(); ----日期时间 select date(‘2020-10-01 00:00:00’); ----提取日期进行打印&#xff1a; 也可以配合…...

一文了解汽车图像传感器

2024年底,安森美做了题为"How Automotive Image Sensors Transform the Future of Autonomous Driving"的演讲,这里结合其内容对自动驾驶图像传感器做一个介绍。 当前的自动驾驶感知技术主要有两大技术路线:一种是仅使用摄像头作为传感器进行信息采集的纯…...

cocos creator使用mesh修改图片为圆形,减少使用mask,j减少drawcall,优化性能

cocos creator版本2.4.11 一个mask占用drawcall 3个以上&#xff0c;针对游戏中技能图标&#xff0c;cd,以及多玩家头像&#xff0c;是有很大优化空间 1.上代码&#xff0c;只适合单独图片的&#xff0c;不适合在图集中的图片 const { ccclass, property } cc._decorator;c…...

面向高质量视频生成的扩散模型方法-算法、架构与实现【附核心代码】

目录 算法原理 架构 代码示例 算法原理 正向扩散过程&#xff1a;从真实的视频数据开始&#xff0c;逐步向其中添加噪声&#xff0c;随着时间步 t 的增加&#xff0c;噪声添加得越来越多&#xff0c;最终将原始视频数据变成纯噪声。数学上&#xff0c;t 时刻的视频数据与 t…...

vue3框架的响应式依赖追踪机制

当存在一个响应式变量于视图中发生改变时会更新当前组件的所以视图显示&#xff0c;但是没有视图中不写这个响应式变量就就算修改该变量也不会修改视图&#xff0c;这是为什么&#xff1f;我们能否可以理解宽泛的理解为vue组件的更新就是视图的更新&#xff0c;单当视图中不存在…...

Ubuntu本地部署Open manus(完全免费可用)

目录 1.介绍 2.环境搭建 3.更改配置 4.运行 1.介绍 关于由于邀请码的限制&#xff0c;导致很多用户无法顺利体验manus带来的ai agent体验&#xff0c;但是最近开源的open manus是另一个不错的选择。 先来看看运行的结果&#xff1a; 我让open manus帮我打开小米的主页&am…...

MacOS Big Sur 11 新机安装brew wget python3.12 exo

MacOS Big Sur 11,算是很老的系统了&#xff0c;所以装起来brew有点费劲。 首先安装brew 官网&#xff1a; /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 官网加速&#xff1a; 按照官网的方法&#xff0…...

基于USB Key的Web系统双因素认证解决方案:构建安全与便捷的登录体系

摘要 在网络安全威胁日益严峻的背景下&#xff0c;传统的“用户名密码”认证方式已难以应对钓鱼攻击、密码窃取等风险。上海安当基于USB Key技术&#xff0c;推出了一套面向Web系统的双因素认证解决方案&#xff0c;通过硬件与密码学的深度融合&#xff0c;实现用户身份的高强度…...

项目工坊 | Python驱动淘宝信息爬虫

目录 前言 1 完整代码 2 代码解读 2.1 导入模块 2.2 定义 TaoBao 类 2.3 search_infor_price_from_web 方法 2.3.1 获取下载路径 2.3.2 设置浏览器选项 2.3.3 反爬虫处理 2.3.4 启动浏览器 2.3.5 修改浏览器属性 2.3.6 设置下载行为 2.3.7 打开淘宝登录页面 2.3.…...

数据安全_笔记系列12:数据访问控制中的三个管理员权限划分

数据安全_笔记系列04&#xff1a;数据访问控制中的“三权分立”机制详解 文章链接&#xff1a;https://blog.csdn.net/fen_fen/article/details/145852242 数据安全_笔记系列12&#xff1a;数据访问控制中的三个管理员权限划分 这三个角色的职责和权限划分。 系统应具有相互独…...

通义千问本地配置并实现微调

通义千问本地配置并实现微调 最小Qwen模型大小942mb from modelscope import snapshot_download model_dir = snapshot_download(“qwen/Qwen2.5-0.5B”, cache_dir=“./models2.5”) Qwen2.5-0.5B:942MB from modelscope import snapshot_download model_dir = snapshot_d…...

文件上传漏洞(upload靶场)

目录 Pass-01&#xff1a;前端绕过 方法一&#xff1a;浏览器禁用js 方法二:直接修改或删除js脚本 方法三&#xff1a;修改后缀绕过 Pass-02:服务器检测 Pess-03:黑名单绕过 Pass-04:.htaccess文件 Pass-05:windows特性和user.ini 方法一&#xff1a;php.自动解析为ph…...

Leetcode 刷题记录 05 —— 普通数组

本系列为笔者的 Leetcode 刷题记录&#xff0c;顺序为 Hot 100 题官方顺序&#xff0c;根据标签命名&#xff0c;记录笔者总结的做题思路&#xff0c;附部分代码解释和疑问解答。 目录 01 最大子数组和 方法一&#xff1a;动态规划&#xff08;卡达尼算法&#xff09; 方法…...

随机过程的核心概念与Matlab实现

摘要 本文系统讲解随机过程的核心理论与Matlab实现&#xff0c;涵盖随机变量分布、蒙特卡罗仿真、信息熵计算及平稳过程特性。通过高斯、瑞利分布的生成代码、蒙特卡罗积分估计、窄带信号仿真等案例&#xff0c;结合功率谱分析与自相关函数推导&#xff0c;演示随机过程建模与…...

git worktree的使用

git worktree 是 Git 提供的一个强大功能&#xff0c;允许你在同一个仓库中同时创建多个工作目录&#xff0c;每个目录对应一个分支&#xff0c;从而实现并行开发。以下是 git worktree 的常用命令和使用方法&#xff1a; 1. 创建新的工作目录&#xff08;Worktree&#xff09…...

delphi 正则提取html中的内容

function ExtractTextFromHTML(const HTML: string): string; var RegEx: TRegEx; begin Result := HTML; // 移除<script>标签及其内容 Result := TRegEx.Replace(Result, <script.*?>.*?</script>, , [roIgnoreCase, roSingleLine]); // 移除<s…...

深度学习系列79:Text2sql调研

参考 https://github.com/topics/text-to-sql 这里是一些资源&#xff1a;https://github.com/eosphoros-ai/Awesome-Text2SQL/blob/main/README.zh.md 这里是综述文章&#xff1a;https://zhuanlan.zhihu.com/p/647249972 1. 数据集 Spider: 一个跨域的复杂text2sql数据集&a…...

分布式锁—5.Redisson的读写锁一

大纲 1.Redisson读写锁RedissonReadWriteLock概述 2.读锁RedissonReadLock的获取读锁逻辑 3.写锁RedissonWriteLock的获取写锁逻辑 4.读锁RedissonReadLock的读读不互斥逻辑 5.RedissonReadLock和RedissonWriteLock的读写互斥逻辑 6.写锁RedissonWriteLock的写写互斥逻辑…...

【AI热点】Manus技术细致洞察报告(篇2)

针对大家对Manus产品褒贬不一的现象&#xff0c;基于近期对Manus的多方实测、公开信息与开源竞品的比对分析而撰写&#xff0c;旨在为从业者、技术爱好者以及潜在用户提供一个较为系统、专业的视角。报告将围绕Manus的核心原理、功能特点、技术亮点、常见应用场景与不足&#x…...

虚幻基础:动画层接口

文章目录 动画层&#xff1a;动画图表中的函数接口&#xff1a;名字&#xff0c;没有实现。动画层接口&#xff1a;由动画蓝图实现1.动画层可直接调用实现功能2.动画层接口必须安装3.动画层默认使用本身实现4.动画层也可使用其他动画蓝图实现&#xff0c;但必须在角色蓝图中关联…...

C#的简写技巧

在C#中&#xff0c;有许多简写技巧可以让你的代码更加简洁高效&#xff0c;以下是一些常见的&#xff1a; 1. 变量声明与初始化 使用 var 关键字 &#xff1a;当你能从初始化表达式中推断出变量类型时&#xff0c;可以使用 var 关键字代替显式的类型声明。例如&#xff1a; va…...

【js逆向】

地址&#xff1a;aHR0cHM6Ly93d3cud2VpYm90b3AuY24vMi4wLw f12进入 debugger&#xff0c;过debugger 查看预览数据 全局搜索 请求网址中的 api.weibotop.cn 在下方疑似找到了加密和解密的函数 断点调试 控制台输出 那个n就是 常见的 cryptoJs库 const cryptoJs require(cry…...

汽车一键启动按钮更换注意事项

汽车一键启动开关更换教程 一键启动开关是现代汽车中常见的便捷配置&#xff0c;但随着时间的推移&#xff0c;这个部件可能会出现失灵的情况。当一键启动开关发生故障时&#xff0c;许多车主选择自行更换。以下是整理的一键启动开关更换教程&#xff1a; 更换前的准备 选择匹…...

为wordpress自定义一个留言表单并可以在后台进行管理的实现方法

要为WordPress添加留言表单功能并实现后台管理&#xff0c;你可以按照以下步骤操作&#xff1a; 1. 创建留言表单 首先&#xff0c;你需要创建一个留言表单。可以使用插件(如Contact Form 7)或手动编写代码。 使用Contact Form 7插件 安装并激活Contact Form 7插件。 创建…...

Hive函数、外部表和分区表

目录 1. Hive自定义函数1.1 pom.xml中依赖配置1.2 Hive自定义函数示例代码1.3 打包并演示 2. 外部表3. 分区表参考 1. Hive自定义函数 Hive中简单的自定义函数需要继承org.apache.hadoop.hive.ql.udf.generic.GenericUDF&#xff0c;并且实现其中的三个方法&#xff1a; 方法功…...

再聊 Flutter Riverpod ,注解模式下的 Riverpod 有什么特别之处,还有发展方向

三年前我们通过 《Flutter Riverpod 全面深入解析》 深入理解了 riverpod 的内部实现&#xff0c;而时隔三年之后&#xff0c;如今Riverpod 的主流模式已经是注解&#xff0c;那今天就让我们来聊聊 riverpod 的注解有什么特殊之处。 前言 在此之前&#xff0c;我们需要先回忆…...