- 博客(35)
- 收藏
- 关注
原创 生成CSV文件遇到字段含有逗号的解决办法
属性值中包含有逗号时,在生成的CSV文件中格式会错位。将已被赋值对象中的各属性值写到CSV文件中。解决办法:将包含逗号的属性用双引号包裹住。
2024-04-22 15:39:01 340
原创 启动报错缺少摘要javadoc
2. 使用的是Checkstyle等代码检查工具,而这个工具的配置要求所有的类、接口、方法和字段都必须有Javadoc注释,不论它们的访问级别如何。在这个情况下,你的类`SalesOrderDataService`的Javadoc注释是存在的,但是可能是你的代码检查工具如Checkstyle或者PMD对于Javadoc的要求更加严格,它要求在Javadoc中必须包含一个摘要(summary)。在Javadoc中,摘要是注释的第一部分,它是一个完整的、明确的、但简短的句子,描述类、接口、方法或字段的作用。
2024-04-16 10:45:53 421
原创 使用Validation对请求参数的校验
3.对返回值判断,返回null说明验证通过,notnull说明有空值存在,返回的信息即为“参数输入有误!2.调用方法对入参进行校验。
2023-10-09 14:47:55 147
原创 为什么要定期更新sessionKey?
通过定期更新sessionKey,即使攻击者获取了旧的sessionKey,也会很快失效,从而降低了会话劫持的风险。如果长时间不更新sessionKey,攻击者有更多的时间来尝试猜测、破解或获取sessionKey,从而可能导致用户账户被盗用或敏感信息泄露。会话密钥(sessionKey)是在用户登录时生成的一个用于验证用户身份、维护会话状态以及加密通信的密钥。因此,定期更新sessionKey是一种有效的安全措施,可以保护用户的身份和敏感信息,提高系统的安全性。
2023-09-19 09:54:44 205
原创 项目发布异常:java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 0
重新发布后,项目正常启动。
2023-08-17 12:47:48 866
原创 @Autowired和@Resource的区别
3. 默认情况下是必须的(required=true),如果找不到匹配的bean会报错。1. 根据类型(byType)装配依赖对象,如果有多个同类型bean,则通过名称(byName)来区分。如果名称和类型都找不到会报错。4. @Autowired 通过 @Qualifier 指定名称,@Resource 通过 name 属性指定名称。2. 利用 @Qualifier 来指定需要注入的bean的名称,解决byType的局限性。2. @Autowired 必须的,@Resource 非必须的。
2023-05-20 16:44:46 93
原创 解决Git忽略文件不生效问题
创建远程仓库时提前维护 .gitignore忽略文件,避免中途添加忽略文件导致不生效问题,如果中途添加忽略文件,可以通过下面操作命令解决此问题。
2023-05-06 10:19:30 386
原创 代码耦合理解和分析
这样User类和Department类之间实现了松散的依赖关系,User类不再直接调用Department类的方法,这大大减少了类之间的耦合度。总体来说,我们通过接口隔离和观察者模式,实现了User类和Department类之间的有效解耦。这实现了对接口的依赖,降低了耦合度。4. 未来如果我们要在别的系统中重用User类,还需要同时考虑到Department类,这限制了User类的可重用性。1. User类持有Department类的实例,并在方法中直接调用Department类的方法。
2023-05-04 16:54:34 1053
原创 MySQL主从同步配置
在读取 binlog 的内容的操作中,会对主节点上的 binlog 加锁,当读取完成并发送给从服务器后解锁。binlog_format=MIXED:是以上两种level的混合使用,有函数用ROW,没函数用STATEMENT,但是无法识别系统变量。,读取relay log日志,并解析成具体操作,从而实现主从操作一致,最终数据一致。默认情况下MySQL的binlog日志是自动开启的,可以通过如下配置定义一些可选配置。,性能高,但是now()之类的函数以及获取系统参数的操作会出现主从数据不同步的问题。
2023-05-04 16:14:43 341
原创 Synchronized锁和Lock锁(二)JMM+CAS+AQS+ReentrantLock锁的底层实现
因为在不同的硬件生产商和不同的操作系统下,内存的访问逻辑有一定的差异,结果就是当你的代码在某个系统环境下运行良好,并且线程安全,但是换了个系统就出现各种问题。此处的主内存和工作内存跟JVM内存划分(堆、栈、方法区)是在不同的维度上进行的,如果非要对应起来,主内存对应的是Java堆中的对象实例部分,工作内存对应的是栈中的部分区域,从更底层的来说,因为它在对共享变量更新之前,会先比较当前值是否与更新前的值一致,如果一致则更新,如果不一致则循环执行(称为自旋锁),直到当前值与更新前的值一致为止,才执行更新。
2023-05-04 15:50:16 215
原创 Synchronized锁和Lock锁(一)
Lock锁是一个接口,众多实现类里我们常用的是ReentrantLock。k相比同步锁,JUC包中的Lock锁的功能更加强大,它提供了各种各样的锁(公平锁,非公平锁,共享锁,独占锁……
2023-04-26 20:41:19 205
原创 MySQL高级及SQL优化
①影响性能下降SQL慢,在于执行SQL时间长或者等待时间长②影响SQL性能的常见情况--数据过多:分库分表(根据微服务划分库,按照地域或时间分表存储,按照数据的特定字 段对分库数量求余)--关联了太多的表,太多join,允许表出现冗余字段减少联查(SQL优化)--没有充分利用到索引,可以通过建立索引来提高SQL执行效率--服务器调优及各个参数的设置,可以通过调整my.cnf。
2023-04-22 21:13:03 294
原创 SpringCloud整合Seata的两种常用方式及TC服务器搭建
分布式事务执行流程TM开启分布式事务(TM向TC注册全局事务记录)换业务场景,编排数据库,服务等事务内资源(RM向TC汇报资源准备状态)TM结束分布式事务,事务一阶段结束(TM通知TC提交/回滚分布式事务)TC汇总事务信息,决定分布式事务是提交还是回滚TC通知所有RM提交/回滚资源,事务二阶段结束。
2023-04-19 20:07:07 185
原创 ElasticSeacher入门
目前市面上有两类客户端一类是TransportClient 为代表的ES原生客户端,不能执行原生dsl语句必须使用它的Java api方法。另外一种是以Rest Api为主的missing client,最典型的就是jest。这种客户端可以直接使用dsl语句拼成的字符串,直接传给服务端,然后返回json字符串再解析。两种方式各有优劣,但是最近elasticsearch官网,宣布计划在7.0以后的版本中废除TransportClient。以RestClient为主。
2023-04-14 01:05:16 123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人