- 博客(16)
- 收藏
- 关注
原创 Java 信号量(Semaphore)详解
Java信号量(Semaphore)是并发编程中的重要同步工具,用于控制资源访问的线程数量。其主要作用包括流量控制、资源池管理、互斥访问和线程协调。常用方法包括acquire()获取许可、release()释放许可、tryAcquire()尝试获取许可等。信号量具有公平/非公平模式选择、许可数量动态调整等特性,使用时需注意异常处理,确保在finally块中释放许可。该工具能有效协调多线程对共享资源的访问,提高系统稳定性。
2025-11-24 09:43:05
166
原创 SpringDataRedis依赖中核心API(RedisTemplate)的常用方法
实现计数器(如文章阅读量、订单编号生成)。:存储简单的键值对(如用户会话、配置项)。:存储唯一值集合(如文章标签、用户兴趣)。:批量执行命令,提升性能(如初始化数据)。:存储对象属性(如用户资料、商品详情)。:实现简单队列(如任务调度、消息处理)。:控制缓存有效期(如验证码、临时令牌)。:实现消息广播(如通知系统、实时更新)。:无返回值,消息会发送给所有订阅者。:检查字段是否存在(如权限验证)。返回取出的值,队列为空时返回。返回存储的值,未找到返回。返回指定范围的成员集合。:按操作顺序返回结果的。
2025-04-01 17:30:24
405
原创 Jackson库中的核心类(ObjectMapper)常用方法以及作用
从输入流中读取 JSON 数据并反序列化为指定类型的 Java 对象。:从字符流中读取 JSON 数据并反序列化为指定类型的 Java 对象。:从文件中读取 JSON 数据并反序列化为指定类型的 Java 对象。:将 JSON 字符串反序列化为指定类型的 Java 对象。:将 Java 对象序列化为 JSON 并写入输出流。:将 Java 对象序列化为 JSON 并写入字符流。:将 Java 对象序列化为 JSON 并写入文件。:将 Java 对象序列化为 JSON 字符串。:将对象转换为另一种类型。
2025-03-21 14:11:44
2007
原创 JAVA中List.stream()流的常用方法
由于工作中经常用到stream流处理数据,并且使用方式很多经常忘记,所以在此记录下所有用过的方法和业务场景,后续会持续更新。
2025-01-15 11:03:50
1055
原创 MySql使用GROUP_CONCAT()函数拼接导致数据丢失的问题
领导在服务器上部署了个开源的BUG记录服务,可是在使用途中发现项目本身有很多BUG,其中一个由我锁定到了group_concat函数在拼接数据时缺少了字符导致 fastjson 转换成对象报错,这就开启了新一天的解决之旅。最后网上搜索,原来是group_concat 有字符长度限制,所以在sql中使用该函数,需要设置group_concat_max_len最大值,并设置在合理范围。MySql运行上述语句进行查询,默认设置都是1024。MySql运行上述语句进行查询,在mysql服务配置文件中修改。
2025-01-13 17:13:37
407
原创 添加Swagger依赖后启动报Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is jav.lang
请求路径与 Spring MVC 处理映射匹配的默认策略已从AntPathMatcher更改为PathPatternParser。问题也是很简单,下面也是从网上找到的解决方案。,然后就踏上了寻找解决方案之旅。
2025-01-13 15:59:31
389
原创 MySql低版本如何导入高版本的.sql文件
新来了一个项目,甲方提供的表结构和数据,然后开始往数据库中导入数据但中途一直失败,去网上找原因然后锁定到了MySql的版本问题,公司使用的MySql8.0,甲方使用的5.0。记事本或其他文档编辑器打开.sql文件。保存后再次运行即可成功。
2025-01-13 14:34:08
374
原创 MySql运行SQL出现You can‘t specify target table ‘user‘ for update in FROM clause
在MySQL中,可能会遇到You can't specify target table '表名' for update in FROM clause这样的错误,它的意思是说不能在同一语句中,先select出同一表中的某些值,再update这个表,即不能跟据某字段值做判断再来更新某字段的值。之前公司来了个旧项目让帮忙测试改BUG,但测试到某个接口时 开始报:You can‘t specify target table for update in FROM clause,然后就开始了寻找解决方案之路。
2025-01-13 14:17:39
314
原创 Job for docker. service failed because the control process exited with error code
1. 在/etc/docker文件目录下,找到“daemon.json”这个文件是我们在安装时创建的,如果没有的话使用mkdir /etc/docker && touch daemon.json进行创建。在使用systemctl start docker启动docker时,一直报错。以下是在网络上找到的一种解决方案。3. 重启docker。
2025-01-13 11:59:15
329
原创 Web server failed to start. Port XXX was already in use.【解决方案】
开发工具突然崩溃了,但是服务还没有停止运行导致某端口被占用起不来,这时我们可通过命令窗口停掉这个程序。PS:还有种更简单的方式,任务管理器里 java.exe服务全杀掉😂。2、端口被占用了,先看下是哪个程序再用,停掉就OK了。2、根据PID找到占用此端口的进程。1、换一个其它未被占用的端口。1、查看被占用的端口的进程。
2025-01-13 11:48:52
791
原创 No fallbackFactory instance of type class com.yang.system.api.factory.RemoteUserFallbackFacto
在Spring中也有一种类似与Java SPI的加载机制。它在META-INF/spring.factories文件中配置接口的实现类名称,然后在程序中读取这些配置文件并实例化。在排查了一圈后找到了问题所在:由于api模块没有启动类导致RemoteUserService接口无法被注入到容器中,导致其他微服务调用此类但是容器中没有找到的问题。第一次使用分布式的开源项目,在api模块里添加了一个接口。把对应的接口写进去 SpringBoot会自动装配。
2025-01-13 11:05:19
300
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1