自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 资源 (1)
  • 收藏
  • 关注

原创 几个有趣的算法

本文介绍了四种常用算法实现:1) 全排列算法通过递归和栈结构生成下标的所有组合;2) 欧几里得算法递归求解最大公约数;3) 基于gcd计算最小公倍数;4) Knuth洗牌算法通过随机交换实现数组乱序。这些算法分别采用回溯、数论和概率方法,涵盖了排列组合、数学运算和随机化处理等常见编程场景。代码采用Java实现,包含清晰的注释说明各方法的参数和功能。

2025-10-28 00:00:11 115

原创 文件操作工具类

这是一个Java文件操作工具类,提供文件读写功能。主要特点包括:1) 支持按路径或File对象读取/写入文件;2) 可指定字符编码(默认UTF-8);3) 包含读取classpath资源的方法;4) 使用try-with-resources确保资源释放;5) 空值检查和异常处理。工具类封装了常见的文件操作,简化了文件读写流程,支持文本文件的完整读写操作。

2025-10-22 00:25:57 171

原创 浏览器监听、拦截按键事件

本文介绍了如何通过JavaScript监听并拦截浏览器的按键事件,将上下方向键转换为左右方向键。代码在Chrome验证有效,适用于部分网页(如优快云博客图片浏览页)。通过keydown事件捕获按键,拦截上下键(keyCode 38/40)并重新派发为左右键(keyCode 37/39)。文中提到keyCode已废弃,建议使用key/code属性,但在Chrome中仍依赖keyCode实现。代码包含事件打印和拦截逻辑,通过preventDefault()阻止默认行为。

2025-10-22 00:24:32 231

原创 ZIP工具类

这篇文章摘要如下: Java ZIP工具类提供了压缩和解压缩的常用方法。主要功能包括:1) 将指定目录下的所有文件压缩为ZIP文件或输出流;2) 支持自定义父路径以确定压缩文件相对路径;3) 解压ZIP文件到指定目录并返回解压文件列表。工具类使用ZipOutputStream/ZipInputStream实现核心功能,处理文件路径时使用Paths.normalize()规范化路径,并通过缓冲流提高IO效率。所有方法都包含异常处理,使用Lombok的@Slf4j记录错误日志。该工具类封装了ZIP操作常见场景,

2025-10-21 00:31:00 232

原创 集合工具类

本文介绍了集合操作工具类CollectionUtil,提供了多种集合处理方法。主要功能包括:拆分列表(splitList)、判断集合是否为空(isEmpty)、获取两个集合的差集(complementary)、交集(intersection)、并集(union)、移除空元素(removeNull)以及比较集合元素是否相同(equals)。这些方法通过泛型支持多种数据类型,处理了空集合等边界情况,并采用排序后逐一比较的方式实现集合相等性判断。该工具类简化了常见的集合操作,提高了代码复用性。

2025-10-16 00:46:40 425

原创 HTTP 接口调用工具类(OkHttp 版)

本文介绍了HTTP基础知识及一个基于OkHttp的同步HTTP请求工具类实现。首先概述了9种常见HTTP方法(GET、POST、PUT等)的特点及适用场景,特别指出哪些方法支持请求体。随后展示了一个Java实现的HTTP工具类,支持GET/POST/PUT等多种请求方式,包含同步调用、JSON/表单数据格式处理、文件上传等功能。工具类通过OkHttpClient实现,提供了超时设置和统一响应处理。代码示例包含枚举类定义、请求构建和响应处理逻辑,适用于需要简单HTTP客户端功能的Java项目。

2025-08-24 23:31:53 719

原创 JSON格式化与结构对比

该JSON工具类提供两个核心功能:1) 格式化JSON字符串为最简结构并标注值类型;2) 比对两个JSON结构差异。采用fastjson解析JSON,支持三种特殊比对规则:null与任何类型相等、空对象互等、空数组互等。主要方法包括format()格式化JSON和compareStruct()比较结构差异,内部通过递归处理JSONObject和JSONArray。格式化时会保留结构框架但移除具体值,仅保留值类型标识;比对功能会输出结构变化(增删改)。

2025-07-27 18:17:02 372

原创 MyBatis TypeHandler的编写

本文介绍了MyBatis自定义TypeHandler的实现方法

2025-07-06 17:21:59 398

原创 Spring Boot中拦截器的编写

Spring Boot中拦截器的编写

2025-06-27 00:45:16 961

原创 MyBatis 插件开发

本文介绍了MyBatis拦截器的实现方法

2025-06-22 13:56:15 358

原创 控制台打印带格式内容

本文介绍了如何在控制台中打印带颜色和格式的文字,使用转义符 \033[ 配合参数实现样式设置。样式结束使用 \033[0m 恢复默认格式。文章详细说明了参数的含义,包括字体颜色、背景颜色及其他格式(如粗体、斜体、下划线等)。通过 Java 代码示例,展示了如何定义格式参数枚举类及内容格式化类,并提供了测试代码,验证了在 IDEA 控制台中输出带格式文字的效果。

2025-05-11 22:32:10 408

原创 安卓OCR使用(Google ML Kit)

安卓OCR使用(Google ML Kit)

2025-01-06 01:11:12 1992

原创 安卓触摸对焦

触摸对焦需要通过`setFocusAreas()`设置对焦区域,而该方法的参数的坐标,与屏幕坐标并不相同,需要做一个转换。

2025-01-05 05:53:16 1315 1

原创 安卓触摸事件的传递

安卓触摸事件的传递

2024-12-30 01:56:15 954

原创 Java获取自身被调用点

打印日志的时候,需要获取是在哪个地方被调用了,把调用点的信息一并打印出来。可以通过获取线程的调用栈,遍历后找到调用点。

2024-12-27 00:00:34 355

原创 安卓延迟自动点击

安卓延迟自动点击

2024-11-30 22:58:55 1176

原创 安卓动态添加View

在安卓应用中,有很多时候需要动态添加View。比如从后台获取商品列表,根据商品数量在页面渲染对应数量的条目,这时候就需要动态添加View。

2024-11-24 02:22:28 1683

原创 安卓CameraX的使用

注:Jetpack是一个由多个库组成的套件,可帮助开发者遵循最佳做法、减少样板代码并编写可在各种Android版本和设备中一致运行的代码,让开发者可将精力集中于真正重要的编码工作。谷歌的文档只提供了Kotlin的代码示例,根据Kotlin的代码示例和文档,本文提供Java的实现。

2024-11-19 07:59:29 2389

原创 安卓多点触控

对于普通的点击事件,调用View对象的方法注册点击事件的监听即可,但是如果要处理更加复杂的触控事件时,这种方式就无法满足我们的要求了,此时我们就可以监听所有触摸事件,自行处理触摸事件。

2024-10-29 01:43:54 1566

原创 区间的合并

区间的合并。

2024-08-30 01:10:15 545

原创 TreeMap自定义排序

使用自定义排序规则对TreeMap进行实例化。

2024-08-07 23:42:58 1301

原创 Java在for循环中修改集合

尽量不要在遍历中修改集合本身(修改集合中的元素的属性没问题),除非你能明确知道该操作导致的后果。如果需要在循环中移除元素,可以使用迭代器iterator。

2024-07-21 18:17:32 1083

原创 App测试自动化工具Airtest的使用

是由网易游戏推出的UI自动化测试解决方案,是一个跨平台的、基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Android和iOS。AirtestIDE对Python进行了封装,通过Airtest、Poco两个框架对应用元素进行定位,可以使用python的语法编写脚本。除了UIAutomator2外,还有Appium、AirTest等App自动测试框架。本文是App测试自动化系列工具之UIAutomator2的使用。

2024-07-21 03:34:39 2797

原创 App测试自动化工具UIAutomator2的使用

是一个安卓App测试的自动化工具,它通过模拟点击实现对App的功能测试。除了UIAutomator2外,还有Appium、AirTest等App自动测试框架。本文是App测试自动化系列工具之UIAutomator2的使用。

2024-07-14 04:05:32 3518

原创 NetQ安装教程

NetQ安装教程

2024-07-03 23:51:51 889

原创 Web测试自动化工具Selenium的使用

如果你用PyCharm进行调试,可能碰到已经将chromedriver配置到环境变量中,但还是启动浏览器失败的情况,这可能是因为当前项目的虚拟环境中没有chromedriver(此时环境变量中的chromedriver并未起作用)。如果chrome是最新版本,使用最新版本的chromedriver无法驱动chrome时,可以在。chrome版本和chromedriver版本是一一对应的(并非严格对应,下载离chrome版本最近的chromedriver即可),在chrome浏览器访问。

2023-12-05 00:23:16 889

原创 EasyExcel多次写入数据&多个EasyExcel文件导出到zip压缩文件

EasyExcel多次写入数据&多个EasyExcel文件导出到zip压缩文件

2023-08-12 22:46:53 1942

原创 Spring Boot配置文件中的配置项加密&jasypt使用

使用jasypt对Spring Boot配置文件中的配置项加密

2023-08-12 00:46:11 1398

原创 Mybatis分步查询

Mybatis分步查询

2023-07-09 01:29:29 1473

原创 html掉落本地图片效果

html掉落本地图片效果

2023-07-02 22:22:57 1412 1

原创 Java执行Python代码的两种方法(Jython与ProcessBuilder)

Java执行python代码有很多种方法,这里介绍两种,Jython和ProcessBuilder,并简要介绍下它们的优缺点。

2023-07-02 19:14:26 4121

原创 使用EasyExcel读写Excel文件

使用EasyExcel读写Excel文件

2023-07-02 00:00:43 3677 1

原创 Excel文件导入&导出工具类

之前写过一篇导出Excel文件的通用类的文章,当时只实现了导出数据到Excel的功能,这次在上次的基础上,增加从Excel读取数据到List的功能,依旧使用POI读取Excel文件。

2023-07-01 20:22:36 1826

原创 分别使用dom4j和jdk自带的方法解析xml文件

分别使用dom4j和jdk自带的方法解析xml文件。

2023-06-24 18:00:45 319

原创 根据数据库定义语句DDL生成实体类和Mybatis增删改查代码

根据Navicate的数据库定义语句DDL生成实体类和Mybatis增删改查代码输出到控制台。

2023-04-22 21:03:24 971

原创 OpenPDF使用教程及样例代码

使用OpenPDF生成pdf文档

2023-03-26 19:40:30 12537 11

原创 Chrome插件开发-右键菜单开启页面编辑

开发一个执行js脚本改变页面DOM的Chrome插件,`manifest_version`版本为3。

2023-03-19 19:47:08 3705 1

原创 好记性不如烂笔头(2)

记录一些小技巧

2023-03-12 22:40:02 454

原创 Java实现Unicode与普通字符的转换

Java实现Unicode与普通字符的转换

2022-11-14 00:39:18 3584

原创 控制台打印进度条

控制台打印进度条

2022-11-13 22:15:01 1137 2

mongodb连接工具

连接mongodb数据库工具,比compass好用,可直接使用sql查询

2020-11-16

空空如也

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

TA关注的人

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