
性能优化
文章平均质量分 66
性能优化
乐之者v
快乐编程,一生编程。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
接口性能优化
Redis的execute(),详情见:https://blog.youkuaiyun.com/sinat_32502451/article/details/134366504。Redis的管理操作,详情见: https://blog.youkuaiyun.com/sinat_32502451/article/details/134366490。数据表的批量处理,详情见:https://blog.youkuaiyun.com/sinat_32502451/article/details/148350849。MQ做异步,还有重试机制。原创 2025-05-31 12:27:38 · 1089 阅读 · 0 评论 -
接口报错401Unauthorized
接口报错401 Unauthorized401 UnauthorizedThis server could not verify that you are authorized to access the document you requested.错误原因状态码 401 Unauthorized 代表客户端错误,指的是由于缺乏目标资源要求的身份验证凭证,发送的请求未得到满足。简单点...原创 2022-07-28 15:00:00 · 8237 阅读 · 0 评论 -
CompletableFuture多任务异步,获取返回值,汇总结果
supplyAsync(): 异步处理任务,有返回值whenComplete():任务完成后触发,该方法有返回值。还有两个参数,第一个参数是任务的返回值,第二个参数是异常。allOf():就是所有任务都完成时触发。allOf()可以配合get()一起使用。/*** 异步,多任务。汇总返回值*///该线程池仅用于示例,实际建议使用自定义的线程池//线程安全的list,适合写多读少的场景//任务完成时执行。用list存放任务的返回值if (result!= null) {原创 2023-10-20 22:55:33 · 4832 阅读 · 0 评论 -
Java8 CompletableFuture处理多个异步任务
thenAcceptBoth(): 同样将两个任务(CompletableFuture)的执行结果作为方法入参,但是是个Void的返回值,相当于没有返回值;runAfterBoth(): 在两个任务(CompletableFuture)之后执行,但没有入参,而且是个Void的返回值,相当于没有返回值。thenRun(): 根本不关心一个任务的前一阶段的输出,它只负责运行新的Runnable任务,该方法返回值类型为Void,相当于没有返回值。还有两个参数,第一个参数是任务的返回值,第二个参数是异常。原创 2023-09-11 23:16:58 · 992 阅读 · 0 评论 -
接口报错504 Gateway Time out
接口报错504 gateway timeout504 gateway timeout,就是接口超时了。比如 nginx配置超时时间过短,前端设置了time out,或者是接口响应时间过长。nginx配置504 gateway timeout,有可能是nginx代理时,配置的超时时间过短。http { proxy_connect_timeout 300; #单位秒 prox...原创 2022-06-19 23:13:00 · 2215 阅读 · 0 评论 -
SpringBoot异步及线程池配置
异步方法注解@Async在SpringBoot中进行异步处理,可以使用异步注解@Async和@EnableAsync。@Async注解表示异步,如:@Async("asyncServiceExecutor"),后面的参数asyncServiceExecutor对应于自定义的线程池配置类(在以下例子中为ExecutorConfig) 中的线程池方法名如果不写后面的参数,直接用@Async,...原创 2019-07-03 18:55:00 · 105 阅读 · 0 评论 -
java线程池异步
什么时候使用异步?处理多个任务,某些任务比较耗时,可以用异步。异步线程新建一个类,实现Callable接口,重写call()方法。异步任务的结果,通过call()方法返回。实现Callable接口,call()结果就返回String类型。Object等其他类型同理。如果不需要返回结果,可以实现Runnable接口,重写run()方法。如果需要传递参数,可以写在构造方法中。如下:...原创 2021-05-10 12:03:00 · 237 阅读 · 0 评论 -
Mybatis批量插入,批量更新
批量插入xml如下:<insert id ="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id"> insert into t_person(name, age, height, weight, update_date) values ...原创 2021-02-19 17:11:00 · 241 阅读 · 0 评论 -
java代码优化
基础1.善用条件表达式,来表示一般的if,else。if(a>0) b=1;else b=-1; 可以直接写成 b=(a>0?1:-1);判断常量,变量,字符串,表达式时,也可以用switch()代替if,else。2.用foreach代替传统的for循环。3.能够封装的操作,尽量封装起来,减少冗余。4.类名用名词命名,方法名用动词或者动词短语命名,返回boo...原创 2016-11-18 15:07:00 · 55 阅读 · 0 评论