自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Markdown 使用 mermaid 绘制图

mermaid 代码块”其实是 Markdown 中用于展示代码的语法,用三个反引号(```)包裹内容。如果代码块指定的语言是 mermaid,并且你的编辑器支持 Mermaid 渲染,它就能自动生成流程图、时序图等图形。Mermaid 是一个基于 JavaScript 的图表生成库,允许你用文本语法(类似 Markdown)生成流程图、时序图、甘特图等。,适合在 Markdown 文档中直接编写图表。

2025-06-15 13:35:48 1582

原创 Java/Kotlin selenium 无头浏览器 [Headless Chrome] 实现长截图 三种方式

CDP 截图,是通过 Chrome 的 Chrome DevTools Protocol (CDP) 协议进行截图。如果需要使用这个,需要保证 浏览器版本,浏览器驱动,项目 selenium 依赖,chrome cdp 的依赖。这些版本需要对应后,才能正常使用。

2025-06-11 12:54:34 573

原创 深入解析 Compose Multiplatform 自定义系统托盘实现,解决托盘乱码问题

Compose Multiplatform是 JetBrains 开发的声明式 UI 框架,可让您为 Android、iOS、桌面和 Web 开发共享 UI。将 Compose Multiplatform 集成到您的 Kotlin Multiplatform 项目中,即可更快地交付您的应用和功能,而无需维护多个 UI 实现。在(2025.06.05) Compose Multiplatform 中对于 Desktop 的开发,如果使用了托盘,会发现托盘中的中文竟然是乱码。

2025-06-05 23:17:22 373

原创 Vue 前端开发 解决链接后端并解决跨域

但是值得注意的是,axios 不能直接访问后端服务器了,因为本地 Vite 的 proxy 配置只对 开发服务器(本地浏览器访问 localhost:xxx)下的请求生效。使用其他地址可能会导致无法拦截并重定向。proxy 中的配置会将,原本访问 admin-api 的请求通过 vite 内置服务器转发到 target 中,以此解决跨域问题。的时候跨域设置,后端的URL,所以一般会将 axios 的后端URL放在配置文件里面,但是这可能会导致跨域的问题。于后端进行通信,而使用。文件,并进行以下配置。

2025-05-21 01:34:27 443

原创 kotlin Android AccessibilityService 无障碍入门

安卓的无障碍模式可以很好的进行自动化操作以帮助视障人士自动化完成一些任务。无障碍可以做到,监听屏幕变化,朗读文本,定位以及操作控件等。以下从配置到代码依次进行无障碍设置与教程。

2025-05-19 23:17:51 1280

原创 Kotlin Compose Button 实现长按监听并实现动画效果

想要实现长按按钮开始录音,松开发送的功能。发现 Button 这个控件如果去监听这些按下,松开,长按等事件,发现是不会触发的,究其原因是 Button 已经提前消耗了这些事件所以导致,这些监听无法被触发。因此为了实现这些功能就需要自己写一个 Button 来解决问题。

2025-05-19 22:03:50 1404

原创 JetBrains IDEA,Android Studio,WebStorm 等IDE 字体出现异常时解决方法

JetBrains IDEA,Android Studio,WebStorm 等IDE 中文字体出现异常,很怪的时候,通常需要设置字体回退才能解决。只有这样 IDEA 在没有中文字体的样式下,会将字体设置为。需要在 Font 中将字体连写打开,并且设置字体回退为。

2025-05-18 17:36:30 410

原创 Java 快速转 C# 教程

以下是一个针对的简明教程,重点对比 Java 与 C# 的异同,帮助你快速上手。

2025-05-17 19:53:39 1730

原创 免费内网穿透:SakuraFrp

SakuraFrp 支持各大平台,如果需要还可以在本地搭建一个网站,进行内网穿透。SakuraFrp 是一个内网穿透服务,可以穿后台、建网站、做调试、开游戏等。SakuraFrp 每次可以免费领取一些流量,基本上用不完。

2025-05-16 23:44:07 483

原创 自定义快捷键软件:AutoHotkey 高效的快捷键执行脚本软件

AutoHotkey 其实是相当于一个脚本解释器,封装了一些关于操作的函数,比如原生支持热键/热字符串,监听鼠标位置,监听鼠标和窗口的关系,高效的窗口/进程控制,系统级事件响应等。轻量级且快速启动,占用内存小,适合长时间后台运行(如监控键盘输入)可将 .ahk 脚本编译为独立的 .exe 文件,无需安装 AutoHotkey 即可运行。

2025-05-16 23:39:59 576

原创 内存不足人的福音:Mem Reduct 高定制的内存自动清理工具

是一款自动化的内存清理工具,在面对内存不足的时候,通常只有等到卡顿后,才会去检查电脑,并最后清理内存,一般情况下清理的内存都会在一段时间后回弹,治标不治本。当然 Mem Reduct 这是治标不治本,只不过他将治标的操作自动化了。运行后会在托盘处出现当前内存使用量的图标,右键图标可以对软件进行设置。可以设置自动清理的条件,比如每分钟清理,内存到达 n% 进行清理。Mem Reduct是有中文的这里素材使用的是官方的所以是英文的。

2025-05-16 23:27:18 922

原创 支持 Hyper 的手机模拟器:MuMu

经常使用虚拟机的人通常会开启 Hyper ,但是如果还想使用一些手机模拟器的话,通常就会对 Hyper 不支持。这里推荐几款支持的手机模拟器:MuMu、逍遥 这两款模拟器都是支持 Hyper 但是兼容性最好的则是 MuMu,并且 UI 界面也是非常的干净有特色。

2025-05-16 23:26:59 123

原创 Java并发编程核心组件简单了解

虚拟线程优先策略新项目直接使用 ReentrantLock旧系统逐步替换关键路径的 synchronized锁选择决策树if (需要可中断/超时 || 需要公平性 || 虚拟线程环境)→ 选择 ReentrantLockelse if (简单同步 && 短期持有)→ 使用 synchronizedelse→ 评估其他并发工具(如 StampedLock)监控指标锁等待时间(超过 10ms 需要告警)虚拟线程固定率(目标 < 5%)锁竞争频率(每秒竞争次数)

2025-05-16 19:51:52 774

原创 Kotlin 使用虚拟线程与小技巧

ReentrantLock,也被称为“可重入锁”,是一个同步工具类,在java.util.concurrent.locks包下。不推荐使用 synchronized ,因为 synchronized 会将资源在单一线程中锁起来,导致如果存在多个虚拟线程执行,每个虚拟线程中只有一个能访问到该资源。kotlin 可以通过 asCoroutineDispatcher 方法将线程池转为一个协程调度器,其中则可以包括虚拟线程池。支持在线程内和线程间共享不可变数据。它们优于线程局部变量,尤其是在使用大量虚拟线程时。

2025-05-16 19:33:29 599

原创 Kotlin 协程实战:实现异步值加载委托,对值进行异步懒初始化

在实际开发中,我们经常遇到这样的场景。

2025-05-14 17:32:41 512 1

原创 Kotlin 懒初始化值

在 Kotlin 开发中,懒初始化(Lazy Initialization) 是一种常见的优化技巧,它允许我们将对象的初始化延迟到真正需要使用时再执行。Kotlin 提供了两种核心机制来实现懒初始化: 和 。本文将深入探讨它们的使用场景、区别以及最佳实践。2. 特点仅适用于 变量:因为 的本质是延迟赋值。非空类型支持:允许你声明一个非空类型(如 )而不立即初始化。手动控制初始化时机:需要开发者显式赋值。线程不安全:多线程环境下需手动同步。3. 使用场景Android 开发中初始化

2025-05-12 19:51:21 939

原创 Java 自动下载 Chromium

CWindow 是对标签页的封装, 提供了众多封装,可以做到对任意一个 CWindow 进行操作,当对 CWindow 进行操作打的时候,会切换到特定的标签页进行操作。引入 ChromiumDownloader 库,该库可以下载与加载 Chromium。ChromiumEx 是对 ChromeDriver 的简略封装,提供了部分监听功能,比如监听标签创建,关闭,浏览器关闭,控制台日志等。ChromeOptionsExKt 是封装了对 ChromeOptions 的一些拓展方法。

2025-05-09 21:47:33 299

原创 双 Token 与 单 Token 优缺点

在Web应用开发中,身份认证和授权是保障系统安全的核心环节。随着技术演进,基于Token的认证机制逐渐取代传统Session方案,而双Token与单Token架构的选型争议也日益成为开发者关注的焦点。本文将从技术原理、优缺点对比和实际应用场景三个维度,深入解析这两种认证方案的差异与适用场景。

2025-04-17 21:25:23 942

原创 kotlin + spirngboot3 + spring security6 配置登录与JWT

spring security 6 需要使用 filterChain 来配置认证链,并且 推荐使用 DSL 方式进行配置即Lambda方式。

2025-04-17 20:51:57 491

原创 整活 kotlin + springboot3 + sqlite 配置一个 SQLiteCache

要实现一个 SQLiteCache 也是很简单的只需要创建一个Bean 即可同样的还需要 SQLite 这里 SQLite 的 url 设置为。

2025-04-16 15:17:15 508

原创 Java 搭建 MC 1.18.2 Forge 开发环境

但是关于 1.18.2 的开发教程太少,因此自己研究了一套写法,写法并非是最优的但是是探索开发MOD中的一次笔记和记录。在代码中实现了通过注解进行方块/物品的注册并进行JSON数据的生成。创建完成后即可进行 MOD 开发。推荐使用 IDEA 插件。

2025-04-04 16:55:55 579

原创 MC Forget MOD 实现扫描指定MOD的所有的类

在使用 Forget 开发的时候,常常因为没有提供很好的工具类无法很方便的进行反射扫描类,以及对其实体类进行自动的反射注册。所以有了以下文章。Forget 作为一个框架以及MOD的加载器肯定包含了类加载以及类扫描的功能,但是由于本人实力尚浅没有找到提供的方法以及工具类,因此选择了另辟蹊径。环境:jdk 17。

2025-03-17 14:29:07 571

原创 解决 Java/Kotlin 资源加载问题

在对 Jar 的 Resources 目录下的资源加载时候有很多方法,一般这个方法不行就换个方法。在下一个常见就发生这个方法不行上个方法可以,造成这个结果的原因就是,资源是由类加载器进行加载的,如果当前的类加载器无法加载到资源就需要使用其他的类加载器进行加载。通常使用以下的类加载器大部分造成资源无法加载的场景为负责加载的类加载器和负责加载资源的类加载器不是同一个。

2025-03-10 20:20:10 676

原创 Kotlin 实现图片缩放

【代码】Kotlin 实现图片缩放。

2025-03-07 06:00:00 193

原创 Kotlin 绘制图片文字并自动换行

【代码】Kotlin 绘制图片文字并自动换行。

2025-03-06 06:30:00 456

原创 Kotlin 图片调整亮度

【代码】Kotlin 图片调整亮度。

2025-03-05 01:12:53 324

原创 Kotlin 实现图片裁剪

【代码】Kotlin 实现图片裁剪。

2025-03-05 01:11:31 306

原创 Kotlin/Java 实现 Html 转图片

前往下载 https://wkhtmltopdf.org/downloads.html。由于过于复杂这里使用基于的html转图片代码。自行使用命令行调用即可。

2025-03-05 00:57:19 1116

原创 解决 windows 11任务栏自动隐藏,窗口最大化后鼠标放到最下方任务栏不弹出了

系统用久了就会出现一堆奇奇怪怪的事情,比如任务栏设置了自动隐藏后,鼠标放在屏幕最下方不能自动弹出等问题。造成问题的原因不知道,但是重启资源管理器就可以解决,但是未免太过麻烦,因此四次搜寻解决方法,最后决定自己解决。实时监控鼠标位置,如果鼠标位于了指定位置就唤醒任务栏。

2025-03-02 13:05:19 2469 1

原创 对 Steam 下载的一次猜想

Steam 下载每次下次分配的硬盘空间通常是很小的,对比一些古董一般的游戏下载,需要将所有的游戏文件下载到本地,之后才能进行解压,这通常需要一倍以上的硬盘空间才能完成。而现代的游戏下载是一边下载一边解压,甚至下载到一部分还进行部分游戏在这对游戏的分块下载进行一定的猜想和复现。

2025-03-01 19:56:28 782

原创 Win 修改 Powershell ls 命令

在 Windows PowerShell 中,ls 是 Get-ChildItem cmdlet 的一个别名。这意味着当你在 PowerShell 中输入 ls 时,实际上是在执行 Get-ChildItem 命令,它用于列出目录内容。为了解决这个问题,我使用 GO 写了一个 ls 命令, 这个命令是仿照 linux 的 ls 命令。Get-ChildItem 输出是有一些问题的,比如行间距过宽等,极度不美观。为了能正常将自己写的Ls 程序能在 win 中正常使用。

2025-02-23 06:15:00 555

原创 java类加载器

=学习B站视频:BV16T4y1P79h的笔记==Java类加载器是Java运行时环境的一部分,负责动态加载Java类到Java虚拟机的内存空间中。下面让我们看一下下面的代码,来引发我们对类加载器的一些思考//获取 WathClassLoad.class的类加载器//打印 WathClassLoad.class 的类加载器(AppClassLoader)System.out.println("WathClassLoad.class 的类加载器: "+wathClassLoad);

2025-02-22 06:00:00 1589

原创 Java 小技巧

Lambda 允许把函数作为一个方法的参数(函数作为参数传递到方法中)。方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。方法引用通过方法的名字来指向一个方法。方法引用可以使语言的构造更紧凑简洁,减少冗余代码。方法引用使用一对冒号。

2025-02-21 06:00:00 1045

原创 IDEA 断点小知识

日志断点是一种非常有用的调试技巧,它允许你在代码运行到特定位置时记录信息(例如变量的值)到控制台或日志文件中,而无需暂停程序的执行。这种方法在你想要监控某些变量或表达式的值变化而又不想中断程序正常流程的情况下特别有用。在 IntelliJ IDEA 中,条件断点允许你在特定条件下暂停程序的执行,而不是每次执行到断点位置都暂停。这对于调试复杂的逻辑或循环非常有用。异常断点是一种非常有用的调试工具,它允许你在特定类型的异常被抛出时自动暂停程序的执行。这对于快速定位和修复异常问题特别有帮助。

2025-02-20 06:30:00 1542

原创 如何在 win 中使用 Rider 将 c# 编译为 linux 平台的应用

如果存在多个配置都可以运行,这样就可以实现同时发布多个平台的配置。首先这里就不对环境准备进行更多描述了,直接快进到配置编译。新建发布配置,新建为发布到本地。选中配置进行运行即可。

2025-02-19 06:30:00 366

原创 Kotlin 将回调方法转为协程

将回调转为协程的场景有两个,一个是将自己的代码自己写出了一个需要回调的方法需要将他转为协程,一个是将库里面的回调方法封装为一个协程方法。对于第一个将自己的代码转为协程,这个自己去修改代码即可,如果不能修改可以使用第二个方法,将回调方法封装为一个协程方法。本文这里只讨论如何将一个回调方法转为一个协程方法。将回调方法封装为一个协程方法重点就是使用函数。

2025-02-18 06:15:00 467

原创 Vue3 生成 router 的脚本

市面上有插件可以自动生成路由,但是为了应付老师的要求只能去自动生成路由,不然的话手动去配置路由会让人抓狂。

2025-02-17 06:30:00 470

原创 JAVA 控制台输出设置字体颜色格式等

注意如果不清除格式那么他会一直使用。该数字不局限于一下几种。

2025-02-16 11:44:24 357

原创 Kotlin 如何反编译查看代码

甚至被IDEA 隐藏了众多细节,这时候需要对其进行反编译。IDEA 提供了 Kotlin 的反编译工具。在查看Kotlin 编译的 Class 的时候需要进行一些反编译手段,否则可读性是非常差的。,在打开 class 文件的时候会显示反编译后的源码。这个工具, 这个工具在打开源代码的时候会显示。如果并没有显示的反编译结果的时候,需要手动点击。

2025-02-16 06:30:00 611

原创 Vertx 是如何检测 Event Loop 线程被阻塞的

每次使用 Vertx 就会对 Vertx 如何检测 Event Loop 线程被阻塞的很好奇,并对其进行了很多猜测,无论是猜测它每次执行一个任务完成后就向某个线程发送信息如果没有收到就发送阻塞信号,或者是某个线程对每个 Event Loop 线程进行检测,检测它的执行时间是否超过了指定的时间。当然这里的 Vertx 是使用的第二个方式。Vert.x 中内置一种用于检测 Event Loop 是否阻塞的线程:vertx-blocked-thread-checker。

2025-02-15 06:15:00 1145

OpenHardwareMonitorServer

OpenHardwareMonitor 服务器,可以让程序通过HTTP协议访问 OpenHardwareMonitor 获取的数据。更多参数可以输入 -help 来查询。 包含 CPU,GPU,硬盘,内存,网络 硬件监控,并且都可以获取到温度等指标

2025-02-10

windows 平台下音频文件转为 silk 文件

windows 平台下音频文件转为 silk 文件

2025-01-28

golang 配色方案, 以蓝色,粉色,金色,绿色为主

golang 配色方案, 以蓝色,粉色,金色,绿色为主

2025-01-28

Leyden 目前(2024/6/20)为止提供的 Linux / x64 JDK

Leyden 目前(2024/6/20)为止提供的 Linux / x64 JDK。包是免费下载,转储自 leyden

2025-01-24

Leyden 目前(2024/6/20)为止提供的 macos-aarch64 JDK

Leyden 目前(2024/6/20)为止提供的 macos-aarch64 JDK。包是免费下载,转储自 leyden

2025-01-24

空空如也

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

TA关注的人

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