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

汇编指令(20250319)

SOC常用总线

  1. AHB(Advanced High-performance Bus):先进高性能总线,连接RAM,ROM等高速设备
  2. APB(Advanced Peripheral Bus):先进外设总线,连接外设等一些低速设备

CISC和RISC

        CISC(Complex Instruction Set Computer):复杂指令集计算机,对软件兼容性要求较高、需要处理复杂任务的场景,如桌面计算机、服务器等。因为 CISC 架构可以兼容大量的传统软件,并且能够通过复杂指令实现高效的处理

        RISC(Reduced Instruction Set Computer):精简指令集计算机,移动设备、嵌入式系统等对功耗、成本和面积要求较高的领域得到广泛应用。同时,由于其高效的执行速度,也逐渐在高性能计算领域崭露头角

ARM内部结构

                ARM属于RISC,CPU内部结构如下

1. ALU (Arithmetic Logic Unit)算术逻辑单元

        进行算术运算和逻辑运算

2. 特殊功能寄存器

        通用寄存器(R0 - R12):数据的存储和传递

2.1 PC(Program Counter)

        程序计数器是一个特殊的寄存器,主要用于存储下一条将要执行的指令的地址。在计算机执行程序期间,它会持续跟踪指令的执行顺序,保证程序能够按顺序依次执行指令

2.2 SP(Stack Pointer)

        栈指针寄存器,指向当前栈(LIFO)的栈顶的位置,内存中被用作临时存储区域,用于存放函数调用时的局部变量、返回地址、寄存器的值等信息

2.3 CPSR(Current Program Status Register)

        当前程序状态寄存器,存储与处理器相关的状态信息,这些信息会影响指令的执行方式和程序的流程。它可以控制处理器的工作模式、反映指令执行结果的状态,还能处理中断等异常情况。CPSR关键位段如下

2.3.1 条件标志位(Condition Flags)

N(Negative)符号标志位:运算结果的最高位为 1 时,N 被置为 1,表示结果为负数;反之则置为 0,表示结果为正数或零

Z(Zero)零标志位:运算结果为零,Z 被置为 1;否则置为 0

C(Carry)进位标志位:在加法运算中,如果产生进位,或者在减法运算中没有借位,C 被置为 1;反之置为 0。在移位操作中,它还能保存移出的位

V(Overflow)溢出标志位:溢出标志位。当算术运算产生溢出时,V 被置为 1;否则置为 0

2.3.2 控制位(Control Bits)

I(Interrupt Disable):中断禁止位。当 I 置为 1 时,禁止 IRQ(普通中断请求);置为 0 时,允许 IRQ

F(Fast Interrupt Disable):快速中断禁止位。当 F 置为 1 时,禁止 FIQ(快速中断请求);置为 0 时,允许 FIQ

T(Thumb State):Thumb 状态位。用于指示处理器当前处于 ARM 状态(T = 0)还是 Thumb 状态(T = 1)。ARM 状态下执行 32 位指令,Thumb 状态下执行 16 位指令。

2.3.3 模式位(Mode Bits)

        CPSR 的低 5 位(bit [4:0])用于定义处理器的工作模式,常见的工作模式有7种

  • 用户模式(User,USR):正常程序执行的模式
  • 快速中断模式(Fast Interrupt Request,FIQ):用于处理快速中断
  • 外部中断模式(Interrupt Request,IRQ):用于处理普通中断
  • 管理模式(Supervisor,SVC):操作系统使用的模式,用于处理复位软件中断(SWI)
  • 数据访问终止模式(Abort,ABT):用于处理数据访问异常
  • 未定义指令终止模Undefined,UND):用于处理未定义指令异常
  • 系统模式(System,SYS):与用户模式类似,但具有更高的权限,可用于操作系统任务

        不同模式下,使用的寄存器可能不尽相同

SPSR(Saved Program Status Register)备份程序状态寄存器

        SPSR 用于在异常发生时保存 CPSR 的值。当处理器进入异常模式时,需要保存当前的程序状态,以便在异常处理结束后能够恢复到异常发生前的状态继续执行程序。SPSR 就是为了实现这一功能而存在

异常向量表
  • 当异常发生时,硬件会根据异常类型生成一个对应的向量号
  • 以向量号作为索引,在异常向量表中查找对应的程序入口地址
  • 找到地址后,CPU执行相应的异常处理操作

高速缓存(Cache)

        高速缓存是一种高速的静态随机存储器(SRAM),位于处理器内核和主存储器之间,用于存储最近使用过的数据和指令。其目的是减少处理器访问主存储器的时间,提高系统的性能。

  • 指令缓存(I - Cache):专门用于存储指令,当处理器需要执行指令时,首先从指令缓存中查找,如果找到则直接使用,避免了从主存储器中读取指令的延迟。
  • 数据缓存(D - Cache):用于存储数据,处理器在进行数据读写操作时,先访问数据缓存,提高数据访问的速度。

        哈佛架构:两个独立的存储器

        冯诺依曼架构:共用一个存储器

        个人计算机常用冯诺依曼架构,架构简单、成本低,易于实现

        超级计算机,高性能图形处理器常采用哈佛架构,并行处理能力强,执行效率高

内存管理单元(MMU)

        MMU 主要存在于一些高端的 ARM 处理器中,如 Cortex - A 系列。它的主要功能是将虚拟地址转换为物理地址,实现虚拟内存管理。

  • 虚拟地址空间:为每个进程提供独立的虚拟地址空间,使得多个进程可以同时运行而互不干扰。
  • 内存映射:MMU 通过页表将虚拟地址映射到物理地址,页表存储在主存储器中,MMU 会根据需要访问页表进行地址转换。

NOR FLASH和NAND FLASH

        两种常见的非易失性闪存技术

  • NOR FLASH:可被寻址,用于存程序文件
  • NAND FLASH:不可被寻址,用于硬盘,U盘和SD卡等,存数据

常用汇编指令

MOV(Move)

MOV{条件}{S} 目标寄存器, 源操作数

        把一个源操作数传送到目标寄存器。源操作数可以是立即数、寄存器或者经过移位操作后的寄存器值

  • {条件}:是可选的,用于指定指令执行的条件,例如 EQ(相等)、NE(不相等)等
  • {S}:也是可选的,若指定了 S,则会更新 CPSR(当前程序状态寄存器)中的条件标志位

 

ADD(Addition)

ADD{条件}{S} 目标寄存器, 操作数1, 操作数2

        将两个操作数相加,然后把结果存到目标寄存器。操作数可以是寄存器或者立即数。

SUB(Subtraction)

SUB{条件}{S} 目标寄存器, 操作数1, 操作数2

        用操作数 1 减去操作数 2,再把结果存到目标寄存器。操作数可以是寄存器或者立即数。

BIC(Bit Clear)

BIC{条件}{S} 目标寄存器, 操作数1, 操作数2

        对操作数 1 和操作数 2 进行按位与非操作,也就是将操作数 2 中为 1 的位对应的操作数 1 中的位清零,然后把结果存到目标寄存器。

ORR(OR Register)

ORR{条件}{S} 目标寄存器, 操作数1, 操作数2

        对两个操作数进行按位或操作,然后把结果存到目标寄存器。操作数可以是寄存器或者立即数

CMP(Compare)

CMP{条件} 操作数 1, 操作数 2

        CMP 指令的主要功能是对两个操作数进行比较,它通过用操作数 1 减去操作数 2,不过并不保存相减的结果,而是根据相减的结果来更新 CPSR(当前程序状态寄存器)中的条件标志位。这些条件标志位后续可用于条件分支指令,以此实现程序的条件执行

关于立即数

        立即数是一个直接嵌入在指令中的常量值,立即数通常以 # 符号开头,可采用十进制、十六进制等形式表示

        32 位指令中的立即数需遵循特定的编码规则。它由一个 8 位的常数和一个 4 位的移位值构成。具体规则如下:

  • 8 位常数的取值范围是 0 到 255
  • 移位值表示将这个 8 位常数循环右移的位数,且移位值必须是偶数。

例如,#0xFF 是合法的立即数,它可表示为 8 位常数 0xFF,移位值为 0;而 #0x101 是非法的立即数,因为它无法用一个 8 位常数和一个偶数移位值来表示

判断立即数

  • 如果某个数的数值范围是0~0xFF之间,那么这个数一定是立即数;
  • 把某个数展开成2进制,这个数的最高位1至最低位1之间的二进制数序列的位数不能超过8位;
  • 这个数的二进制序列凑够8位之后的的右边必须为偶数个连续的 0

关于入栈和出栈

增(减)栈:入栈时,栈顶指针自增的栈,减栈反之

空(满)栈:栈顶指针指向的位置不同

ARM处理器属于满减栈

        使用STMFD(Store Multiple Full Descending)和LDSFD(Load Multiple Full Descending)来进行入栈操作和出栈操作

  • STMFDSTMFD{条件} 栈指针, {寄存器列表}
  • LDMFDLDMFD{条件} 栈指针, {寄存器列表}

入栈和出栈应保持次数一致,元素一致 

  • {条件}:是可选的,用于指定指令执行的条件,例如 EQ(相等)、NE(不相等)等。
  • 栈指针:通常是 SP(栈指针寄存器)。
  • 寄存器列表:由多个寄存器名组成,用逗号分隔,并用大括号括起来。例如 {R0 - R3} 表示寄存器 R0 到 R3

        SP!,保持操作完成后,更新栈顶指针

B(Branch)

B{条件} 目标地址

  • {条件}:这是可选部分,用于指定指令执行的条件。常见的条件码有 EQ(相等,对应 Z 标志位为 1)、NE(不相等,对应 Z 标志位为 0)、GT(大于)、LT(小于)等。当指定了条件码时,只有条件满足,跳转操作才会执行;若不指定条件码,则是无条件跳转。
  • 目标地址:可以是一个标签,也可以是一个相对地址。标签是在汇编代码中定义的一个标识符,用于标记代码中的某个位置;相对地址则是相对于当前指令地址的偏移量。

C函数与汇编函数的调用 

        BL会在指令跳转之前将下一行指令的地址给LR,B不会

        GUN规定,主调函数负责保护现场和回复现场

        发生函数的嵌套调用时,R14(LR)也应进行入栈保护,否则在LR会被覆盖,恢复现场时位置异常

        当汇编调C函数时,传参小于等于4个时,使用R0到R3寄存器进行传参,函数的返回值在R0中,当函数传参大于4个时,多出的参数所在的寄存器需要入栈、出栈以栈传参的方式保护数据

汇编调C函数

  • import导入C函数的入口地址
  • B(L) 跳转C函数

C函数调汇编

  • extern函数
  • 在汇编函数中,汇编中export导出函数

相关文章:

汇编指令(20250319)

SOC常用总线 AHB(Advanced High-performance Bus):先进高性能总线,连接RAM,ROM等高速设备APB(Advanced Peripheral Bus):先进外设总线,连接外设等一些低速设备 CISC和R…...

PlainUSR|LIA: 追求更快的卷积网络实现高效的超分辨率重建

PlainUSR|LIA: 追求更快的卷积网络实现高效的超分辨率重建 引言 在深度学习领域,图像处理始终是一个热门话题。而超分辨率重建(Super-Resolution Reconstruction, SR)作为其中一个重要的研究方向,旨在通过算法将低分辨率图像恢复…...

神经网络基础之正则化

引言:正则化 (Regularization) 是机器学习中一种用于防止模型过拟合技术。核心思想是通过在模型损失函数中添加一个惩罚项 (Penalty Term),对模型的复杂度进行约束,从而提升模型在新数据上的泛化…...

JAVA序列化与反序列化URLDNS链CC1链

1、序列化的实现 java序列化的是对象属性的,只有实现了Serializable或者Externalizable接口的类的对象才能被序列化为字节序列。(不是则会抛出异常),静态成员变量是属于类的,所以静态成员变量是不能被序列化的&#x…...

孤儿进程和僵尸进程

本文讲述了什么是孤儿进程和僵尸进程,会带来怎样的问题以及如何处理 一、孤儿进程 1)什么是孤儿进程 孤儿进程,顾名思义,就是父进程提前终止,但是子进程还在运行中,父进程无法对子进程进行监管&#…...

用ASCII字符转化图片

代码 from PIL import Image# 定义 ASCII 字符集,从最暗到最亮 ASCII_CHARS "%#*-:. "def resize_image(image, new_width100):width, height image.sizeratio height / widthnew_height int(new_width * ratio)resized_image image.resize((new_wi…...

从WebRTC到嵌入式:EasyRTC如何借助大模型提升音视频通信体验

随着人工智能技术的快速发展,WebRTC与大模型的结合正在为音视频通信领域带来革命性的变革。WebRTC作为一种开源实时通信技术,以其低延迟、跨平台兼容性和强大的音视频处理能力,成为智能硬件和物联网设备的重要技术支撑。 而EasyRTC作为基于W…...

自动化测试工具-Playwright介绍和快速实例

Playwright 是什么 Playwright 是由 Microsoft 开发的开源自动化测试工具,专为现代 Web 应用设计。它支持 Chromium、Firefox 和 WebKit 内核的浏览器,能够跨平台(Windows、macOS、Linux)运行,提供强大的浏览器自动化能力,适用于测试、爬虫和监控等场景。 Playwright的…...

Java:Apache HttpClient中HttpRoute用法的介绍

当使用Apache HttpClient组件时,经常会用到它的连接池组件。典型的代码如下: PoolingHttpClientConnectionManager connectionManager new PoolingHttpClientConnectionManager();connectionManager.setMaxTotal(httpConfig.getMaxPoolTotal());connect…...

万字长文详解|蚂蚁数据湖深度探索与业务应用实践

作者介绍:黄超傑,蚂蚁数据智能部实时数据团队数据研发工程师,致力于数据湖技术在蚂蚁落地应用、蚂蚁广告实时数仓建设、蚂蚁数据成本治理等工作。 在开始之前 如果: 你想要提升数据时效,能够接受分钟级延迟你好奇准实…...

rk3568 以太网eth1 , 定制板 phy调试问题。

问题: 客户定制底板的 phy 网络不通。 解决逻辑: phy 问题, 就是 照着 公司底板对硬件就行,完全是硬件问题,不用改 软件。 原理图如下:...

React相关面试题

以下是150道React面试题及其详细回答,涵盖了React的基础知识、组件、状态管理、路由、性能优化等多个方面,每道题目都尽量详细且简单易懂: React基础概念类 1. 什么是React? React是一个用于构建用户界面的JavaScript库&#xff…...

IT工具 | node.js 进程管理工具 PM2 大升级!支持 Bun.js

P(rocess)M(anager)2 是一个 node.js 下的进程管理器,内置负载均衡,支持应用自动重启,常用于生产环境运行 node.js 应用,非常好用👍 🌼概述 2025-03-15日,PM2发布最新版本v6.0.5,这…...

php 高性能,高并发,有哪些框架,扩展,推荐一下,或者技术的实现有哪些

以下是针对PHP高性能、高并发场景的框架、扩展及技术实现推荐,结合最新技术趋势和行业实践进行总结: 一、高性能框架推荐 1. C扩展类框架 YAF (Yet Another Framework) 特点:由C语言编写,直接嵌入PHP内核,仅提供核心M…...

golang单机锁实现

1、锁的概念引入 首先,为什么需要锁? 在并发编程中,多个线程或进程可能同时访问和修改同一个共享资源(例如变量、数据结构、文件)等,若不引入合适的同步机制,会引发以下问题: 数据竞…...

面试中JVM常被问到的问题以及对应的答案

在面试中,关于JVM常被问到的问题以及对应的答案可能包括: 什么是JVM?它的作用是什么? 答:JVM是Java虚拟机的缩写,是Java程序运行的环境。它负责将Java源代码编译成字节码并运行在不同平台上。 请解释一下J…...

算法——广度优先搜索——跨步迷宫

原题链接 思路:找出最短路径,然后判断是否存在连续三个点是横纵坐标相等的,如果有就步数减1 但是有两个样例过不了 错误原因:在错误的测试案例中,最短路径可能有多条,而我刚好选了一条比较曲折的&#x…...

Python pyqt+flask做一个简单实用的自动排班系统

这是一个基于Flask和PyQt的排班系统,可以将Web界面嵌入到桌面应用程序中。 系统界面: 功能特点: - 读取员工信息和现有排班表 - 自动生成排班表 - 美观的Web界面 - 独立的桌面应用程序 整体架构: 系统采用前后端分离的架构…...

链表操作:分区与回文判断

目录 链表分区(Partition) 功能概述 代码实现 要点与难点 注意事项 链表回文判断(PalindromeList) 功能概述 代码实现 要点与难点 注意事项 总结 在链表相关的算法问题中,理解链表的基本结构和操作至关重要…...

基于大模型的腮腺多形性腺瘤全周期诊疗方案研究报告

目录 一、引言 1.1 研究背景与目的 1.2 研究现状与趋势 二、大模型预测原理与方法 2.1 大模型概述 2.2 数据收集与预处理 2.3 模型训练与优化 三、术前预测与评估 3.1 肿瘤特征预测 3.2 风险评估 3.3 案例分析 四、术中方案制定与实施 4.1 手术方案选择 4.2 面神…...

Vue3 界面设计插件 microi-pageengine 入门教程一

系列文章目录 一、Vue3空项目快速集成 microi-pageengine 插件 文章目录 系列文章目录一、前言二、排版布局2.1 功能导航区2.2 组件容器区2.3 属性面板区 三、数据来源配置3.1 json数据源3.2 html数据源 四、事件穿透五、数据保存持久化六、总结 一、前言 上一篇文章介绍了 v…...

如何选择合适的SSL服务器证书

在数字化时代,网络安全已成为企业不可忽视的重要环节。SSL(Secure Sockets Layer,安全套接层)服务器证书作为保障网站数据传输安全的关键工具,其选择和使用至关重要。 一、SSL证书类型:基础与进阶 SSL证书…...

STC89C52单片机学习——第26节: [11-2]蜂鸣器播放音乐

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做! 本文写于:2025.03.19 51单片机学习——第26节: [11-2]蜂鸣器播放音乐 前言开发板说明引用解答和科普一…...

ABC396题解

A 算法标签: 模拟 问题陈述 给你一个长度为 N N N 的整数序列: A ( A 1 , A 2 , … , A N ) A (A_1, A_2, \ldots, A_N) A(A1​,A2​,…,AN​)。 请判断在 A A A 中是否有相同元素连续出现三次或三次以上的位置。 更正式地说,请判断是否存在一个整…...

如何用Python和Selenium实现表单的自动填充与提交?

在今天的数字化时代,自动化工具可以极大地提高工作效率。很多人可能会觉得填表单是个繁琐的任务,不过你知道吗?用Python和Selenium可以轻松解决这一问题!本文将带你走进如何利用这两个强大的工具,实现表单的自动填充和…...

使用`plot_heatmap`绘制热力图时

在Python中,使用plot_heatmap绘制热力图时,颜色图例(colorbar)的定制化设置是关键步骤。以下是实现方法及优化建议: 一、基础图例绘制 自动生成颜色条 使用seaborn.heatmap()时,默认会生成颜色条&#xff0…...

极简桌面待办清单软件,❌不会增加工作量

工作邮件、会议安排、生活琐事……事情多到根本记不住,又怕错过重要事项,焦虑感油然而生。相信这是很多职场朋友遇到的问题,也急需一款好用的极简桌面待办清单软件来辅助我们。 今天我要给大家推荐一款拯救我们于水火的神器——好用便签&…...

QT学习笔记4

一、音视频播放(Qt Multimedia) 1. 多媒体框架架构 核心类关系 : mermaid #mermaid-svg-mwHLYcpaJDU14uFM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-mwHLYcpaJDU14uFM .e…...

软考 中级软件设计师 考点知识点笔记总结 day06

文章目录 6、树和二叉树6.1、树的基本概念6.2、二叉树的基本概念6.3、二叉树的遍历6.4、查找二叉树(二叉排序树)BST6.5、构造霍夫曼树6.6、线索二叉树6.7、 平衡二叉树 7、 图7.1 、 存储结构 - 邻接矩阵7.2 、 存储结构 - 邻接表7.3、图的遍历7.4、拓扑…...

爬虫基础之爬取猫眼Top100 可视化

网站: TOP100榜 - 猫眼电影 - 一网打尽好电影 本次案例所需用到的模块 requests (发送HTTP请求) pandas(数据处理和分析 保存数据) parsel(解析HTML数据) pyecharts(数据可视化图表) pymysql(连接和操作MySQL数据库) lxml(数据解析模块) 确定爬取的内容: 电影名称 电影主演…...

微信小程序面试内容整理-如何使用wx.request()进行网络请求

wx.request() 是微信小程序中用于发送网络请求的 API,类似于浏览器中的 fetch 或 XMLHttpRequest。通过 wx.request(),开发者可以向服务器发送 HTTP 请求,获取数据或者提交数据。 基本用法 wx.request() 通过提供一个配置对象来进行配置,配置对象中包括请求的 URL、请求方法…...

力扣100二刷——图论、回溯

第二次刷题不在idea写代码,而是直接在leetcode网站上写,“逼”自己掌握常用的函数。 标志掌握程度解释办法⭐Fully 完全掌握看到题目就有思路,编程也很流利⭐⭐Basically 基本掌握需要稍作思考,或者看到提示方法后能解答⭐⭐⭐Sl…...

该错误是由于`KuhnMunkres`类未定义`history`属性导致的

该错误是由于KuhnMunkres类未定义history属性导致的。以下是具体分析及解决方案: 错误原因分析 属性缺失 代码中试图访问km.history,但KuhnMunkres类未在初始化或算法执行过程中定义该属性,因此触发AttributeError。动画实现逻辑不完整 用户…...

DAPO:一个开源的大规模大型语言模型LLM强化学习系统

推断扩展赋予了大型语言模型前所未有的推理能力,强化学习作为激发复杂推理的核心技术,清华大学联合字节提出了解耦片段与动态采样策略优化(DAPO)算法,并全面开源了一个最先进的大规模强化学习系统,该系统使用Qwen2.5-32B基础模型在AIME 2024上取得了50分的高分。还开源了…...

数据结构中的引用管理对象体系

数据结构中的引用管理对象体系 (注:似复刻变量即实例对象) 引用管理对象的,有引用就能管理到它所指向的对象,我们拿引用最终的目的就是管理那些我们需要管理的最终直接对象,引用也是对象,同时…...

【自学笔记】智能合约基础知识点总览-持续更新

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 智能合约基础知识点总览目录1. 智能合约简介2. 以太坊与Solidity示例代码:Hello World智能合约 3. Solidity基础语法示例代码:简单的计数器合…...

Linux的Shell编程

一、什么是Shell 1、为什么要学习Shell Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理。 对于JavaEE和Python程序员来说,工作的需要。Boss会要求你编写一些Shell脚本进行程序或者是服务器的维护,比如编写一个…...

【八股文】volatile关键字的底层原理是什么

volatile只能保证可见性和有序性 volatile如何保证可见性 当对volatile变量进行写操作的时候,JVM会向处理器发送一条lock前缀的命令,将这个缓存中的变量会写到系统内存中。 所以,如果一个变量被volatile所修饰,每次数据变化之后…...

一种基于大规模语言模型LLM的数据分析洞察生成方法

从复杂数据库中提取洞察对数据驱动决策至关重要,但传统手动生成洞察的方式耗时耗力,现有自动化数据分析方法生成的洞察不如人工生成的有洞察力,且存在适用场景受限等问题。下文将介绍一种新的方法,通过生成高层次问题和子问题,并使用SQL查询和LLM总结生成多表数据库中的见…...

三大供应链管理模式——解决方案与实操案例详解

库存压到喘不过气,紧急订单却总赶不上交付?这是许多企业的真实困境——推式供应链盲目备货导致积压,拉式供应链又因响应慢而丢单。供应链管理,本质上是在“计划”与“变化”之间把握平衡。上篇文章,我们系统梳理了供应…...

【C++】STL库面试常问点

STL库 什么是STL库 C标准模板库(Standard Template Libiary)基于泛型编程(模板),实现常见的数据结构和算法,提升代码的复用性和效率。 STL库有哪些组件 STL库由以下组件构成: ● 容器&#xf…...

集成学习之随机森林

目录 一、集成学习的含义 二、集成学习的代表 三、集成学习的应用 1、分类问题集成。(基学习器是分类模型) 2、回归问题集成。(基学习器是回归模型) 3、特征选取集成。 四、Bagging之随机森林 1、随机森林是有多个决策树&a…...

【SpringBatch】03步骤对象 (Step)控制与执行流程设计

目录标题 六、步骤对象 Step6.1 步骤介绍6.2 简单Tasklet6.3 chunk居于块Tasklet**ChunkTasklet 泛型** 6.4 步骤监听器6.5 多步骤执行6.6 步骤控制6.6.1 条件分支控制-使用默认返回状态6.6.2 条件分支控制-使用自定义状态值 6.7 步骤状态6.8 流式步骤 六、步骤对象 Step 前面…...

走进Java:String字符串的基本使用

❀❀❀ 大佬求个关注吧~祝您开心每一天 ❀❀❀ 目录 一、什么是String 二、如何定义一个String 1. 用双引号定义 2. 通过构造函数定义 三、String中的一些常用方法 1 字符串比较 1.1 字符串使用 1.2 字符串使用equals() 1.3 使用 equalsIgnoreCase() 1.4 cpmpareTo…...

AI如何变革亚马逊广告投放?DeepBI的智能优化解析

在亚马逊平台上,广告投放的方式正经历着从人工精细化运营到AI自动化优化的深刻变革。传统的广告投放依赖人工操作,涉及海量数据分析、手动调价、竞价策略优化等环节,既耗时又易受人为因素影响。而AI驱动的智能投放系统,如DeepBI&a…...

小程序电子画册制作,用户体验为王!

家人们,现在小程序电子画册超火,不管是展示产品还是分享故事都超实用。但在小程序电子画册制作过程中,用户体验真的得好好考量!今天就和大家唠唠这其中的门道。 1、加载速度:快才是王道 打开小程序的瞬间&#xff0c…...

【商城实战(49)】解锁小程序端适配与优化,让商城飞起来

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

英伟达GTC 2025大会产品全景剖析与未来路线深度洞察分析

【完整版】3月19日,黄仁勋Nvidia GTC 2025 主题演讲|英伟达 英伟达GTC 2025大会产品全景剖析与未来路线深度洞察分析 一、引言 1.1 分析内容 本研究主要采用了文献研究法、数据分析以及专家观点引用相结合的方法。在文献研究方面,广泛收集了…...

《TCP/IP网络编程》学习笔记 | Chapter 19:Windows 平台下线程的使用

《TCP/IP网络编程》学习笔记 | Chapter 19:Windows 平台下线程的使用 《TCP/IP网络编程》学习笔记 | Chapter 19:Windows 平台下线程的使用内核对象内核对象的定义内核对象归操作系统所有 基于 Windows 的线程创建进程与线程的关系Windows 中线程的创建方…...

线性规划的基本解、基本可行解和可行解

在线性规划中,基本解、基本可行解和可行解是非常重要的概念,特别是在使用单纯形法求解时。下面详细解释这些概念,并说明如何计算它们。 1. 线性规划问题的标准形式 线性规划的标准形式为: 其中: A 是 mn 的矩阵&…...