自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CCSco4355

我剑也未尝不利!

  • 博客(133)
  • 收藏
  • 关注

原创 Macos Clear App

直接在“应用程序”目录中删除(或把图标拖进废纸篓)确实是 macOS 上最基础、最常见的卸载方式,但。虽然删除了应用程序主体,但很多软件会在你的系统深处(主要是隐藏的~/Library资源库目录)留下,比如:软件的偏好设置(Preferences)缓存文件(Caches)应用程序支持文件(Application Support)运行日志(Logs)随着时间推移,这些残留文件可能会占用不少原本就不多的硬盘空间。

2026-03-03 18:28:56 282

原创 计算机体系结构-GPU与SIMD

本文探讨了GPU的SIMT执行模型及其关键特性分支发散问题。首先介绍了Warp(32线程组)的概念,指出同一Warp内的线程必须同步执行相同指令。当遇到条件分支时,GPU会串行执行所有路径,通过掩码机制闲置不符合条件的线程,导致SIMD利用率下降。文章通过具体案例分析了利用率计算方法,并解答了不同场景下的利用率问题:当所有线程行为一致时可达100%;通过调整满足条件的线程比例可实现62.5%或56.25%的利用率;但理论计算表明最低利用率约为51.56%,无法达到50%。这些分析揭示了GPU编程中分支优化的

2026-01-23 21:02:26 950

原创 计算机体系结构-向量计算机/链式操作/完全流水化/内存交叉存取

本文探讨了向量处理器架构设计的核心问题,主要包括: Bank数量计算:为确保无阻塞访问,Bank数量需≥50,最终确定为64个 向量长度确定:通过链式操作分析,得出L=41(或40) 不同架构性能比较: 不支持链式操作需231周期 Bank减半的VC-Mini需129周期 VC-Tiny的Bank数量经计算为8个 多核性能问题:Ultra-100因行缓冲区冲突导致效率下降 优化方案:建议采用Bank划分、地址映射优化或增加二级缓存 文章通过时序分析和冲突计算,深入剖析了向量处理器的性能瓶颈及优化方法。

2026-01-23 18:08:56 650

原创 计算机体系结构-内存一致性

摘要: 本文探讨了内存一致性模型中的顺序一致性(SC)与弱一致性。在SC下,程序指令按代码顺序执行且全局可见,而弱一致性允许指令重排以提升性能。分析表明:(a)线程T1可能因flag[0]始终为1而陷入死循环;(b)SC下X[0]可能为2、3或4;(c)变量a可能为2、4、6或8;(d)b始终为0;(e)弱一致性下X[0]可能进一步出现1。死循环会阻断后续操作,而弱一致性因重排可能导致意外结果(如X[0]=1)。SC提供直观保证,但弱一致性需同步机制避免错误。

2026-01-23 16:22:44 876

原创 计算机体系结构中关于虚拟索引物理标签的解读

关于计算机体系结构中物理地址与虚拟地址,物理/虚拟索引,物理/索引标签的解读

2026-01-23 11:38:58 790

原创 计算机体系结构-缓存一致性2

本文解析了基于目录的缓存一致性协议(Directory-based Cache Coherence)在分布式共享存储系统中的实现机制。通过典型考题分析,详细阐述了目录作为主节点(如P4)的核心功能,包括记录数据副本位置(Sharers List)和状态管理。重点对比了监听(Snoop-based)和目录两种协议的区别:前者采用广播通信,后者通过点对点消息传递实现扩展性。文中逐步解析了读写请求的处理流程,包括状态转换(如MSI协议)、消息传递(请求-失效-响应)以及冲突处理(如数据替换)。该协议虽然延迟较高(

2026-01-22 20:08:59 1000

原创 计算机体系结构-缓存一致性问题

本文解析了多处理器系统中基于总线监听的MSI写失效协议问题。通过直接映射缓存中块X和Y的冲突场景,详细介绍了缓存一致性机制,包括监听协议、写失效操作和MSI状态模型(Modified/Shared/Invalid)。针对题目给出的6个操作序列,逐步分析了每个处理器请求时的缓存命中/缺失情况、总线请求类型、响应者身份以及最终各缓存状态的变化过程。特别强调了X和Y映射冲突时的特殊处理,如脏数据写回和块替换操作。最后给出了完整的解题逻辑和状态转换表格,帮助理解多处理器缓存一致性的实现原理。

2026-01-22 20:04:02 838

原创 如何测试鼠标是否支持mac mouse fix

如果你手边有这个鼠标,可以通过一个简单的在线测试来验证:Mouse 4Mouse 5。

2026-01-22 10:59:11 207

原创 哪些鼠标不支持Mac mouse fix呢?

如果你想要完美的 Mac Mouse Fix 体验(如丝般顺滑的触控板式滚动、手势操作),建议更换为。

2026-01-22 10:57:49 952

原创 鼠标堪比mac触控板(普通鼠标即可)

对鼠标的唯一要求就是旁侧要有两个额外的4,5按键。软件名为:Mac mouse Fix。

2025-12-29 23:19:23 311

原创 如何将windows电脑当作服务器使用(拒绝横向流量的情况下)

点击链接查看:借助zerotier工具,利用ssh链接操作

2025-11-25 14:37:42 241

原创 ssh远程访问另一台windows(可扩展到docker环境)

摘要:本文介绍了在Windows系统上安装和配置OpenSSH服务器的详细步骤。首先检查网络连通性,若局域网无法ping通则需使用ZeroTier等VPN工具。通过PowerShell命令检查OpenSSH安装状态并完成安装,或手动下载安装包。配置完成后启动SSH服务,测试本地连接并获取IP地址。针对网络阻断情况,推荐使用ZeroTier建立虚拟局域网,详细说明了ZeroTier的注册、安装和网络配置流程,包括修改网络类型为Private、放行22端口等关键操作。最后验证SSH连接是否成功建立。

2025-11-25 14:19:15 1047

原创 单周期Risc-V指令拆分与datapath绘制

Risc-V单周期研究设计,包含主要的指令解析以及datapath绘制,其他非重要信息不包含。

2025-11-14 12:37:56 780

原创 MacOS彻底清除docker及image

摘要:在macOS卸载Docker Desktop后,镜像和容器不会自动清除,需手动清理。正规步骤:1) 先用Docker CLI删除所有容器、镜像、卷等;2) 卸载Docker.app;3) 删除残留目录(~/.docker等);4) 重启释放空间。非正规补救方法:直接卸载后,需手动删除/Library/Group Containers等残留文件。关键点在于彻底清除Docker的虚拟磁盘(qcow2)和相关配置文件。

2025-11-13 23:38:52 349

原创 WSL 安装方法(简单全面)

这篇教程介绍了WSL的详细使用指南,包括WSL与WSL2的核心区别、适用场景、安装步骤、镜像迁移方法(export/import)以及开启GUI功能等实用内容。视频讲解清晰全面,适合收藏作为参考资料,遇到问题时可以随时回看。建议直接查看原视频链接获取完整教程,遇到具体问题时可结合LLM辅助理解。

2025-09-27 19:51:27 303

原创 VS Code 调试配置详解:占位符与语言差异

VS Code调试配置:占位符与语言差异指南 本文详解VS Code调试中的关键占位符和C++/Python调试差异。核心占位符包括${file}(当前文件路径)、${workspaceFolder}(项目根目录)等,支持路径组合与跨平台兼容。C++调试需预编译和复杂配置,而Python可直接执行且变量检查更直观。典型差异包括:C++需tasks.json编译任务,Python自动检测解释器;C++支持内存访问,Python支持对象可视化。文章还提供了路径处理技巧和常见问题解答,如查看占位符实际值的方法。通

2025-09-18 15:09:32 341

原创 Markdown 常用语法参考

Markdown 是一种轻量级标记语言,提供简洁易读的文本格式化方式。本文总结了 Markdown 常用语法:标题使用 # 符号分级;文本格式支持粗体、斜体、删除线等;列表分有序和无序两种;代码支持行内和块级显示;链接和图片插入方式类似;表格用 | 和 - 构建;数学公式支持行内和块级;其他功能包括换行、注释、HTML标签和任务列表。最后还介绍了图片显示问题的常见解决方法。这些语法使 Markdown 成为编写文档的理想选择。

2025-09-18 10:05:26 1033

原创 前缀和算法

比如一个数组:nums:[ -2, 0 , 3 , -5, 2, -1],如果需要计算[3, -5, 2]的子数组和,就可以利用前缀[ -2, 0 , 3 , -5, 2] 的元素减去前缀[-2, 0 ]即可。通过前缀和可以把子数组的和转换为前缀和之差,长度为n的nums数组对应的前缀和数组长度为n + 1,前缀和数组s从s[0]定义,表示nums数组中前0个元素前缀和为0。那么在nums数组中,[left,right]下标left 与 right之间(包括left 与right)的元素和。

2025-08-27 20:36:34 355

原创 Git Commit 提交信息标准格式

Git提交信息标准格式采用Conventional Commits规范,包含Header、Body和Footer三部分。Header由type、scope(可选)和subject组成,要求简短明确;Body详细说明变更动机;Footer用于关联Issue或标注破坏性变更。规范列举了11种常用type,如feat、fix等,并建议保持提交原子性。采用此规范可自动生成ChangeLog、推断版本号,提高代码审查效率。推荐配合Commitizen等工具使用。

2025-08-20 19:33:32 636

原创 miniconda error:CondaToSNonInteractiveError

这个错误是因为您需要先接受 Anaconda 官方频道的服务条款(Terms of Service)才能继续使用 conda。

2025-08-19 18:12:35 2345

原创 miniconda环境变量不生效?

摘要:本文针对Windows系统下环境变量配置不生效的问题,以miniconda3安装为例,提供解决方案。文章详细介绍了手动添加环境变量的步骤,并指出即使添加成功,在IDE终端仍可能报错的原因。主要解决方法包括:1)执行conda init powershell初始化;2)修改PowerShell执行策略为RemoteSigned。通过管理员权限运行特定命令可解决IDE终端初始化报错问题。这些步骤比MacOS系统更为复杂,但能有效确保环境变量全局生效。

2025-08-19 18:00:42 518

原创 更改桌面位置

摘要:本文详细介绍了如何安全地将桌面文件夹从系统盘迁移到非系统盘。正确操作步骤包括:在目标位置新建Desktop文件夹,通过属性-位置功能进行迁移。同时提供了常见问题解决方案,特别是针对误操作情况下的补救措施,包括使用PowerShell强制删除、重建文件夹及恢复注册表路径等关键操作。着重强调了不可直接剪切移动,否则会导致系统混乱,必须通过注册表修改来确保路径正确指向。(150字)

2025-08-19 14:07:29 719

原创 定长滑动窗口

本文系统介绍了滑动窗口算法的核心思想与应用。该算法通过左右指针动态维护一个窗口,在数组/字符串问题中高效寻找满足条件的子序列。文章通过LeetCode典型例题(209、3、1456、643题)详细解析了滑动窗口的实现技巧:1)使用累积和优化计算;2)利用哈希表检测重复;3)定长窗口的移动策略;4)处理负数情况的初始化注意事项。重点强调了调试的重要性,并对比了暴力解法与优化解法的效率差异(O(n²) vs O(n))。文中代码示例展示了如何通过维护窗口和、计数器等技巧提升性能,为处理同类问题提供了可复用的模板

2025-07-27 15:18:52 1128

原创 非定长滑动窗口(持续更新)

该文汇集诸多不定长滑动窗口,包含作者的分析以及题解以及题目链接,欢迎一起交流!

2025-07-26 21:01:30 451

原创 滑动窗口-7

这篇题解讨论了LeetCode 1652题"拆炸弹"的两种解法。第一种是作者的自研方案,分别处理k>0和k<0的情况:对于k>0,使用滑动窗口计算每个位置的累加和;对于k<0,逆向遍历数组计算。第二种是更简洁的环形数组解法,通过取模运算实现窗口滑动。两种方法的时间复杂度均为O(n),空间复杂度O(n)。关键点在于如何处理数组的环形特性,通过取模运算避免越界。

2025-07-25 19:19:12 307

原创 滑动窗口---6(稍难)

题目《爱生气的书店老板》要求计算在不改变老板生气时间的条件下,通过特定技巧最大化顾客满意度。基本思路是:首先统计老板不生气时的顾客总数,然后利用滑动窗口算法计算在连续minutes时间段内,将生气时间转为不生气能带来的最大顾客增量。最终结果为两者之和。灵茶山艾府的解法通过维护一个滑动窗口来高效计算最大增量,时间复杂度为O(n)。该问题展示了如何将原始问题分解为静态统计和动态优化两部分,并结合滑动窗口技巧获得最优解。

2025-07-25 15:28:14 346

原创 滑动窗口-5

该问题要求在卡牌数组两端取k张牌,使点数之和最大。解法采用滑动窗口思想:先计算前k个数的和作为初始值,然后依次从右边取一张牌、左边放一张牌,不断更新最大值。同时还考虑了直接取后k个数的特殊情况。时间复杂度O(n),空间复杂度O(1)。

2025-07-24 19:37:14 310

原创 滑动窗口-4

题目摘要:本文解析了两道滑动窗口相关的LeetCode题目(2841和2461)。主要思路是使用定长滑动窗口配合哈希表统计元素频率,通过维护窗口内不同元素数量来求解最大子数组和。解题要点包括:1)使用字典统计元素频率;2)通过len(dict)直接获取不同元素数量;3)窗口移动时正确更新元素频率和当前和。作者对比了自己的解法与题解,指出优化点在于直接使用len(dict)而非额外变量统计不同元素数量,并强调应该多参考优质题解。两道题的核心区别在于约束条件不同(2841要求不同元素数≥m,2461要求等于k)

2025-07-24 13:31:07 316

原创 滑动窗口--3

【代码】滑动窗口-2090半径为 k 的子数组平均值。

2025-07-24 11:01:51 282

原创 定长滑动窗口--2

【代码】定长滑动窗口--2。

2025-07-23 09:56:18 261

原创 算法学习--滑动窗口

滑动窗口是一种高效的算法技巧,用于处理数组/字符串的子序列问题。其核心思想是通过两个指针(left和right)动态调整窗口范围,在O(n)时间内解决问题。

2025-07-22 17:22:15 1233

原创 多线程-3-并发意外串行-lock

没有使用lock却没有发生账户取钱bug。

2025-07-21 11:18:00 181

原创 多线程-4-线程池

Python线程池使用指南: 线程池通过复用线程降低创建/销毁开销,适用于I/O密集型任务。推荐使用concurrent.futures.ThreadPoolExecutor实现,支持两种主要用法: submit()返回Future对象,配合as_completed()按完成顺序获取结果 map()直接返回结果迭代器,按任务提交顺序输出 线程池结合with语句可自动管理资源释放,有效控制并发数量(通过max_workers参数)。案例演示了网络请求、文件处理等场景下的线程池应用,相比单线程大幅提升效率。

2025-07-18 17:53:35 895

原创 多线程-3-线程同步

本文介绍了Python threading模块中的几种线程同步机制:Lock、RLock、Condition和Semaphore。Lock是最基础的互斥锁,用于防止多线程同时访问共享资源;RLock是可重入锁,允许同一线程多次获取锁;Condition用于线程间的条件通知;Semaphore则控制对共享资源的并发访问数量。文章还展示了这些机制的实际应用场景,包括线程安全的数据修改、线程间通信以及并发控制等,并提供了详细的代码示例来说明它们的使用方法和注意事项。

2025-07-18 17:47:40 964

原创 多线程-2-线程间通信

在 Python 中,实现线程间通信有多种方法,主要依赖 threading 和 queue 模块。这些机制可以帮助你安全地在多个线程之间传递数据和同步操作。

2025-07-18 17:35:05 266

原创 多线程-1-基础写法

本文介绍了Python多线程编程的两种实现方式及其应用场景。

2025-07-18 17:18:50 230

原创 Python 全局解释器锁 (Global Interpreter Lock - GIL)

全局解释器锁 (GIL) 是CPython解释器(官方、最常用的 Python 解释器)中的一个互斥锁 (mutex)。它的核心作用是:在任意时刻,只允许一个线程执行 Python 字节码。这意味着,即使你的计算机有多个 CPU核心,一个 CPython 进程中的多个线程也无法真正地并行执行 Python 代码。它们可以并发执行(即交替执行),但不能在同一瞬间并行运行。

2025-07-18 17:02:14 415

原创 git-子仓操作

代码仓作为子模块的优势包括实现精确版本控制、模块化管理和代码复用。

2025-07-18 11:46:11 428

原创 git更改远端文件名称以及删除指定文件夹

git添加remote文件是十分容易的,但是删除remote的文件以及更改remote文件名称是比较麻烦的,所以根据我的实际遇到的问题,讲解如何删除remote文件夹以及rename远端folder_name

2025-06-20 12:30:04 597

原创 Windows 11 + Ubuntu 22.04双系统时间同步失败处理

现在要解决的问题是:安装双系统后,每次切系统时间不能自动同步的问题。

2025-03-04 10:29:08 1286

MySQL数据库实验文件

我使用代码生成的各种数据表,同时包含该设计的E-R图,文件都是.csv格式,均可以直接导入!

2024-02-19

河北工业大学数据结构实验报告

河北工业大学数据结构实验报告,完整的模板,实验步骤,包括约瑟夫环、重排链表、列车厢调度问题、银行柜员问题等等。

2024-02-21

MySQL数据库-实验九 数据库设计

2024-02-19

Java实现两种验证码

Java实现两种验证码

2024-02-19

Java实验六 Socket网络程序设计

Java实验六 Socket网络程序设计

2024-02-19

Java多线程程序设计

Java多线程程序设计,源代码注释讲解都包括

2024-02-19

Java面向对象程序设计

包括设计步骤,代码设计注释,思路,以及源代码

2024-02-19

Java实现局域网内两点文件传输

Java实现局域网内两点文件传输,接收端收到doc,docx,pdf类型的文件后自动调用虚拟打印机接口,实现打印pdf文件的功能。其中包括实现的原理,以及操作实现的源代码、实现的步骤、每一实现步骤对应的讲解,包括代码注释。 1. 定义 server 类,继承自 ServerSocket 类,并设置了一个常量 SERVER_PORT 表示服务端的端口号。 2. 在静态代码块中,初始化了一个DecimalFormat 对象 df用于格式化文件大小的显示。 3. server类的构造函数通过调用 super(SERVER_PORT)来创建一个服务器端的Socket。 4. load()方法是一个循环,用于接收客户端的连接请求。每当接收到一个连接请求,就会创建一个新的线程来处理该连接。 5. Task类是一个内部类,实现了 Runnable 接口,用于处理客户端传输过来的文件。 6. Task 类的构造函数接收一个 Socket 对象,并将其赋值给成员变量 socket。 ......

2024-02-19

Java实验(七) 数据库应用

Java实验(七) 数据库应用

2024-02-19

Java实验五输入输出流

Java实验五输入输出流

2024-02-19

Java异常处理程序实验

Java异常处理程序实验

2024-02-19

空空如也

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

TA关注的人

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