Java
文章平均质量分 58
衡与墨
福建98生人,爱好GO、Java、JS、TS、Python、Rust、C语言,前后端均精通,熟悉linux、docker、k8s使用,擅长Vue、Java Web开发、GO 微服务和web开发,兴趣广泛,爱好开源,目标是2025年前具有百万级别系统的架构师能力,我是一个追求纯粹的程序员,欢迎工作邀请
展开
-
JAVA利用多线程进行异步接口调用的模型
收录于墨的2020~2021开发经验总结前言在日常开发中,我们常常会遇到这样的业务场景,业务在执行完某项操作之后,需要通知其它子系统。例如客户下单完成之后,订单系统需要通知数据分析系统,记录下单数据;通知发货系统,开始处理发货;通知会员回馈系统,客户下了单增加了积分,可以适当的发个红包。这些通知和客户下单这件事有关系。但是和下单是否成功并无关系。客户希望能快速得到下单成功的页面。这些通知该如何处理呢?比较简单的方法是,利用多线程进行异步的接口调用。简单版例如,业务需要调用A、B、C三个业务,原创 2021-07-13 19:19:13 · 2094 阅读 · 0 评论 -
查询速度起飞之Java利用多线程进行并发数据查询
收录于墨的2020~2021开发经验总结前言在当前的系统中,我们可能会在一个事务中,执行多项操作,调用多个外部服务,查询数据或者更新数据,进行一系列逻辑处理之后返回给客户一个结果。例如,以下是一个顾客下单的流程模拟:1、获取基本产品信息(此处查询数据库)2、获取每一个产品的价格(假设此处需要通过第三方服务平台进行实时定价,产品不同调用的平台亦不同,所有此处是挨个获取)3、计算产品总价4、获取用户余额(此处也是调取第三方服务,获取用户账户余额)5、比对余额是否充足6、如果余额充足则提示购买成原创 2021-07-13 14:41:41 · 15662 阅读 · 7 评论 -
java 基于Map实现的简单又实用的缓存组件
这个是我使用 Java 内置的 MAP 实现的简易缓存,适用于一些轻量级缓存,现在公开出来,希望能帮助到大家:/** * 使用 Java 内置的 MAP 实现的简易缓存,适用于一些轻量级缓存 * * @author hengyumo * @since 2021-06-06 */@Slf4jpublic class DawnSimpleCache implements DawnCache { /** * 保存缓存数据 */ private final Ma原创 2021-06-13 21:32:08 · 1702 阅读 · 1 评论 -
超实用的Ehcache的工具类
这个工具类最早是在网络上找的,现在已经找不到出处了,后边自己改了很多地方,也加了很多新的东西。现在将其公开出来,希望对大家有用。需要导入包: compile 'org.ehcache:ehcache'maven的话是,这个版本用2的、3的都可以:<!-- https://mvnrepository.com/artifact/org.ehcache/ehcache --><dependency> <groupId>org.ehcache</原创 2021-06-13 21:24:31 · 1401 阅读 · 0 评论 -
JAVA调用系统命令——自动超时控制
概述在编写Java程序时,有时候我们需要调用外部的exe,这时可以通过Runtime的exec()方法,该命令使用比较简单,但是无法对执行做细节的控制。通过使用ProcessBuilder构建Process可以进行细节的控制,但是默认process是阻塞的。 public abstract int waitFor() throws InterruptedException; ...原创 2020-02-20 22:39:47 · 3730 阅读 · 1 评论 -
Volatile的可见性理解
volatile只能修饰类变量和实例变量,对于方法参数,局部变量,实例变量,类常量都不能修饰我们的主内存(RAM)的读写速度远远落后于CPU cache(一共有三级缓存,L3 cache速度最快,依次降低),Cache的出现是为了解决cpu直接访问内存效率低下问题的,程序在运行过程中,会将运算所需要的数据从主存复制一份到CPU cache中,这样CPU进行计算时就可以直接对CPU cache中的...转载 2020-02-15 10:35:37 · 303 阅读 · 0 评论