- 博客(363)
- 资源 (4)
- 收藏
- 关注
原创 idea 修改项目参数, 不修改application.yaml文件
本地需要打印sql, 如果直接修改application.yaml文件, 则每次提交git 时需要剔除。放到 Program arguments里面 就可以生效。或者需要用git命令标记跳过(写命令路径嫌麻烦)最简单的方式还是在idea上修改。
2025-01-04 17:33:04
583
原创 jackson反序列化, 多个json字段映射到同一个java属性上
比如 上面代码示例中, sku_id:456 是比较靠后的, 所以obj对象中的skuId的值是 456。在项目开发中遇到一个现象, 上游提供的api中, v1版本字段格式是驼峰, v2版本需要改成下划线格式。此时skuId的取值是根据 json文本中 2个字段的先后顺序, 取后者。由于跟着改就需要做发版操作, 为了避免这种情况, 就可以提前处理。
2024-07-11 10:56:15
554
原创 Java 时区 与 相关类
DST(Daylight Saving Time),夏令时又称夏季时间,或者夏时制。它是为节约能源而人为规定地方时间的制度。一般在天亮早的夏季人为将时间提前一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。全球约40%的国家在夏季使用夏令时,其他国家则全年只使用标准时间。标准时间在有的国家也因此被相应地称为冬季时间。在施行夏令时的国家,一年里面有一天只有23小时(夏令时开始那一天),有一天有25小时(夏令时结束那一天),其他时间每天都是24小时。
2024-06-20 10:46:13
815
转载 在什么情况下需要使用“强制索引“
在数据库管理中,使用强制索引是一个特定的优化策略,当自动的查询优化器选择的索引不是最佳选择时,数据库管理员或开发者可以强制指定一个或多个索引。
2024-05-02 14:33:57
259
原创 jedis换成redisson, map数据转json不一致问题
因此B项目需要使用自定义的编码器, json序列化框架是springBoot自带的jackson。在迁移项目中, 遇到了map结构存储的json文本不一致问题。B项目使用的是redisson。A项目使用的是jedis。
2024-01-17 17:57:26
577
原创 SpringBoot ObjectMapper 返回json 指定字段排序
ps: 在用JsonPropertyOrder时, 别写成了 @JsonPropertyOrder({"code, name"})当 @JsonPropertyOrder用在类上, @JsonProperty用在字段上时,JsonProperty优先级更高, JsonPropertyOrder不会生效。
2024-01-12 11:39:19
1011
原创 Condition的await 和 Object的await 区别是什么
更加灵活、精确的线程等待/唤醒机制,适用于一些需要更细粒度控制的场景。但在一般情况下,如果只是简单的线程等待和唤醒操作,使用。方法来等待指定条件、通知等待线程和通知所有等待线程。方法发出信号来满足条件,或者等待超时,才会重新竞争锁并继续执行。方法时,线程会释放持有的锁,并进入等待状态,直到其他线程通过。方法来实现等待操作,也是在某个条件满足前让线程进行等待。方法来进行等待和唤醒操作,无法直接指定特定的条件。提供了更加精确的线程等待/唤醒机制。中的等待/唤醒机制比较简单,只能使用。--源于chatgpt。
2023-10-11 14:49:14
437
原创 HttpStatusCodeException.getResponseBodyAsString 乱码
springboot框架升级后, http的响应头Content-Type的值规范, 由原来的"application/json;postman直接调用a中的接口, 接口报错, msg里的错误信息是正常显示。因为没有指定编码格式为utf-8, 项目b在处理接口400错误时,解决方案: 在项目a中对, 消息返回体 手动设置为utf-8的编码。默认使用的是"iso8859-1", 因此出现了乱码。当调用接口报错时, msg里的错误信息是乱码。调用过程: 请求方>>项目b>>项目a。
2023-10-06 11:28:33
568
原创 环境搭建 npm安装
2.安装就是next;完成后, 默认会在 系统变量path下 添加nodejs的路径, C:\Program Files\nodejs。2.5. node -v 以及 npm -v 查看版本号, 以及是否安装成功。4.5用命令 npm list -global 检查是否修改正确。接下来可以了解, npm的常用命令 和 其他相关知识。当前用户的目录下 创建 ".npmrc"文件。3.手动设置全局模块文件夹, 缓存文件夹。5.软件下载仓库的地址, 修改成淘宝。3 和 5可以简化成。
2023-08-10 12:09:28
964
原创 InterruptedException 时应该如何处理
方式2: 调用Thread.currentThread().interrupt();注释1, 是针对出现InterruptedException时的处理, 由于异常捕获时会使得。也正因为是需要写退出逻辑, interrupt()和isInterrupted()才有意义。当前的做法: 什么都不做, 或者 打印异常的堆栈信息, 或者 记录log。由于上面的例子, 用了while循环, 所以必须要注意退出逻辑的写法,否则跟不写/打印异常的堆栈信息/记录log, 这些操作相比, 没有区别。
2023-08-02 15:53:58
311
原创 cmd 实现启动mysql时保留窗口
因为mysql启动后, 只有在任务管理器里能看到进程, 关的时候还需要找一下。保存为 start.bat 文件, 用的时候双击运行就很方便。1.有窗口驻留, 不用再去任务管理器里看 或者 执行命令。所以基于 start cmd /k 命令实现了该效果。2.关闭窗口时进程也随之关闭。实现了个人想要的效果。
2023-07-31 15:08:08
1042
原创 idea copy referenece 拷贝 包名+类+方法名 失效
发现 Paste without Formatting 的按键组合是, ctrl+alt+shift+v。最近在使用idea 拷贝类的完整路径, 和方法名时, 发现粘贴出来的 只有选中的部分。2.使用快捷键ctrl+alt+shift+c。搜索了好久都没发现原因, 后面去看了下快捷键。跟ctrl+c是一样的效果。1.选中类名/方法名。
2023-07-11 11:08:22
2033
2
原创 Jackson 对象被序列化2次后, json字符串 里有反斜杠
/ 手动转回成json字符串一次, 此处不能用toString 否则值是之前的格式。// 再把json格式的字符串转回 map对象。如果被序列化处理了2次。// 此时的字符串是。
2023-07-04 16:45:10
1670
原创 Nacos SpringBoot 动态配置 不生效
浏览器访问地址 127.0.0.1:8848/nacos/v1/cs/configs?但是项目里的接口 nacos/test 始终不能动态修改值。最终发现是application.yaml 文件里写了配置值。无奈之下开了个新项目, 使用相同的配置, 找到了突破点。用nacos的接口查看修改配置。可以看到都是每次修改都是成功的。
2023-06-20 18:07:27
2588
原创 nacos 通过url查看 config配置内容, 提示 config data not exist
在排查一个项目问题时, 想查看下nacos服务是否正常根据官方文档。
2023-06-09 15:13:01
3445
原创 字符编码与java中的 数字前缀
对于某一个字符的 UTF-8 编码,如果只有一个字节则其最高二进制位为 0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为 1 的个数决定了其编码的位数,其余各字节均以10开头。为了方便观察, 手动分割 , 得到: 0110,0111, 0000,1000。首字节, 最高位有几个1, 就是几字节长度, 剩下的是有效位。后面的字节,都是10开头, 剩下的是有效位。得到Unicode的表示: U+6708, \u6708。转16进制 6,7,0,8。在了解字符编码时, 扩展了解到。
2023-05-13 18:27:59
1017
原创 springboot配置文件加载顺序, java启动参数优先级
(12)、jar包外面的 Profile-specific application properties (application- {profile} .properties和YAML)(13)、jar包内的 Profile-specific application properties (application-{profile}.properties和YAML)(1)、在您的HOME目录设置的Devtools全局属性(~/.spring-boot-devtools.properties)。
2023-05-10 15:22:33
1270
原创 mysql uft-8mb4 emoji表情 保存报错
仔细想想 mysql保存报错, 本质上是默认的uft-8是utf-8mb3, 3字节, 不支持utf-8mb4的 4字节。一开始的思路是用正则过滤emoji表情, 但找这个正则比较麻烦, 范围段比较多。所以转变思路, 问题变成, 如何判断是否包含utf-8mb4的字符?也可以用hutool的包。
2023-05-09 17:42:09
251
原创 修改 cmd 编码格式为 UTF-8
Win + R 搜索 regedit 打开注册表编辑器,按路径 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor,新建字符串值,名称Autorun,数据chcp 65001。
2023-01-03 02:04:52
223
原创 jdk11 编译报错 compiler message file broken: key=compiler.misc.msg.bug arguments=11.0.2, {1}, {2}, {3},
无
2022-11-28 16:31:56
2349
1
原创 idea 安装新插件后 无法启动
C:\Users\{用户名}\AppData\Roaming\JetBrains\IdeaIC2022.2\plugins。C:\Users\{用户名}\.IntelliJIdea2019.3\system\log。安装了几个插件, 项目重启后, 不能打开项目。然后根据 修改日期, 看下最近装的插件,简单来说就是插件冲突。
2022-10-07 17:52:33
4272
1
原创 cmd命令 根据文件名 执行最高版本的cmd文件
2.用findstr /C:"搜索的关键字" 或者 findstr /V "排除的关键字" 进行过滤。如: 一开始只有1个功能就是 xxx_v1.cmd, 加了功能就是 xxx_v2.cmd。至于为什么不直接在源文件上写, 有时候越高的版本代码量越多, 想回过头看看一开始的版本。假设有 xxx_script v1.cmd xxx_script v2.cmd。所以遇到的问题就是, 如何实现 自动选择 xxx_v2.cmd 进行自动执行。3.用for循环, 版本越高的都是在最后一行。
2022-09-09 12:45:39
509
原创 windows10 使用 postgreSQL
文件末尾的加密方法 都修改为 trust。3.使用自带的pgAdmin ,进行修改。安装基本上是下一步(略)
2022-08-31 13:56:49
708
原创 @SpringBootTest 调用url遇到 Connection refused: connect
SpringBoot的单元测试, 为什么调不通项目里的url? 原因竟然是webEnvironment没设置正确
2022-08-27 03:59:33
1524
原创 windows bat脚本 理解 执行bat后 不关闭窗口 继续输入命令
有些时候需要 执行bat后, 任然保留 cmd窗口一开始想到用pause, 但暂停不能输入命令搜索了一下方法如下dircmd就是在最后一行执行cmd即可
2022-05-10 01:18:49
6044
原创 Java lambda stream 集合相关操作 备忘
list对象转map结构Map map = list.stream().collect(Collectors.toMap(item -> item.getId(), v-> v,(k1,k2)->k1));java8利用流和lambda表达式对list遍历处理 - Yusco - 博客园
2022-04-27 01:54:23
512
原创 idea yapi插件 上传的请求body 总是form
req_body_type 形式有4种,分别是 form, json, file 和 raw使用idea插件上传的接口, 默认都是 form表单的形式, 期望是json后面才发现, 是因为只有一个参数使用@RequestBody导致的public String test(@RequestBody User user, Shop shop)改成都是@RequestBody的就好了如:public String test(@RequestBody User user, @Req
2022-04-19 23:36:48
582
Chrome 扩展程序 jQuery Audit 免费下载
2017-03-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人