- 博客(110)
- 资源 (1)
- 收藏
- 关注
原创 新手编码指北(持续更新...)
本文主要记录了一些常用的Java编码中使用到的类或方法,或编码的小技巧,以期望写出更容易,更安全,更优美的代码。本文中的内容是本人工作中总结和记录,不一定适合所有人,也不一定是最优的,欢迎大家共同讨论学习进步。
2022-09-29 14:38:47 508
原创 SpringBoot集成Quartz实现定时任务
Quartz官方文档_w3cschoolQuartz 存储方式有两种:MEMORY 和 JDBC。默认是内存形式维护任务信息,服务重启了任务就重新开始执行;而JDBC形式就是能够把任务信息持久化到数据库,虽然服务重启了,但根据数据库中的记录,任务还能继续执行。Quartz官方文档_w3cschoolQuartz 存储方式有两种:MEMORY 和 JDBC。默认是内存形式维护任务信息,服务重启了任务就重新开始执行;
2023-10-11 17:15:22 486
原创 @Builder注解在子类中使用遇到的问题
场景在项目开发中,需要基于某个类进行一些字段的拓展,那么自然而然想到的做法是extends该类。而两个类都需要使用@Builder进行构造。代码如下:@Data@Builder@AllArgsConstructor@NoArgsConstructorpublic class EmployeeDto { private String companyId; private String jobNo; private Integer gender; private In
2022-12-26 18:18:14 2272 6
转载 使用Kafka时一定要注意防止消费速度过慢触发rebalance而导致的重复消费
使用Kafka时一定要注意防止消费速度过慢触发rebalance而导致的重复消费
2022-12-26 14:36:38 1186
原创 Spring中AOP及ReflectiveMethodInvocation逻辑简析
ReflectiveMethodInvocation是AOP中一个重要的类,这个类在JdkDynamicAopProxy的invoke方法中使用到,可以看到在方法中,用拦截器链,代理的目标对象等参数,生成ReflectiveMethodInvocation实例。
2022-08-31 20:18:46 1187
转载 Java 中各种锁的总结
Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。...
2022-07-19 13:51:07 390
原创 postman拼接替换参数循环调用接口
本文主要介绍,使用postman想循环调用一个或一组接口,其中接口的参数需要可变,输入一组入参,可以自动拼接或替换参数,执行请求。
2022-06-07 19:40:15 3389
原创 排查CPU过高问题记录
参考文章:手把手带你入门火焰图——perf关于CPU、内存、IO、网络问题处理思路整理(IO)在项目开发中,有一处的需求是,定时触发一个同步逻辑,同步逻辑中是请求其他平台的接口返回的信息,与我们服务端库里的信息做比对,以拉取到的信息为基准,如果本地库里信息多则删除,少则插入,错则更正。原本的实现方式是使用Quartz定时任务,任务执行时,虽然微服务有多个实例,执行该定时任务的只是其中一个实例,并未充分利用多实例的优势。决定对其进行优化,改为使用消息队列,在另一个微服务A中发送消息,在微服务B中消费.
2022-05-24 22:05:06 653
原创 mysql使用存储过程
MySQL的存储过程和函数MySQL函数和存储过程存储过程和函数的概述存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升。函数:有返回值的过程过程:没有返回值的函数循环执行语句有很多业务场景需要循环调用语句来插入、删除、更新等操作。可以先.
2022-05-10 21:26:33 494
原创 java 导入导出excel表格
java 导入excel表格业务上有需求上传excel表格并读取内容,本文记录一下该方法首先要清楚表格的格式,这样才能建对应的实体类,例如,表格如下:要明确有3列,每列标题是什么,从第2行开始是正式的数据。引入相应的工具包 <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-annotation</artifactId>
2022-04-09 15:06:23 4257 1
原创 JPA 使用过程中问题汇总(持续更新...)
JPA save数据时,如果数据没有赋值,即使数据库层面设置了default值,但仍然会插入null增加表中一个字段时的sql如下:ALTER TABLE account ADD status tinyint(1) DEFAULT b'1' COMMENT '是否加入黑名单';调用jpa的save方法时,并没有build实体类中status,即没有给该字段赋值,导致入库的值是空值,而不是预想中的1。所以,修改为save时传true。sql保证的是原生sql insert时会设置默认值,使用JPA时
2022-03-22 20:22:24 3026 2
原创 Mysql 报错 You can‘t specify target table ‘表名‘ for update in FROM clause
Mysql 报错 You can’t specify target table ‘表名’ for update in FROM clause执行mysql语句时,出现了You can’t specify target table ‘表名’ for update in FROM clause的错误。该错误只有Mysql会出现,MSSQL和Oracle不会出现该错误。sql是这样的:UPDATE account set status=1 where id in ( select id from acco
2022-03-21 19:11:42 9863 1
原创 spring@Transactional注解小结
参考:https://www.cnblogs.com/taven/p/5942384.htmlhttps://blog.csdn.net/jiahao1186/article/details/90604813在工作中,很多地方均需要使用事务,保证一旦代码出现错误,可以正确的回滚数据。使用Spring的注解@Transactional可以轻松实现事务控制。本文主要讲述自身使用该注解中的一些问题和总结。场景一模拟使用场景,假如要存储一个公司的信息,entity类是Company,公司有id,公司名称.
2022-02-25 18:55:44 345
转载 MYSQL报错现The MySQL server is running with the --secure-file-priv option so it cannot execute this sta
MYSQL报错现The MySQL server is running with the --secure-file-priv option so it cannot execute this statement转载 MYSQL导出数据出现The MySQL server is running with the --secure-file-priv option so it cannot execute this今天尝试使用 into outfile导出数据的时候出现错误:The MySQL se
2022-02-25 10:32:15 17154
原创 effective Java 学习笔记(第二章)
整理自《effective Java 中文第3版》使用私有构造方法执行非实例化有时候写一些工具类什么的,里面都是静态方法和静态成员变量,此时根本不需要实例化这个类,就可以正常使用这个类。怎么保证这种类不会被实例化呢?当类中没有显示的构造函数时,会默认生成一个构造方法。我们可以通过显示构造函数私有化的方式,避免这个类被实例化。由于方法是私有的,类外是没办法调用的。public class CalculateUtil { private CalculateUtil(){ th.
2022-02-23 19:18:38 317
原创 解决Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1的一种方法
使用JPA时,报错Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1
2022-02-02 15:43:08 22813 3
原创 解决javax.persistence.TransactionRequiredException: Executing an update/delete query的一种方法
解决javax.persistence.TransactionRequiredException: Executing an update/delete query的一种方法代码中遇到的情况是这样的:controller层调用了service层一个方法A,service中调用了该类中另一个方法B,B方法加了@Async和@Transactional,B中调用了该类中另一个加了@Transactional注解的方法C,C中调用一个私有方法,对数据库数据进行更新操作,更新是通过@Query注解写的sql语句,
2022-01-19 20:15:29 7846
原创 @Async注解探索和记录
一些参考网址:https://www.cnblogs.com/huanzi-qch/p/11231041.htmlhttps://www.cnblogs.com/didispace/p/15292954.html手动使用线程执行异步方法新建一个类继承自Runnable,实现其run方法public class TestTask implements Runnable { @Override public void run() { for (int i = 0;.
2022-01-19 19:30:01 325
原创 使用feign遇到的问题解决汇总
一些参考网址:https://github.com/OpenFeign/feignhttps://www.cnblogs.com/LQBlog/p/13722529.htmlshttps://zhuanlan.zhihu.com/p/388036104https://blog.csdn.net/goldenfish1919/article/details/108592738了解feign使用maven中添加依赖<dependency> <groupId>or.
2022-01-18 18:51:39 3214
原创 Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean一种解决方法
启动springboot程序时报错org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean启动工程时可能报如下错:是因为springboot工程中pom.xml文件包含 <dependency> <groupId&g
2022-01-13 16:20:14 2824
原创 Java 中介者模式 备忘录模式
参考程杰《大话设计模式》中介者模式用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其解耦,而且可以独立地改变他们之间的交互。中介者模式优缺点优点简化了对象之间的关系,将系统的各个对象之间的相互关系进行解耦合,将各个同事类解耦,使得系统变为松耦合。提供系统的灵活性,使得各个同事对象独立而易于复用。缺点中介者会变得很复杂,一旦出现问题,整个系统受到较大影响中介者模式一般应用于一组对象以定义良好但是复杂的方式进行通信的场合,以及想定制一个分布在多个类.
2022-01-11 15:12:18 223
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人