- 博客(653)
- 收藏
- 关注
原创 【Java Stream详解】
Java Stream 是 Java 8 引入的一项强大特性,主要用于处理集合数据。它提供了类似于函数式编程的方式,使代码更加简洁、易读,同时提高了效率。本文将详细介绍 Stream 的基本概念、常用操作、使用场景。Stream过滤、映射、排序、统计、收集等。Stream 提供了链式操作方式,使代码简洁且易读。Stream 提供了简洁、易读的集合操作方式,常用于数据过滤、映射、聚合等操作。中间操作返回新的流对象,不执行终端操作不会触发计算。终端操作触发流的计算并返回结果。并行流。
2025-04-04 18:18:39
444
原创 【Java网络编程详解】
Java网络编程是开发分布式应用程序的重要技能,它通过套接字(Socket)进行数据传输,支持TCP和UDP协议。本文将介绍Java网络编程的基础知识,包括Socket、ServerSocket、TCP通信、UDP通信、常用类和示例代码。网络编程是指在计算机之间通过网络进行数据传输和通信的编程方式。Java提供了强大的java.net包,封装了底层的网络协议,简化了网络编程。:面向连接,可靠传输,保证数据按序到达,适合文件传输、Web通信等。:面向无连接,不可靠但速度快,适合视频通话、广播消息等。
2025-04-04 18:14:25
377
原创 【计算机网络应用层】
应用层是计算机网络体系结构的最高层,负责为用户提供网络服务。常见的应用层协议包括 HTTP、FTP、DNS、SMTP、POP3、IMAP 等,它们支撑着互联网的各种服务,如网页浏览、文件传输、电子邮件等。本文将详细介绍计算机网络应用层的功能、主要协议及其工作原理。应用层协议是计算机网络的重要组成部分,常见的 HTTP、DNS、FTP、SMTP 等协议支撑着互联网服务。应用层的协议模型主要包括C/S(客户端-服务器)和P2P。在现代互联网环境下,安全性是应用层协议设计的重要考虑因素。知识点总结✅。
2025-04-03 09:06:11
861
原创 【计算机网络中的网桥设备】
在计算机网络中,网桥(Bridge)是一种用于连接两个或多个网络段的设备,能够在数据链路层(OSI 模型的第二层)工作。透明网桥是最常见的一种网桥,它在网络中是透明的,不会影响网络的逻辑拓扑结构。此类网桥主要用于 Token Ring 网络中,数据帧的源设备负责提供完整的路径信息,而网桥根据路径信息进行转发。网桥在接收到数据帧时,会检查帧的源 MAC 地址,并将其存入 MAC 地址表中,同时记录该设备所在的端口。在企业网络或校园网中,网桥可以用于连接多个网络段,扩展网络的覆盖范围,同时减少网络拥塞。
2025-04-03 09:00:16
530
原创 【操作系统分页存储管理方式详解】
在现代操作系统中,分页存储管理是一种重要的内存管理技术,它能够高效地管理进程的内存使用,避免外部碎片,提高内存利用率。本文将详细介绍分页存储管理的基本概念、工作原理、页表管理以及其优缺点。分页存储管理(Paging)是一种将进程的逻辑地址空间划分成固定大小的页(Page),并将物理内存划分成相同大小的页框(Frame),进程的页可以被映射到物理内存的任意页框中。分页存储管理是一种高效的内存管理方式,它通过将逻辑地址空间划分为固定大小的页,并利用页表进行地址映射,从而提高了内存的利用率,并支持进程的动态扩展。
2025-04-02 09:57:50
900
原创 【闭包详解与应用】
闭包是编程语言中一个重要的概念,尤其在 JavaScript、Python 和 Go 等语言中广泛应用。它能够在函数内部保存局部变量的状态,使得变量在函数调用后依然能够被访问。闭包(Closure)是指函数与其相关的引用环境组合而成的实体。在大多数语言中,闭包允许你在外部函数执行完毕后,依然能够访问该函数的局部变量。函数嵌套:闭包必须包含在另一个函数中。外层变量的引用:闭包能够访问外层函数作用域中的变量。数据持久化:即使外层函数已经执行完毕,闭包仍然能够引用并保持外层变量的状态。闭包的核心特性。
2025-04-02 09:52:42
902
原创 【操作系统中的信号量机制】
在多任务操作系统中,进程同步与互斥是关键问题,而信号量(Semaphore)是一种常见的同步机制。本文将介绍信号量的概念、分类、实现方式以及典型应用案例,帮助理解信号量在进程间同步与互斥中的作用。信号量是用于进程同步的机制,提供P(wait)和V(signal)操作。计数信号量允许多个进程访问资源,而二进制信号量用于互斥控制。通过等待队列和进程阻塞/唤醒机制实现信号量。信号量常用于互斥访问、生产者-消费者、读者-写者等经典同步问题。信号量 vs 互斥锁。
2025-04-01 10:18:00
991
原创 【操作系统内存管理】
内存管理是操作系统中的核心功能之一,它负责为进程分配和回收内存,同时提供内存保护与共享机制。本文将介绍内存管理的主要内容,包括内存分配、内存保护、地址映射、分页与分段机制,以及虚拟内存等内容。
2025-03-31 13:35:03
523
原创 【Python 面向对象编程 (OOP) 详解】
Python 是一门支持多种编程范式的语言,其中面向对象编程 (OOP) 是其核心特性之一。OOP 通过“类”和“对象”来组织代码,使其更加模块化、可复用和易维护。本篇博客将详细介绍 Python 的面向对象编程,包括类的定义、继承、多态、封装等概念,并提供实战案例。面向对象编程 (OOP, Object-Oriented Programming) 是一种以“对象”为核心的编程思想。它通过封装 (Encapsulation)继承 (Inheritance)和多态 (Polymorphism)
2025-03-31 13:30:23
1032
原创 【C语言动态开辟内存空间】
动态内存分配允许程序在运行时申请和释放内存,以灵活管理数据。malloc():分配指定字节的内存,但不会初始化。calloc():分配指定数量和大小的内存,并将内存初始化为0。realloc():调整已经分配的内存大小。free():释放分配的内存。代码区:存放程序的可执行代码。静态区:存放全局变量和静态变量。栈区:由编译器自动分配和释放,主要用于存放函数参数、局部变量和返回地址。堆区:由程序员手动分配和释放,用于存放动态分配的内存。动态内存分配。
2025-03-30 10:11:30
896
原创 【数据结构之二叉搜索树(BST)】
在数据结构中,二叉搜索树(Binary Search Tree,简称 BST)是一种非常重要的树形结构。它在查找、插入和删除操作中具有良好的性能,广泛应用于数据库索引、内存管理、集合操作等场景。本文将详细介绍 BST 的概念、基本操作、实现方式及其复杂度分析。每个节点最多有两个子节点,分别是左子节点和右子节点。左子树上所有节点的值均小于根节点的值。右子树上所有节点的值均大于根节点的值。左右子树本身也是二叉搜索树。
2025-03-30 10:07:41
737
原创 【C语言中的结构体详解】
在C语言中,结构体(struct)是一种自定义的数据类型,可以将不同类型的数据组合在一起。结构体的使用可以让程序更清晰、易维护,特别适合表示复杂的数据,如学生信息、商品信息等。在C语言中,使用structstruct 结构体名 {数据类型 成员名1;数据类型 成员名2;...// 定义结构体int age;// 声明结构体变量并初始化// 赋值// 打印结构体成员printf("姓名: %s\n", s1.name);printf("年龄: %d\n", s1.age)
2025-03-29 10:11:15
489
原创 【C语言中联合体(共用体)详解】
在C语言中,联合体(union),又称为共用体,是一种特殊的数据结构。它与结构体类似,但所有成员共享同一块内存,因此可以在不同时间存储不同类型的数据。联合体在节省内存和处理多态数据时非常有用。在C语言中,使用unionunion 联合体名 {数据类型 成员1;数据类型 成员2;...✅int i;float f;");// 查看内存大小printf("sizeof(data) = %lu 字节\n", sizeof(data));return 0;✅。
2025-03-29 10:08:16
770
原创 【操作系统中银行家算法避免死锁】
在操作系统中,死锁是一种常见的并发问题。当多个进程因竞争资源而相互等待,且无法继续执行时,就会发生死锁。为了避免死锁,银行家算法(Banker’s Algorithm)应运而生。这是一种资源分配和死锁避免的算法,能够在资源请求时动态判断是否会导致系统进入不安全状态,从而决定是否分配资源。死锁指的是一组进程因争夺资源而相互等待,导致无法继续执行的现象。互斥条件:资源一次只能由一个进程使用。占有且等待条件:进程已经持有资源,同时等待其他资源。不可剥夺条件:进程已占有的资源不能被强行剥夺。循环等待条件。
2025-03-28 10:17:31
759
原创 【操作系统中的进程】
在操作系统中,进程(Process)是程序在运行时的基本单位。它是资源分配和调度的最小单位,也是操作系统进行并发执行的基础。本篇博客将介绍进程的基本概念、进程状态、进程控制块(PCB)、进程调度及进程通信等内容。进程是程序在数据集合上的一次运行过程,是程序的执行实例。程序代码:存储指令和数据。数据集合:运行时所需的数据(变量、缓冲区等)。进程控制块(PCB):记录进程信息,如进程状态、优先级、寄存器状态等。✅进程 vs 程序程序是静态的代码集合,只占用磁盘空间;进程。
2025-03-28 10:13:51
681
原创 【Python迭代器详解】
在 Python 中,迭代器是一种可以逐个访问元素的对象,常用于遍历容器(如列表、元组、字典等)。理解迭代器有助于编写高效、内存友好的代码,特别是在处理大数据或流数据时。本文将介绍 Python 中迭代器的概念、工作原理、常用方法以及自定义迭代器的实现。在 Python 中,我们可以通过实现__iter__()和__next__()方法来自定义迭代器。# 使用自定义迭代器print(num, end=" ") # 输出:0 1 1 2 3 5 8 13 21 34。
2025-03-27 10:24:42
561
原创 【Python网络编程基础】
模块用于实现底层的网络编程,支持 TCP 和 UDP 协议通信。UDP 不需要建立连接,适合实时性要求高的场景,但数据不可靠。网络通信协议是计算机之间通信时遵循的规则。在网络编程中,使用多线程或多进程可以提高并发性能。Python 提供了。
2025-03-27 10:21:31
867
原创 【计算机网络ICMP协议详解】
在计算机网络中,ICMP协议(Internet Control Message Protocol,互联网控制报文协议)是一种非常重要的协议。它是TCP/IP协议族中的一部分,主要用于在IP网络中传递差错报告和控制信息。我们常用的ping命令就依赖于 ICMP 协议来检测网络连通性。ICMP协议的工作原理报文格式常见类型和代码使用示例与分析ICMP 协议属于网络层协议报告 IP 数据报在传输过程中遇到的差错情况。提供诊断和调试功能,如ping和traceroute命令。
2025-03-26 10:26:19
1334
原创 【计算机网络之以太网详解】
以太网是一种基于分组交换和共享信道的计算机网络技术。它采用CSMA/CD(载波监听多路访问/冲突检测)机制进行介质访问控制,虽然现代交换式以太网已基本摒弃了 CSMA/CD,但它仍是以太网发展历史的重要组成部分。以太网标准由 IEEE 802.3 工作组制定,目前广泛使用的是10Mbps、100Mbps、1Gbps、10Gbps 及以上速率的以太网。本文介绍了以太网的基本概念,包括帧结构、MAC 地址、交换机工作原理、VLAN 以及以太网的演进。
2025-03-26 10:23:48
1414
原创 【计算机网络编码与调制】
在计算机网络通信中,编码与调制是将数据转化为信号并在物理介质上传输的重要技术。编码负责将数据映射为比特序列,而调制则将比特序列转换为可传输的模拟或数字信号。本文将介绍计算机网络中的编码与调制技术,涵盖它们的基本概念、分类及常见应用。编码与调制是计算机网络中数据传输的关键技术。编码将数据映射为比特流,而调制将比特流映射为信号进行传输。不同的编码与调制方式在抗干扰能力、带宽利用率和传输距离上各有优缺点。
2025-03-25 10:07:18
1007
原创 【计算机网络中的奈氏准则与香农定理】
在计算机网络中,数据的传输速率与信道的特性密切相关。为了衡量信道的最大传输能力,我们需要借助奈氏准则和香农定理这两个重要理论。这两个定理在数据通信领域中广泛应用,能够帮助我们评估信道带宽、噪声以及信道容量的关系。奈氏准则适用于无噪声信道,数据速率取决于带宽和码元电平。香农定理适用于有噪声信道,数据速率取决于带宽和信噪比。在实际通信中,香农定理更具实用性,因为现实信道不可避免地存在噪声。提高数据传输速率的方式:增加带宽(奈氏和香农均适用)提高信噪比(香农定理适用)
2025-03-25 10:02:43
1134
原创 【操作系统中文件共享】
在操作系统中,文件共享允许多个用户或程序访问同一文件,从而提高数据的复用性和协作效率。文件共享在分布式系统、网络存储和多用户系统中尤为常见。本文将介绍文件共享的基本概念、实现方式、访问控制、共享带来的问题及其解决方案。文件共享是指多个用户或进程可以同时或先后访问同一个文件。共享可以是本地共享(如同一台计算机上的多个用户)或远程共享(如通过网络访问共享文件)。
2025-03-24 15:09:56
1049
原创 【ctype.h 头文件中的字符测试函数详解】
在 C 语言中,ctype.h头文件提供了一系列用于测试和处理字符的函数,主要用于判断字符的类别,如字母、数字、空白字符等。这些函数在文本处理、解析和输入验证等场景中非常有用。ctype.h字符测试函数:用于检查字符是否属于某一特定类别(如字母、数字、空格等)。字符转换函数:用于将字符转换为大写或小写(如toupper()和tolower()本篇文章重点介绍字符测试函数。
2025-03-24 13:09:36
825
原创 【操作系统中文件和文件系统详解】
在计算机操作系统中,文件和文件系统是数据存储与管理的核心组件。文件作为数据存储的基本单位,承载着用户信息、程序、配置等各种内容。而文件系统则负责组织、管理和检索文件,提供访问控制和安全机制。本文将详细介绍文件的概念、文件属性与结构、文件操作、文件访问控制以及常见的文件系统类型。文件(File)是操作系统对磁盘上数据的逻辑抽象,它是一组相关信息的有序集合。文本数据(如配置文件、日志文件)二进制数据(如可执行程序、图像)结构化数据(如数据库文件)文件系统(File System)是操作系统中用于。
2025-03-23 11:17:04
699
原创 【计算机网络运输层详解】
计算机网络运输层(Transport Layer)位于网络层之上、应用层之下,在整个网络协议栈中起着承上启下的作用。它为应用进程提供端到端的数据传输服务,并确保数据能够可靠或高效地传送到目标主机。运输层在计算机网络中负责主机之间的数据传输。它通过 TCP 和 UDP 提供可靠或高速的传输服务,同时通过流量控制与拥塞控制保障网络稳定性。✅TCP 适合可靠性要求高的场景如文件传输、邮件、Web 浏览。✅UDP 适合实时性要求高的场景如视频会议、语音通话、在线游戏。
2025-03-23 11:11:52
1252
原创 【操作系统与设备无关的I/O软件】
在操作系统中,I/O(输入输出)软件负责管理计算机与外部设备之间的数据传输。然而,不同设备的硬件特性各异,直接操作设备往往需要特定的指令和驱动程序,导致系统维护和开发复杂。为了提高系统的可移植性和灵活性,现代操作系统引入了设备无关的I/O软件。它将I/O功能抽象化,使得应用程序与设备驱动程序之间解耦,从而实现对多种设备的统一管理。设备无关的I/O软件是现代操作系统中的重要组件。它通过设备抽象、缓冲机制、统一命名和错误处理,实现了对多种设备的统一管理,大大提高了操作系统的可移植性和易用性。
2025-03-22 10:22:37
1063
原创 【操作系统IO设备和设备控制器】
在计算机系统中,IO设备(Input/Output Devices)和设备控制器(Device Controller)是计算机与外部环境交互的关键组件。IO设备负责数据的输入与输出,而设备控制器作为硬件与操作系统之间的桥梁,管理数据的传输与设备的运行。输入设备:用于向计算机输入数据或指令,如键盘、鼠标、扫描仪。输出设备:将计算机内部处理结果输出给用户或其他设备,如显示器、打印机、扬声器。存储设备:用于数据的存储与读取,如硬盘、U盘、光盘。通信设备:负责计算机之间的数据传输,如网卡、调制解调器。
2025-03-22 10:19:48
919
原创 【操作系统磁盘存储器的性能与调度】
在现代计算机系统中,磁盘存储器作为辅助存储设备,主要用于数据的长期存储。由于磁盘的机械特性,其访问速度远慢于内存,因此优化磁盘的性能和调度策略对系统整体性能至关重要。本文将介绍磁盘存储器的结构、性能衡量指标以及常见的磁盘调度算法。本文介绍了磁盘存储器的结构、性能指标和常见的磁盘调度算法。合理选择磁盘调度算法能够显著提高磁盘访问效率。在实际系统中,还可以通过RAID、数据缓存和SSD替代等方式进一步优化磁盘性能。
2025-03-21 10:05:55
672
原创 【`@Options(keyProperty=“id“, useGeneratedKeys = true)` 注解详解】
Options是 MyBatis 框架中的注解之一,主要用于配置 SQL 执行的额外选项。:用于获取数据库自动生成的主键。:将返回的主键映射到 Java 实体类的属性。keyColumn:数据库中主键列的名称(可选)。flushCache:是否刷新缓存。timeout:超时时间。fetchSize:批量查询时,每次拉取的数据量。:表示启用主键自动生成的功能。:将自动生成的主键值映射到 Java 实体类的id属性。:指定数据库表中的主键列名称(可选,MyBatis 会自动匹配)。
2025-03-21 09:58:37
662
原创 【JavaWeb开发中的数据库连接池】
在JavaWeb开发中,数据库连接是必不可少的环节。然而频繁地创建和关闭数据库连接会导致资源浪费和性能下降。为了解决这一问题,我们可以使用数据库连接池(Connection Pool)来管理数据库连接,提高应用的性能和稳定性。本文将介绍数据库连接池的概念、原理,以及如何在JavaWeb项目中使用C3P0DBCP和HikariCP连接池。数据库连接池(Connection Pool)是一种用于管理数据库连接的技术。它的基本原理是。
2025-03-20 10:40:58
1055
原创 【jQuery 使用教程】
jQuery 是一个快速、简洁的 JavaScript 库,它简化了 HTML 文档遍历、事件处理、动画以及 Ajax 交互,使 JavaScript 开发更加高效。jQuery 兼容各种浏览器,极大地提高了前端开发的便捷性。简化 DOM 操作:使用简洁的选择器和方法操作 HTML 元素。事件处理:提供便捷的方法绑定和管理事件。动画效果:支持多种动画效果,增强用户体验。Ajax 支持:简化与服务器的数据交互。插件机制:拥有大量可扩展的插件,提高开发效率。
2025-03-20 10:38:23
1307
原创 【操作系统虚拟存储器中的请求分页存储管理方式】
虚拟存储器(Virtual Memory)使得程序运行时不需要将所有代码和数据全部加载到内存中。请求分页存储管理(Demand Paging)是一种常见的虚拟存储器管理方式,它能够显著提升内存利用率,并支持多任务并发执行。分页存储管理是一种将物理内存划分为固定大小的页框(Frame),将程序逻辑地址空间划分为等大小的页(Page)的存储管理方式。虚拟地址由页号和页内偏移量虚拟地址格式[页号][页内偏移量]物理地址格式[页框号][页内偏移量]
2025-03-19 10:46:08
939
原创 【操作系统之对换技术详解】
在操作系统中,对换(Swapping)是一种将内存与磁盘空间交换的技术。当物理内存不足时,操作系统会将暂时不活跃的进程或数据交换到磁盘的交换区(Swap Space),以释放内存空间给其他进程使用。对换是一种将暂时不用的进程或数据从物理内存转移到磁盘上的技术,以释放物理内存资源。当需要再次使用时,操作系统将其从磁盘交换回内存。✅[物理内存] <---> [交换区 (磁盘)]在现代操作系统中,对换技术已经逐渐被虚拟内存和分页机制取代,但它在早期操作系统和低内存设备上仍然发挥着重要作用。✅。
2025-03-19 10:37:39
724
原创 【Vuex:在带命名空间的模块内访问全局内容】
在 Vuex 中,命名空间用于为模块提供局部作用域。stategettersmutations和actions都被限制在当前模块内。模块内访问其他模块或全局内容时需要使用特殊方式。}),},actions: {items: []}),},actions: {// 使用 rootState 访问全局 stateconsole.log('当前用户:', rootState.user.name);// 调用 user 模块的 mutation// 本模块添加商品。
2025-03-18 10:41:03
1111
原创 【数据结构之树】
树(Tree)是一种重要的非线性数据结构,在计算机科学中广泛应用,如文件系统、数据库索引、解析表达式等。树是一种层次结构的数据结构,由节点(Node)有且仅有一个根节点(Root),作为整个树的起点。每个节点可以有多个子节点,但只有一个父节点(Parent)(根节点除外)。没有子节点的节点称为叶子节点(Leaf)。子节点的个数称为度(Degree),整棵树的最大度数为树的度。从根节点到某个节点的路径长度称为深度(Depth),最长路径的长度称为树的高度(Height)。A/ \B C。
2025-03-18 10:29:28
1135
原创 【Spring Boot 中 `@Value` 注解的使用】
在 Spring Boot 项目中通常需要从或配置文件中读取配置信息。@Value注解提供了一种简单的方式来将配置值注入到 Spring 组件中。@Value是 Spring 提供的一个注解,用于从配置文件或其他来源(如系统环境变量、SpEL 表达式)中读取值并注入到 Bean 的字段或方法参数中。@Value注解用于将配置文件中的值注入到 Spring 组件中。@Value可用于读取或中的值,并支持默认值。@Value还能用于读取环境变量、JVM 运行参数和 SpEL 表达式。@Value。
2025-03-18 10:27:22
1195
原创 【Java File 类介绍】
File类位于java.io包中,用于表示文件和目录的路径名。它提供了一系列方法来创建、删除、查询文件和目录的属性,以及进行文件和目录的遍历操作。File类本身并不用于读写文件内容,文件内容的读写操作需要使用其他类,如FileReader和FileWriter等。
2025-03-16 10:18:22
980
原创 【操作系统之硬件同步机制】
硬件同步机制是利用硬件指令或功能来实现对临界资源的互斥访问,确保同一时刻只有一个进程或线程能够进入临界区,从而避免竞争条件和数据不一致的问题。这些机制通常依赖于硬件提供的原子操作,确保在并发环境下操作的不可分割性。
2025-03-15 10:25:15
1011
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人