java8
Frank—追求
这个作者很懒,什么都没留下…
展开
-
你知道怎么在事务方法中处理异步方法,保证数据一致性吗?
今天同事遇到了,因事务方法中,调用了异步线程,导致数据未查询到(主订单的包装信息,该主订单包含了两个子订单信息)。解决思路:手动提交事务后,再调用异步线程。看一下伪代码第一种方案:手动提交事务后,在调用异步线程。第二种方案:用Spring提供的AbstractPlatformTransactionManager的api更改后的代码注意:此方法会在事务提交后执行afterCommit 的代码块。我推荐第二种,代码简化PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加原创 2022-07-14 16:23:20 · 3651 阅读 · 2 评论 -
java8之CompletableFuture 异步处理
记录在工作中遇到 一个页面的报表统计接口,因为数据组成有很多方面,每个方面对应的是一个方法,问题点:因为我的子方法涉及的有6个,怎么来减少等待时间? 处理办法就是,利用多线程,异步处理并带返回值,接下来我们利用CompletableFuture 来完成此业务。1. CompletableFuture介绍Future模式的缺点Future虽然可以实现获取异步执行结果的需求,但是它没有提供通知的机制,我们无法得知Future什么时候完成。要么使用阻塞,在future.get()的地方等待futur原创 2022-05-10 16:08:46 · 1087 阅读 · 0 评论 -
简单检测java服务是否存活,如果没有存活,启动服务的工具
package com.example.util;import java.io.IOException;import java.net.InetSocketAddress;import java.net.Socket;/** * @author :Fan * @date :Created in 2022/4/18 14:18 * @description: * @modified By: */public class PingServer { /** * 要监听的原创 2022-04-18 14:41:50 · 2203 阅读 · 0 评论 -
java自定义sql 格式化工具
/** * @author :范春宇 * @date :Created in 2021/11/3 20:06 * @description: sql占位符替换工具类 * @modified By: */public class SqlPlaceholderReplaceUtil { /** * 替换掉SQL注入的那些字符 ['|;|--| and | or ] */ private static String SQL_INJECT_CHARS = "([';]+|(--)+|(\原创 2021-12-03 15:00:22 · 833 阅读 · 0 评论 -
JAVA通过日历类获取当前时间是星期几
/** * 校验传入的星期日期是否是今天 * @param dayOfWeek * @return */ public static Boolean checkEqualDayOfWeek(String dayOfWeek){ String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; try { //如果是北京时间时区设置GMT+8 TimeZone.setDefault(TimeZon原创 2021-08-25 19:14:59 · 510 阅读 · 0 评论 -
记录一次java8分组再计算的应用
记录一次java8分组再计算的应用 List<SmSku> tableData = smOrder.getTableData(); List<SmSku> categoryList = new ArrayList<>(); //按批次分组 tableData.parallelStream().collect(Collectors.groupingBy(o ->o.getRealCategoryChName(),Collectors.toList())).原创 2021-03-04 19:59:00 · 221 阅读 · 1 评论 -
list,随机取出一定数量的集合
记录工作中的点滴解决需求:一个总题库,分了类型单选题、多选题、判断题、问答题,试卷的规则是要在这个总题库中,随机取出一定数量的某个类型的试题。下面看代码private List<QuestionBank> getQuestionBanksByType(String type,List<QuestionBank> questionBanks,int num){ //利用java8的特性。集合过滤筛选出来的集合 List<QuestionBank> collec原创 2020-11-17 10:51:24 · 1476 阅读 · 0 评论 -
WebSocket集群开源项目使用
这里鸣谢码云xxssyyyyssxx 作者场景公司的一个直播业务需要用到集群WebSocket,2019年用过以Redis集群的方式,因为自己的经验不足,有消息累积增加发送,意思就是,当一个用户,重复断开、连接。会根据次数,来增加接收信息的次数。直接开干,上才艺maven项目直接引入pom依赖<!-- https://mvnrepository.com/artifact/top.jfunc.websocket/websocket-springboot-starter --> &l原创 2020-10-12 17:16:13 · 441 阅读 · 0 评论 -
微软发送邮箱,端口无屏蔽版
import javax.activation.DataHandler;import javax.activation.DataSource;import javax.activation.FileDataSource;import javax.mail.*;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeBodyPart;import javax.mail.internet.MimeMessag原创 2020-05-21 17:01:25 · 482 阅读 · 0 评论 -
java8 时间的新特性
Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。新API基于ISO标准日历系统,java.time包下的所有类都是不可变类型而且线程安全。Java 8中获取今天的日期Jav...转载 2020-01-15 16:57:45 · 233 阅读 · 0 评论