自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JDK 28 fastdebug 中文路径启动断言调查报告

在 Windows 11、平台编码为 MS936 的环境下,本地构建的 JDK 28 fastdebug 使用包含中文的启动时,会在中触发内部断言并退出。最初问题表现为:在 VS Code 集成 PowerShell 中运行本地构建的javap.exe崩溃,而从 MSYS2 MSYS 终端执行原始反汇编操作可以成功。后续已将复现缩小到独立 Windows PowerShell 中的一条命令,不需要 VS Code、javap、Java 程序或 class 文件。

2026-10-24 21:19:05 330

原创 字符编码与 HotSpot 断言

记录日期:2026 年 10 月 24 日。本文记录一次学习过程中的本地问题调查。最小复现和对照实验已经完成;文中的源码修改方案只是候选思路,尚未应用、编译或验证,也没有作为补丁提交上游。我计划先继续学习相关源码,再尝试修改。

2026-10-24 21:16:16 308

原创 全屏程序一退出,终端就开始刷屏:一次“鼠标追踪残留“排查

别指望程序自己关(它可能没机会),也别指望房间自动关(它不自动关)。那就让守在程序外面、肯定还活着的 PowerShell1006l[?1003l[?1002l[?1000l[?1004l')Clear-Hostfinally不管里面那个程序是正常退、Ctrl+C、还是被强杀/崩溃,只要外面这个 PowerShell 还活着,就一定会补这一刀把鼠标关掉。

2026-09-09 16:31:50 341

原创 Docker PostgreSQL Windows 权限问题总结

摘要:PostgreSQL容器在Windows下无限重启问题通常由NTFS文件系统权限不兼容导致。解决方案是使用Docker命名卷(Named Volume)替代直接挂载本地文件夹,因其创建于Linux文件系统内完美支持权限操作。该方案具备跨平台兼容性,配置文件可直接迁移,仅需注意数据备份还原。建议对权限敏感的服务统一采用命名卷,仅开发调试时使用绑定挂载,确保环境一致性。(1

2026-06-12 15:06:38 453

原创 Navicat批量导出数据库表结构

本文介绍了使用Navicat批量导出数据库表结构的4种方法:1)转储SQL文件(适合备份迁移);2)数据传输功能(支持精细控制);3)导出向导(可生成Excel/HTML格式);4)SQL查询导出(灵活定制数据字典)。每种方法均包含详细步骤和关键设置说明,并特别强调了只导出结构不包含数据的设置要点。文章还提供了常见问题解决方案,如中文乱码、注释丢失等注意事项,适用于Navicat全系列产品及多种数据库类型。

2026-06-09 11:26:31 788

原创 WSL 安装与迁移

本文详细介绍了WSL的安装与迁移方法。首先说明如何通过PowerShell命令安装WSL并设置Ubuntu系统,默认安装在C盘。重点讲解了将WSL从C盘迁移到D盘的核心步骤:导出系统镜像、注销原系统、导入到新位置并恢复用户设置。文章还提供了验证迁移成功的方法,包括检查注册表路径和虚拟磁盘文件。最后给出了修改注册表设置默认安装路径、外接硬盘使用注意事项以及常用WSL命令速查表,涵盖系统管理、用户设置等实用操作。

2026-04-27 16:34:45 280

原创 AtCoder Beginner Contest 442(A~E)

维护一个全局变量记录音量,再维护一个变量记录是否开启,只有音量大于3并且是开启状态才输出Yes,否则No。注意Yes是首字母大写,其余小写,No也是。,因此可以放心计算。根据题目中的限制条件,x的统计也很简单,只需要在输入的过程中记录有利益冲突的人的个数,然后拿n减去这些人,别忘了最后还要减去自己。只需要记录一下每个人的利益冲突的人的个数x,方案数就是。,可以算出来这个数不会爆掉。

2026-01-27 15:10:31 343

原创 JSR-250JavaEE规范

JSR-250核心定义了5个基础注解,所有注解都在。

2026-01-23 17:05:38 705

原创 @Autowired与@Resource区别

本文对比了Spring中的@Autowired和@Resource注解。@Autowired是Spring专用,默认按类型注入,多个同类型Bean需配合@Qualifier或@Primary使用;@Resource是JavaEE标准,默认按名称注入,未找到同名Bean时降级为按类型注入。两者都支持字段和方法注入,但@Autowired还支持构造器和方法参数注入,而@Resource不支持。@Autowired更适合Spring生态,@Resource则具有更好的跨框架兼容性。

2026-01-23 16:14:02 339

原创 CMD简单用法

变量名值%cd%当前目录%date%当前日期%time%当前时间%random%0~32767之间的随机数%path%环境变量上一个命令的返回值,0表示执行成功参数,%0表示命令本身。

2025-09-13 18:29:16 424

原创 MySQL基础知识

DDLDELIMITER 自定义语句结束符CREATE FUNCTION 函数名[(参数列表)]RETURNS 数据类型BEGIN[DECLARE 参数列表;[SQL语句;RETURN 返回值;END 自定义语句结束符DELIMITER;其中delimiter用来定义结束标识符,在MySQL中默认是以分号作为语句结束符,但在函数内部也会用到分号,因此会冲突,这样定义一个语句结束符,在END后使用就表示整个函数是一体。在函数结束后再使用delimiter重新定义分号为结束标识符。

2025-09-04 11:27:11 635

原创 使用yarn create vite报错

文件名、目录名或卷标语法不正确。原因:不明白报错机制。

2025-05-18 22:16:22 235

原创 Docker的简单使用(不全)

Dockerfile是一个文本文件,包含了构建Docker镜像的所有指令。Dockerfile是一个用来构建镜像的文本文件,文件内容包含了一条条构建镜像所需的指令和说明。通过定义一系列命令和参数,Dockerfile指导Docker构建一个自定义的镜像。Compose适用于定义和运行多容器Docker应用程序的工具。通过Compose,您可以使用YML文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从YML文件中创建并启动所有服务。

2025-04-29 22:05:20 1219

原创 第一章 计算机网络和因特网

介绍了因特网的基本概念和运行机制。首先从硬件构成(端系统、路由交换设备、通信链路)和服务描述(分布式应用、接口协议)两个角度定义因特网,重点阐述了分组交换原理及TCP/IP核心协议。其次详细分析了网络边缘的接入技术(DSL、光纤、无线等)和物理传输媒介特性,对比了分组交换与电路交换的差异。随后深入探讨了网络核心的分组转发机制、时延构成(处理/排队/传输/传播时延)及吞吐量影响因素。最后介绍了五层协议体系结构(物理层至应用层)的分层服务模型,并揭示了网络面临的安全威胁(恶意软件、DoS攻击、嗅探等)。

2025-04-14 20:04:27 1380

原创 @Controller与@RestController

RestController注解的类会被当作RESTful风格的控制器,其方法返回的结果会直接作为HTTP响应体返回,而不会进行视图解析。在使用@Controller注解的类中,若方法返回的是字符串,spring会把这个字符串作为视图名称,然后依据视图解析器来查找并渲染对应的视图。:适用于传统的 MVC 应用,也就是需要返回视图的场景,例如 Web 页面的渲染。注解的类,其方法返回的对象会自动被序列化为 JSON、XML 等格式的响应体。:适用于构建 RESTful API,因为它能方便地返回。

2025-04-02 21:06:59 331

原创 Java中的LocalDate类

在java中LocalDate是不可变对象,这意味着一旦创建了一个LocalDate实例,它的状态并不会改变,比如:创建一个变量LocalDate begin,在使用begin.plusDays(1)后,begin并不会增加1,begin还是保持原来的日期。那如何才能让某一变量实现自增呢?这个方法会返回一个新的LocalDate实例,再将其赋值给begin即可实现begin自增1,即begin = begin.plusDays(1)。也可以自行打印输出一下来进行判断。

2025-04-02 20:29:25 312

原创 xml文件中的>

因为类似像 '>','<' 之类的符号与xml文件中的标签<xxx>冲突,就像C语言中的关键字一样,不能再拿它去作为变量名,此时就可以使用转义字符把它替换掉,防止出现解析错误。CDATA[]]>标记所包含的内容将表示为纯文本,后台会原样解析并执行。代替了>号,我不明白为什么要这么做,经过上网查资料(问大模型)得到了答案。在写项目中发现视频中使用了。

2025-04-02 20:11:30 368

原创 AI基础:数据可视化简易入门(Matplotlib和Seaborn)

是一个Python的2D绘图库,它以各种硬拷贝和跨平台的交互式环境生成出版质量级别的图形。是基于Python且非常受欢迎的图形可视化库,在Matplotlib的基础上进行了更高级别的封装,使作图更加方便快捷。

2025-02-21 23:47:04 705

原创 IO流中的Properties类

store:将Properties中的键值对存储到配置文件,在idea中,保存信息到配置文件,如果含有中文,会存储为unicode码。(2)注意:键值对不需要有空格,值不需要用引号引起来,默认类型是String。load: 加载配置文件的键值对到Properties对象。getProperty(key):根据键获取值。(1) 专门用来读写配置文件的集合类。(3)Properties的常见方法。list:将数据显示到指定设备。

2025-02-18 22:52:07 170

原创 序列化和反序列化

1. Serializable(这是一个标记接口)序列化:保存数据时,保存数据的值和数据的类型。反序列化:恢复数据时,回复数据的值和数据类型。

2025-02-17 22:21:02 171

原创 Numpy简易入门

但有些无法扩展的会报错,比如:(行数,列数), (3, 2) + (1, 3)报错。数组间的基础运算是一对一,但是当两者不一样时。就会自动触发广播机制,将数组中每个元素与标量计算,返回计算后的数组。

2025-02-17 19:45:31 577

原创 IO流-节点流与处理流

处理流可以对其他节点流(如FileInputStream, PipeInputStream等)进行包装是因为底层使用的是Reader/Writer,可以接收所有的子类。2.处理流(包装流)包装节点流,既可以消除不同节点流的实现差异,也可以提供更方便的处理方法完成输入输出。3.处理流(包装流)对节点流进行包装,使用了修饰器设计模式,不会直接与数据源相连(模拟修饰器设计模式)2.操作的方便:处理流可能提供了一系列便捷的方法来一次输入输出大批量的数据,使用更加灵活方便。

2025-02-13 22:05:18 303

原创 板刷1700记录

实际上并不是去找它们相遇时的点,我们要找的是第一个被染成蓝色的点,至于为什么是去找第一个被染成蓝色点,因为当第一个点被染成蓝色后,a点要么会先b一步,要么会与b同时进行,接下来b无论怎么走总能使该点变蓝,因此就可以转化为从此点开始求遍历树的最小步数,然后从这个点出发去求遍历树的最短的距离,至于去找第一个被染成蓝色的点,我们可以贪心的去考虑,双向奔赴的时候一定是最优的时候,此时我们可以用。,但是发现好像没什么用,这时就应该及时止损,换一个思路,但一直想了下去,发现很难去实现。这道题貌似挺简单的,因为。

2024-11-14 22:15:36 476

原创 【Codeforces Round 957 (Div. 3)】

Codeforces Round 957 (Div. 3)补题

2024-07-13 17:07:52 1382

原创 AtCoder Beginner Contest 360

算出这次的期望位置后,我们通过此次的期望位置来算出后面的期望位置,只是需要把保持在原地乘以1换成乘以此次的期望值,把改变位置的期望值中减1,改成减去此次的期望值,假如此次的期望为f[i],则。题意:把字符串每隔w个字符拆分一次,取每段的第c个字符拼接在一起,看能不能得到t。对于保持在原地,我们可以两个都不选择位置1处的球,它的概率是。,也可以选择两个都是位置1处的球,它的概率为。,因此,保持原地的概率为。,此时保持原地的期望为。然后循环k次就可以了,对于改变位置,我们有。的概率选择位置1,有。

2024-07-08 21:15:14 529

原创 牛客小白月赛97

可以先求出A类价值的上界和下届,然后B类价值就是上界减下届加一(因为在上界和下届中的A类价值的种类数都是可以取到的),上界就是区间中所有正数的数量,下届就是所有负数在前,正数从小到大排列,得到的相应最大值的种类数。分析:首先求一下序列a的前缀和,假设照度为len,然后 0<= i <= len,分别求出它的前i个数的最大值,然后A类价值就是这些最大值的个数,B类价值就是序列a的所有排列中A类价值的种类数;分析:我们需要在x的范围内去找n个平方数,如果x的范围内有a个平方数,那么找到的平方数的种类就是。

2024-07-03 14:39:53 488

原创 初步了解动态代理

为什么需要代理?代理可以无侵入式的给对象增强其他功能调用者 => 代理 => 对象代理长什么样?代理里边就是对象要被代理的样子Java通过什么保证代理的样子?通过接口保证,后边的对象和代理需要实现同一个接口,接口中就是被代理的所有方法。

2024-05-24 14:17:22 317 1

原创 初步了解反射

反射允许对成员变量,成员方法和构造方法的信息进行编程访问简单来说,就是可以通过反射获得类里边的成员变量、构造方法、成员方法。

2024-05-23 20:00:00 369

原创 TCP协议

TCP通信协议是一种可靠的网络协议,他在通信的两端各建立一个Socket对象注意:通信之前要保证连接已经建立通过Socket产生IO流来进行网络通信。

2024-05-20 22:18:56 214

原创 C语言字符串

头文件string.h。连接(拼接)两个字符串。

2024-05-16 18:09:37 291

原创 C语言输入输出

若为%x和%X格式,则以0x或0X开始,对于所有的浮点形式,#保证了即使不限任何数字,也打印一个小数点字符。对于%g和%G格式,它防止尾随零被删除。示例:“%#o”、“%#8.0f”和“%+#10.3E”对于所有的数字格式,用前导零而不是用空格填充字段宽度。示例:“%010d”和“%08.3f”有符号的值若为正,则显示时带前导空格(但是不显示符号);若为负,则带减号符号。有符号的值若为正,则显示带加号的符号;若为负,则带减号的符号。项目是左对齐的,也就是说,会把项目打印在字段的左侧开始处。

2024-05-16 18:06:24 278

原创 初始网络编程

在网络通信协议下,不同计算机上运行的程序,进行的数据运输。

2024-05-14 18:35:08 364 2

原创 线程池学习

int corePoolSize, //核心线程数量int maximumPoolSize, //最大线程数量long keepAliveTime, //空闲线程最大存活时间TimeUnit unit, //时间的单位BlockingQueue<Runnable> workQueue, //任务队列ThreadFactory threadFactory, //创建线程工厂RejectedExecutionHandler handler//任务的拒绝策略​参数很多,注意一下。

2024-05-14 17:10:00 307 1

原创 AtCoder Beginner Contest 353(蒟蒻补题)

我首先想到的是双重for循环,看了看数据范围,肯定会TLE,然后我又去仔细思考,想到了排序后二分,因为按照题意描述,排序后并不会影响答案(可以自己写几个数据观察一下),然后我想到了二分找到每个数第一个大于1e8的位置r,在r之前通过公式计算,r之后while循环计算,然后也TLE了,痛苦万分,看了看答案,一个新思路。,然后进一步分析,有一对大于1e8的减去一个1e8······cnt对就减去cnt*1e8,所以我们只需要算出。我们可以将其减去1e8,来代替对1e8取模。:看上边我截图的数据范围,1

2024-05-12 18:18:41 745

原创 多线程的学习

它被包含在进程之中,是进程中的实际运作单位。(应用软件中相互独立,可以同时运行的功能)4.创建FutureTask的对象(作用管理多线程运行的结果)3.创建MyCallable的对象(表示多线程要执行的任务)2.重写call(是有返回值的表示多线程运行结果)5.创建Thread类的对象(表示线程),并启动。3.创建子类的对象,并启动线程。多线程:有了多线程,可以让程序同时做多件事情。4.创建一个Thread类的对象,并开启线程。②实现Runnable接口的方式进行实现。①继承Thread类的方式进行实现。

2024-05-08 21:19:22 455 1

原创 Java 异常

①定义异常类②写继承关系③空参构造④带参构造。

2024-04-08 19:10:02 1550 2

原创 方法引用Java

把已经存在的方法拿过来用,当做函数式接口中抽象方法的方法体。

2024-04-03 19:12:30 497 1

原创 牛客周赛 Round 38

分析:因为是等比数列,q为2时,最多也就操作15次左右,因此我们可以直接枚举100以内的数字作为公比,为什么确定是100呢,因为此时就达到10的7次方了,并且大于100最多也就3个数,所以为了不超时,大于一百的我们再分开讨论;分析:只需要统计每两个数字间的距离len,如果大于k就除以要求最大的平滑值,注意如果len恰好能被k整除,添加的数为商减一,其他的情况直接加上商即可,还有一件事,k有可能会大于所有的len,这时候添加一个数就行了,这可以证明出来操作一次是可行的;

2024-03-26 21:27:52 407

原创 HashMap的部分源码

【代码】TreeMap的部分源码。

2024-03-25 18:42:57 172 1

原创 Codeforces Round 936 (Div.2)

思路:首先这是个寻找最小的最大值 --> 二分,所以我们可以从1到n进行二分,找到这个x,二分出一个x时,我们可以用dfs进行寻找满足x的长度进行切割,最后统计可以切割出的数量,并与k进行比较,如果大于k,返回true,否则返回false。思路:先统计出数组最大的连续子数组和,再通过观察可发现,其数值增加是2的等比数列,因此计算下它的等比数列和即可(可以用快速幂,不过好像也不需要),C.听大佬说这是个比较典的题(但我不会,值得学习)

2024-03-24 00:00:16 545 1

空空如也

空空如也

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

TA关注的人

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