主页

JPS寻路算法

参考 A Visual Explanation of JPS 前言 2D 网格上最短路径的代价统一搜索算法有很多种。A算法是广度优先(Dijkstra)和深度优先搜索的一种常见且直接的优化。对此算法有许多扩展,包括D、HPA*和矩形对称性剪枝,它们都旨在减少寻找最佳路径所需的节点数量。 Jump Point Search算法,是使矩形网格上的路径查找更加高效的众多方法之一。 本文假设你假定您已熟悉A搜索算法以及DijkstrA算法在寻路问题上的应用,参见A*算法的介绍。 下文假设在规则的正方形网格上进行路径查找,其中水平和垂直移动的成本为1,对角线移动的成本为√2。 可以在该链接可视化执行JPS算法。 路径扩展与对称性剪枝 在每次执行A*...

阅读更多

高级数据库系统笔记

参考 CMU 15-721课程主页 课程主题 2023: 存储模型,压缩 索引 矢量化执行 + 编译 并行连接算法 网络协议 查询优化 现代系统分析 2020: 并发控制 日志记录与恢复方法

阅读更多

网课下载

课程下载 POST https://jiuzhang999.com/wp-admin/admin-ajax.php Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Cookie: wordpress_logged_in_xxxx; PHPSESSID=xxxx action=user_down_ajax& post_id=126210 /** { "status": "1", "msg": "https:\\jiuzhang999.com\go?post_id=126210" } **/

阅读更多

机器学习笔记

参考 李宏毅机器学习课程主页 概念 机器学习: 让机器找一个函数 函数类型: Regression(回归): 函数输出一个标量(数值) Classification(分类): 函数输出正确类别/选项 Structured(结构化学习): 函数输出一个结构化数据(图片/文本) 找函数的过程: 根据领域知识, 猜测Model: 数学函数 根据训练数据, 定义Loss: 评估参数好坏的函数

阅读更多

数据库系统笔记

参考 CMU 15-445课程主页 CMU 15-445中文字幕视频 《数据库系统概念》 存储 Disk-Oriented DBMS 面向磁盘的DBMS将数据存放于非易失性磁盘,操作数据前需将数据从磁盘读入内存。 通过Buffer Pool来管理数据在内存和磁盘之间的置换 Execution Engine执行查询,向Buffer Pool请求指定page的数据,后者负责将page读入内存返回内存指针 Buffer Pool Manager需保证该page在Execution Engine执行期间保持在该内存中 虚拟内存的问题 为什么不直接以来操作系统虚拟内存? 操作系统虚拟内存(mmap)管理文件在内存和硬盘中的置换,适合...

阅读更多

分布式系统笔记

参考 MIT 6.824 剑桥大学分布式系统 CSE138 链式复制 构建复制状态机的方法 将所有操作都提交到共识算法库(Raft/Paxos) 更常见的:通过分布式配置服务(Zookeeper) + 主/备复制。配置服务只维护少量状态(如选举结果),大数据交由主备复制协议执行,减少网络压力 引入链式复制用于主备复制 特性 优点 在1台server上执行读操作 恢复方式简单 线性一致性 原理 配置服务维护server链 从head server开始写,tail server回应提交 从tail server读取 恢复 对比Raft的恢复,简单很多: head server宕机:head...

阅读更多

JUC同步器框架(AQS)设计思路与基本原理

参考链接 The java.util.concurrent Synchronizer Framework - Doug Lea 中文翻译版 - 欧振聪 摘要 在J2SE 1.5的java.util.concurrent包(下称j.u.c包)中,大部分的同步器(例如锁,屏障等等)都是基于AbstractQueuedSynchronizer(下称AQS类)这个简单的框架来构建的。这个框架为同步状态的原子性管理、线程的阻塞和解除阻塞以及排队提供了一种通用机制(模板方法设计模式)。这篇论文主要描述了这个框架基本原理、设计、实现、用法以及性能。 简介 通过JCP的JSR166规范,Java的1.5版本引入了j.u.c包,这个包提供了一系列支持中等程度并发的类。在这些组件中有...

阅读更多

在WSL2中编译和调试OpenJDK

安装WSL 安装WSL 1 启用“适用于 Linux 的 Windows 子系统”可选功能,以管理员身份打开 PowerShell 并运行: dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 启用虚拟机平台 安装 WSL 2 之前,必须启用“虚拟机平台”可选功能,以管理员身份打开 PowerShell 并运行: dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 然后重新启动计算机,以完成更新。 更新WSL 2...

阅读更多