- 博客(22)
- 收藏
- 关注
原创 函数调用与程序栈详解
理解函数调用和程序栈的相关概念对于编写高效的代码至关重要。函数调用:程序中调用另一个函数来执行特定任务。程序栈:用于存储函数调用信息的数据结构,遵循 LIFO 原则。栈帧:存储单个函数调用的所有相关信息。压栈和出栈:栈的基本操作,用于管理函数调用的生命周期。栈溢出:程序栈空间耗尽的情况,常见于无限递归或过深的递归。函数内联:编译器优化技术,减少函数调用的开销。叶子函数:不调用其他函数的函数,更容易被内联。
2025-02-28 11:36:07
883
原创 指令跳转与寄存器详解
指令跳转是计算机体系结构中的一个重要概念,它允许程序根据特定条件或无条件地改变程序执行的顺序。指令跳转通常涉及以下几个关键寄存器和机制:指令地址寄存器(Program Counter, PC)、指令寄存器(Instruction Register, IR)、条件码寄存器(Condition Code Register, CCR)等。本文将详细解释这些概念,并通过示例展示如何在汇编语言和 Java 代码中实现条件跳转。
2025-02-28 11:35:15
655
原创 计算机指令及其在软硬件接口中的作用
计算机指令是二进制编码的命令,由CPU读取并执行。每条指令通常包含操作码(Opcode)和操作数(Operand)。操作码指定了要执行的操作类型,而操作数则指定了操作的数据或目标位置。计算机指令是计算机系统中执行特定操作的基本命令。通过解析和执行这些指令,CPU能够完成数据处理、数据传输、程序控制等任务。指令的类型包括算术类指令数据传输类指令逻辑类指令条件分支类指令和无条件跳转指令。每种指令都有其特定的功能,共同构成了计算机程序的执行基础。
2025-02-14 16:53:07
1300
原创 提升CPU性能的多方面策略
然而,随着频率的提升,功耗和散热问题也会变得更加突出。综上所述,提升CPU性能需要从多个角度出发,结合硬件设计创新和软件层面的优化。随着摩尔定律逐渐失效,未来的发展趋势将更加注重架构创新和异构计算的融合。流水线技术将指令执行过程分解成若干个阶段,使得每个阶段可以在不同的时间点处理不同的指令,从而提高指令吞吐量。通过充分利用多核架构,可以显著提高系统的整体吞吐量。预测技术用于猜测未来可能发生的事件,以便提前做好准备。识别并优先处理最可能发生的情况,可以减少不必要的分支预测错误和缓存未命中。
2025-02-14 16:51:22
801
原创 CPU 主频与性能的关系
CPU 主频:决定了 CPU 每秒钟可以执行的时钟周期数,主频越高,CPU 执行指令的速度越快。CPU 时钟:CPU 内部时钟信号的周期,通过高精度的晶体振荡器和锁相环,确保 CPU 时钟的稳定性和准确性。响应时间:从执行一条指令到该指令完成所需的时间,与 CPI 和 CPU 主频有关。吞吐率:单位时间内 CPU 可以执行的指令数量,与 CPU 主频和 CPI 有关。CPI:每条指令平均需要的时钟周期数,CPI 越低,CPU 执行指令的效率越高。
2025-02-12 17:45:41
881
原创 Java 中的封装,继承,多态
封装:通过隐藏对象的内部实现细节,保护对象的完整性。继承:通过继承父类的属性和方法,实现代码的重用和层次化结构。多态:通过不同的对象调用相同的方法,实现灵活和可扩展的代码。
2025-02-12 14:25:20
373
原创 冯·诺依曼体系结构
冯·诺依曼体系结构是现代计算机体系结构的基础,定义了计算机的基本组成和工作原理。控制单元负责协调和控制计算机的各个部件按指令要求执行操作,而算术逻辑单元负责执行算术和逻辑运算。虽然存在一些缺点,但其“存储程序”的思想和单一存储器设计极大地简化了计算机设计,提高了灵活性和适应性。随着技术的发展,现代计算机体系结构在保持冯·诺依曼体系结构核心思想的基础上,不断改进和扩展,以克服其缺点,提高性能和效率。
2025-02-12 11:31:14
1365
原创 计算机的基本硬件组成
计算机的基本硬件组件包括 CPU、内存、主板、显卡和 I/O 设备等。每个组件都有其特定的作用,共同协作完成各种计算任务。CPU:负责执行计算任务和逻辑操作,是计算机的“大脑”。内存:用于存储正在运行的程序和数据,提供快速读写能力。主板:连接计算机各硬件组件,提供电源和扩展插槽。显卡:处理和渲染图形图像,支持 3D 加速和多显示器显示。I/O 设备:包括输入设备(键盘、鼠标等)和输出设备(显示器、打印机等),用于用户交互和结果展示。
2025-02-11 17:49:20
1129
原创 Java中 == 和 equals 的区别
2. equals 方法比较对象内容: 方法用于比较两个对象的内容是否相同。默认情况下,Object 类的 方法也是比较对象的引用,但许多类(如 , , 等)重写了 方法,使其比较对象的实际内容。可重写:子类可以重写 方法以实现特定的比较逻辑。示例代码3. 详细说明== 运算符对象引用比较:即使 s1 和 s2 的内容相同,它们指向的是不同的对象,因此 返回 。即使 s1 和 s2 的内容相同,它们指向的是不同的对象,因此 返回 。默认情况下,Object 类的
2024-11-15 18:08:46
553
原创 Java中访问修饰符的区别
public修饰符使成员或类在任何地方都可访问。private修饰符使成员仅在定义它的类内部可访问。protected修饰符使成员在同一个包内或不同包中的子类中可访问。默认(不写)修饰符使成员仅在同一个包内可访问。
2024-11-04 17:53:11
295
原创 Java中this super关键字的用法
this关键字:引用当前对象的实例变量。调用当前对象的方法。调用当前类的构造器。super关键字:引用父类的实例变量。调用父类的方法。调用父类的构造器。
2024-11-04 17:52:15
364
原创 Java 中 & 和 && 以及 | 和 || 的区别
& 和 || 主要用于布尔逻辑运算,具有短路特性,能够提高效率和安全性。& 和 | 除了用于布尔逻辑运算外,还可以用于按位运算,或者在需要确保两边表达式都被计算的情况下使用。选择合适的运算符取决于具体的使用场景和需求。在大多数情况下,使用 && 和 || 可以避免不必要的计算和潜在的异常,但在需要确保所有表达式都被计算的场景中,使用 & 和 | 更为合适。
2024-10-26 14:57:40
2206
原创 Java 控制流语句详解:break, continue, return 及标签的使用
在编程中,break, continue, 和 return 是常用的控制流语句,用于改变程序的执行顺序。本文将详细介绍这三个关键字的区别及作用,并通过代码示例进行说明。此外,还将介绍如何使用标签(label)来更灵活地控制多层循环的退出。
2024-10-26 14:54:49
945
原创 Java中 ArrayList 与 LinkedList 的区别
ArrayList优点:快速的随机访问,适合查找操作。缺点:插入和删除操作较慢,特别是中间位置。适用场景:需要快速随机访问的场景。LinkedList优点:高效的插入和删除操作。缺点:查找操作较慢。适用场景:需要频繁插入和删除的场景。
2024-10-14 20:49:33
342
原创 Java中泛型的详细介绍及代码示例
在Java中,泛型是一种允许程序员编写类型安全的类或方法的特性。通过使用泛型,你可以创建可以重用的组件,这些组件可以在运行时处理多种数据类型。本文将详细介绍Java中的泛型,并提供具体的代码示例帮助理解。
2024-10-14 16:11:19
463
原创 Java中父类引用指向子类对象
假设一下,现在眼前有各种各样的玩具,比如玩偶,奥特曼,巴士、飞机、轮船等。为了方便管理和展示,你决定把这些玩具按照类别进行分类,比如将交通工具都放置在一个箱子里。
2024-08-22 18:38:33
985
原创 Docker常用的基本查看命令
说明:命令用于列出 Docker 容器的状态。这个命令可以显示正在运行的容器,默认情况下只显示运行中的容器。
2024-08-16 17:33:53
3505
1
原创 Java中的数据类型详解
Java是一种静态类型的编程语言,它的数据类型可分为两大类:基本数据类型(primitive types)和引用数据类型(reference types)。本文将详细介绍Java中常见的数据类型,包括它们的定义、使用方法以及示例。
2024-04-17 23:05:14
279
1
原创 centos8安装图解
centos8安装图解第一步:下载ISO文件第二步:Vmware Workstation15新建虚拟机,基础配置第一步:下载ISO文件链接: https://mirrors.aliyun.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso阿里下载站,下载速度比较快一点。第二步:Vmware Workstation15新建虚拟机,基础配置选择自定义。直接下一步。选择稍后安装操作系统。选择Linux,版本选择Cen
2020-06-26 18:13:31
1942
Java程序串口通信的开源库
2025-03-01
Java 反编译工具,win版,版本1.5.1
2025-02-28
Snipaste截图工具,win版
2025-02-28
Snipaste截图软件,win版
2025-02-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人