- 博客(11)
- 收藏
- 关注
原创 @JSONField
JSONField 是 FastJSON 中用于定制 JSON 序列化 / 反序列化规则的核心注解,通过 name、format、serialize 等属性,可灵活控制字段的映射关系、格式和可见性,是处理 Java 对象与 JSON 转换的重要工具。@JSONField 是 阿里巴巴 FastJSON 框架提供的注解,用于控制 Java 对象与 JSON 之间的序列化 / 反序列化行为,比如指定字段的 JSON 键名、格式化日期、忽略字段等。
2025-08-29 11:44:06
559
原创 ThreadLocal 如何为每个线程缓存独立实例
线程安全:无需同步锁,因为每个线程操作自己的实例,天然线程安全(适合管理非线程安全的对象,如 XPathFactory、SimpleDateFormat 等)。隔离性:ThreadLocal 通过线程私有 ThreadLocalMap 实现变量隔离,每个线程的实例完全独立。实例本身作为 key,要缓存的变量实例作为 value,被存入当前线程的 ThreadLocalMap 中。中获取对应的 value,因此每个线程只能访问到自己缓存的实例,与其他线程完全隔离。3.线程访问变量时,
2025-08-05 14:27:01
283
原创 xpath基础
XPath(XML Path Language)是一种用于在XML和HTML文档中查找信息的查询语言,主要通过路径表达式来定位节点元素。XPath 2.0/3.0增加了更多函数和序列处理能力,但1.0版本仍是应用最广泛的。掌握XPath能显著提升XML/HTML文档的处理效率。路径表达式:使用类似文件路径的语法定位节点,如/html/body/div1。节点类型:包括元素节点、属性节点、文本节点、命名空间节点等7种类型。设计初衷:作为XSLT、XPointer等技术的查询基础。// 从任意位置选取。
2025-07-08 18:04:03
177
原创 ‘npm install‘和‘node_modules’相关问题
node_modules目录的作用是存放项目的依赖包,它的结构通常是根据依赖关系自动生成的。当执行npm install命令时,npm会根据package.json文件中的依赖配置,递归地下载并安装所有依赖包,并将它们存放在node_modules目录下。了解更多信息,请访问云函数产品介绍。当执行npm install命令时,npm会将下载的依赖包存放在node_modules目录下。在开发过程中,我们可以通过require语句引入node_modules目录中的依赖包,从而在代码中使用这些包提供的功能。
2025-06-27 17:26:12
397
原创 正则表达式贪婪模式关闭
贪婪模式关闭(非贪婪模式)指正则表达式量词匹配时尽可能少地捕获字符,与默认的贪婪模式(尽可能多匹配)相反。该模式常用于提取含.uid-row-{数字}前缀的字符串片段,并忽略后续可能的.uid-后缀或直接结尾的情况。.uid-row-\d+:匹配字面量.uid-row-后接1个以上数字。.uid-row-\d+):第一个捕获组(贪婪模式关闭):.uid-|$):非捕获组,匹配.uid-或字符串结尾。模式 符号 匹配原则 示例输入 a1b2b。
2025-06-26 12:05:03
297
原创 Java正则表达式Pattern及Matcher常用方法
group(int group):返回指定捕获组匹配的子串,组号从1开始(group(0)等价于group())正则表达式中的()定义捕获组,例如"(\d+)([a-z]+)"包含两个组。正则表达式中的()定义捕获组,例如"(\d+)([a-z]+)"包含两个组。group()或group(0):返回整个正则表达式匹配的完整字符串。groupCount()可获取总捕获组数量(不包含group(0)。matches():要求整个字符串完全匹配正则表达式。group():返回整个正则表达式匹配的完整字符串。
2025-06-26 10:53:37
313
原创 筛选出2个Map中不同的key
摘要:比较两个Map的不同key可通过多种方法实现:1)使用Set的removeAll方法(会修改原集合);2)Java 8 Stream API(推荐,原集合不变);3)Guava的Sets工具类;4)通过合并集合并移除交集获取对称差集。建议对大Map使用Stream或Guava方法,既保持原集合又性能较优。
2025-06-06 14:25:17
270
原创 mysql悲观锁读时加锁吗
对于排他锁(X锁),通常由SELECT …然而,其他任何试图访问这些数据行的事务都将无法获得该资源上的任何形式的锁(无论是共享锁还是排他锁),直到持有排他锁的事务完成并释放锁为止。当一个事务对某条记录加上了共享锁之后,其他事务仍然可以对该记录进行读取操作,但是不能对其进行修改或删除操作。这意味着,在使用共享锁的情况下,读操作本身并不阻止其他事务的读操作。需要注意的是,InnoDB作为MySQL默认的支持事务和外键约束的存储引擎,其行为取决于具体的查询条件以及所涉及列是否存在有效的索引结构。
2025-04-28 10:58:36
167
原创 Java 根据es索引创建时间查询索引
在Java中,如果你使用的是Elasticsearch的Java客户端(例如官方的RestHighLevelClient),你可以根据索引的创建时间来查询索引。索引的元数据中包含了创建时间,你可以通过查询这个时间来筛选出特定时间范围内创建的索引。在这个示例中,我们使用了一个时间范围查询(RangeQueryBuilder)来找出创建时间在"2023-01-01T00:00:00"之后的所有索引。请注意,这个查询假定你的索引文档中有一个字段名为"@timestamp",并且这个字段是用于记录索引创建时间的。
2024-08-22 12:10:39
892
原创 Java中删除一个文件夹下的所有文件(包括子目录内的文件)
Java中删除一个文件夹下的所有文件(包括子目录内的文件)public static void main(String[] args) {File file = new File(“D:\file”);deleteFile(file);}public static void deleteFile(File file){//判断文件不为null或文件目录存在if (file == null || !file.exists()){System.out.println(“文件删除失败,请检查文件路
2022-04-11 14:51:19
3390
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅