- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 Spring事务传播机制
目录一、事务在Spring中是如何运作的1.1 开启事务(DataSourceTransactionManager.doBegin)二、Spring的事务传播机制2.1 子事务的传播机制为REQUIRED2.2 子事务的传播机制为REQUIRES_NEW2.3 子事务的传播机制为NESTED当我们在使用Spring所提供的事务功能时,如果是仅仅处理单个的事务,是比较容易把握事务的提交与回滚,不过一旦引入嵌套事务后,多个事务的回滚和提交就会变得复杂起来,各个事务之间是如何相互影响的
2022-01-13 03:50:51 29805 4
原创 JVM学习(1)
一、JVM介绍 JVM就是Java虚拟机,是Java的程序运行的基础。它是一个抽象的机器,但像真正的机器一样有指令集,用于操作各种内存区域。JVM的主要作用就是管理内存区域,以及解释字节码文件。这个也是Java语言可以一次编译,到处运行的原因,只要有JVM在,就可以解释字节码文件,并执行。分别对应的JVM的GC机制和JIT机制。JVM总的来说是一种规范,类似于MySQL的存储引擎,是有多种实现的,我们常用的就是Oracle的hotspot,除此之外还有MSJVM。以及J9JVM等。二、J...
2021-09-16 03:03:48 223
原创 Rocketmq安装、配置和调试
一、rocketmq简介 Apache RocketMQ是一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠性,万亿级容量和灵活的可扩展性。RocketMQ的前身是MetaQ,是阿里根据kafka的设计理念 ,使用Java语言开发的一个消息队列,所以MetaQ和kafka有许多类似的地方。而rocketMQ在MetaQ的基础上,摒弃了zookeeper的使用,转而开发了n...
2019-01-27 23:04:44 1406 1
原创 协程和线程性能测试
这里测试使用的是协程的quasar框架。代码使用CountDownLatch对线程进行控制,分别检测其创建和运行时间。时间测试:设想以下的场景,使用15个线程来调用某加了同步锁的方法,每次这个方法的执行时间在25ms左右,那线程和协程都需要多少时间完成方法调用:线程: 创建时间:2-3ms 运行时间:375ms协程: ...
2018-10-27 11:38:41 2236
原创 springboot多数据源使用@Qualifier自动注入无效问题
问题: 使用springboot进行多数据源时,发生了单例DataSource对应多个DataSourceBean的问题。 具体错误如下:XXXXX required a single bean, but 3 were found。通过@Qualifier来区分,或是在@Bean中添加name属性来区分,都没有作用。 问题的根本原因: ...
2018-10-27 09:30:52 9801
原创 Java精度损失
对于Java的float和double类型,都存在精度损失的问题。精度损失产生的原因在于Java的数据存储采用的都是2进制形式,二进制不能准确的表示1/10等分数,只能无限趋近。对比float,double,BigDecimal的精度:public static void main(String[] args){ float a = (float) 1.0; float...
2018-07-11 19:35:23 5223
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人