自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Java static 关键字全面解析

是 Java 的核心关键字,用于修饰类的成员(变量、方法、代码块和嵌套类),表示这些成员。不能被重写(Override),但可被隐藏。不能直接访问实例成员(需通过对象实例)

2025-07-29 13:37:25 305

原创 Java中Stringjoiner的全面解析与使用指南

替代方案:String.join()或Collectors.joining()可简化单行代码。它简化了集合元素的拼接操作,是替代手动字符串拼接的高效方案。空元素处理:add(null)会抛出NullPointerException。性能优势:比String的+操作或concat()更高效(尤其循环中)非线程安全:多个线程操作同一实例需同步。5. 与Stream API结合。:结果字符串的开头部分(如。:结果字符串的结尾部分(如。1. 基础拼接(无前后缀):元素间的连接符(如逗号。:可自定义无元素时的输出。

2025-07-29 13:14:15 306

原创 Java中StringBuilder的全面解析与使用指南

为什么需要StringBuilder?在Java中,`String`是不可变的(immutable),每次修改字符串都会创建一个新的`String`对象,这在频繁修改字符串时会导致性能问题。`StringBuilder`提供了可变的字符串序列,能够高效地进行字符串的拼接、插入、删除等操作。StringBuilder特点可变性:内容可以被修改非线程安全:性能更高(线程安全版本是`StringBuffer`)高效:避免了频繁创建新对象。

2025-07-17 21:31:32 787

原创 Java中this关键字

this关键字在Java中有多种用途,主要包括:- 区分成员变量和局部变量- 调用当前类的其他构造方法- 实现方法链式调用- 作为参数传递当前对象- 在内部类和匿名类中访问外部类成员。

2025-07-17 21:14:37 142

原创 Java中面向对象的介绍

面向对象(Object-Oriented Programming, OOP)是一种编程范式,通过将数据和操作数据的方法封装为对象来组织代码。将数据(属性)和操作数据的方法(行为)绑定为一个类,隐藏内部实现细节,仅暴露必要的接口,通过访问控制修饰符实现不同级别的访问限制‌。成员子类无法直接访问,需通过公有方法(如 getter/setter)间接操作‌.‌:"一个接口,多种实现",父类引用可以指向子类对象,运行时确定实际调用的方法。:‌一个子类只能有一个直接父类‌‌。)实现,避免菱形继承问题‌。

2025-07-17 21:04:44 538

原创 java基础中private关键字的用法

private是Java中的一种访问修饰符,用于限制类成员的访问范围。它是Java四种访问控制级别中最严格的一种。

2025-05-20 17:28:56 309

原创 进程的描述与控制

挂起(Suspend)‌:将进程从内存移至外存(如硬盘),释放其占用的内存空间,进程状态标记为‌静止态‌(挂起态),不再参与 CPU 调度。进程是程序的一次执行过程,具有生命周期(创建、运行、消亡),并在执行过程中可能经历状态变化。激活(Activate)‌:将进程从外存重新调入内存,恢复其执行能力,状态根据挂起前的原始状态转换为‌就绪态‌或‌阻塞态‌,重新参与调度。当阻塞事件完成时(如资源可用、数据到达),进程被移出阻塞队列,状态转为‌就绪态‌,等待 CPU 调度。

2025-05-18 18:39:20 680

原创 操作系统引论---纯知识点(简答题)

例如,当一个程序在等待I/O操作完成时,操作系统会暂停该程序的执行,转而去执行其他程序,当I/O操作完成后,再恢复该程序的执行。例如,支持IPv6协议,提供更便捷的网络配置和管理工具(如Windows中的网络和共享中心、Linux中的网络配置命令和工具),并且在无线网络管理方面有很大改进,包括对Wi - Fi 6等新技术的支持。例如,当一个用户程序需要进行文件读写操作时,它不能直接访问硬盘,而是通过系统调用向操作系统发出请求,操作系统在内核模式下完成对硬盘的读写操作后,再将结果返回给用户程序。

2025-04-26 21:53:00 625

原创 三个进程同步问题---(生产者-消费者,哲学家进餐,读者-写者)

场景:n个哲学家围坐餐桌,每人需交替“思考”和“就餐”,就餐时需同时获得左右两根筷子(资源),筷子总数等于哲学家数(每根筷子被两人共享)。- 熟练用信号量( wait/signal )实现互斥与同步,区分互斥信号量(初值1)和同步信号量(初值非1)。- 缓冲区大小为1(仅能存放1个数据),生产者每次生产一个数据放入缓冲区,消费者每次从缓冲区取出一个数据。- 场景:多个生产者进程向缓冲区投放数据,消费者进程从中取出数据,缓冲区大小固定(如n个槽位)。

2025-04-26 16:57:35 1674

原创 c++各种排序算法(含模板,时空复杂度,稳定性)

gap=5:子序列为 [13,25,65] 、 [14,59,23] 、 [94,94] 、 [33] 、 [82] ,排序后: [13,14,25,33,23,94,59,94,65,82]- gap=2:子序列如 [13,25,23,59,65] 、 [14,33,94,94,82] ,排序后: [13,14,23,33,25,65,59,82,94,94]- i=3(元素2):与已排序部分 [1,3,4] 比较,2<4→2<3→插入到3前,数组: [1, 2, 3, 4, 5]

2025-04-25 13:43:33 1786

原创 C++算法-----二分查找,二分答案(内含整数二分,浮点数二分模板)

‌:二分答案是一种将二分查找思想应用于求解‌。

2025-04-24 19:12:16 1699

原创 C++算法-----快速排序模板

空间复杂度为 O(\log n)(递归栈空间),无需额外存储数据的空间(仅需常数级临时变量),适合处理内存受限场景(如大规模数组排序)。- 最坏情况可优化:通过选择合适的枢轴(如三数取中法、随机枢轴),可将最坏情况概率降至极低,实际应用中几乎碰不到 O(n^2) 的情况。- 数据访问局部性强:通过划分枢轴的过程,元素在数组内直接交换,比链表排序(如归并、链表插入)更利于CPU缓存命中,提升实际运行速度。- 递归与非递归实现均可:递归版本代码简洁,非递归版本可避免栈溢出(处理超大数据时)。

2025-04-23 21:50:55 181

原创 C++算法-----高精度模板

超大整数运算:如超过 unsigned long long (最大约 2^{64})的加减乘除、幂运算等。- 大质数运算:生成或验证超大质数(如RSA加密中的模数 n=p \times q,p、q 常为数百位质数)。- 优化技巧:分治乘法(如Karatsuba算法)、快速幂、FFT(快速傅里叶变换)加速大数乘法。- 数值模拟与物理建模:处理天体力学、量子物理中涉及的极小或极大数值(如星系质量、粒子半径)。- 高精度小数运算:处理需要保留数十位甚至数百位小数的场景(如密码学、科学计算)。

2025-04-23 21:41:42 263

原创 C++STL-----deque容器基础用法(内含代码)

C++ 的 deque (双端队列)是一种动态数组容器,支持在两端快速插入和删除元素,常用于需要频繁从首尾操作数据的场景(如队列、栈的变种需求)。- 迭代器有效性:插入/删除元素可能导致迭代器失效(类似 vector ),需重新获取迭代器。- 内存管理:内部由多个分段数组组成,内存分配比 vector 更复杂,但整体性能均衡。- 需要动态扩展容量,且对头部操作有性能要求(比 vector 更适合头部操作)。- 需要频繁从首尾两端操作元素(如双端队列、栈队列混合场景)。

2025-04-23 21:34:26 165

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除