首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
java思考
梦想实现家_Z
创建于2022-06-07
订阅专栏
关于java编码相关的思考
等 9 人订阅
共28篇文章
创建于2022-06-07
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
java异常的精细化管理-理论篇
前言 在日常开发中,代码除了处理正常的业务逻辑,大多数情况其实是在与异常打交道,我们可以将异常分为大概以下三类: 但是这篇文章要讲的当然不仅仅是上述这种粗粒度的异常管理,我们还需要在此基础上做到更加精
Springboot实现对配置文件中的明文密码加密
前言 我们在SpringBoot项目当中,会把数据库的用户名密码等配置直接放在yaml或者properties文件中,这样维护数据库的密码等敏感信息显然是有一定风险的,如果相关的配置文件被有心之人拿到
初识Protobuf及其编译工具的安装
前言 protobuf其实是一种序列化方式,和json、xml如出一辙,之所以要学习protobuf是因为这种序列化方式得到的数据体积是很小的,这就导致了它在网络传输性能以及存储方面的优势;因为体积小
简述RocketMQ消息拉取过程【一】
相信每一个使用RocketMQ的开发工程师都想了解一下消息是如何被拉到消费端的,消费者在消息拉取过程中都做了什么操作?这些疑问将在接下来的这篇文章
RocketMQ重平衡策略你用过几种?
在上一篇文章中RocketMQ消费者如何实现重平衡,我们简单讲述了RocketMQ消费者是如何实现重平衡的,我们在源码中发现默认的重平衡策略是平均
RocketMQ消费者如何实现重平衡
我们在搭建好`RocketMQ`集群后,当一个集群中有多个消费者的情况下,它们是如何选择消息队列进行消费的呢?如果在项目运行过程中,有新的消费者加入或者某一个消费者宕机了,其他消费者是如何应对的呢?同
java枚举触发了Mybatis Plus的BUG折腾了我三个小时,怀疑人生
昨天用`mybatis-plus`写了一段`crud`,竟然出现了一个诡异的现象,为了对这个问题一探究竟
ThreadLocal你懂了,你还懂TransmittableThreadLocal嘛?
在上一篇文章中,给大家讲述了如何使用TransmittableThreadLocal解决线程间上下文传递的问题,今天这篇文章我们来看看Transm
还在为线程间上下文传递而烦恼,用TransmittableThreadLocal试试
在一些项目中,经常会遇到需要把当前线程中的上下文传递到其他线程中的情况,比如某项目包含国际化操作,在业务请求进来时需要把对应的国家代码存储到当前线
不科学,RocketMQ生产者在一个应用服务竟然不能向多个NameServer发送消息
目前有两套RocketMQ集群,集群A包含topic名称为cluster_A_topic,集群B包含topic名称为cluster_B_topic
手把手教你使用Idea调试RocketMQ源码
为了更好地了解RocketMQ,我打算看一看它的源码了。随着RocketMQ5.0版本的发布,应该有更多小伙伴在实际应用中选择RocketMQ。那
Seata AT模式TransactionHook竟然会被莫名删除!
兄弟们,刚刚又给seata社区修了一个BUG,有用户提了issue反应TransactionHook在某些情况下不会被调用: 相关issue链接:
看了源码才知道Seata AT是这样获取数据表的元数据的
我们都知道Seata AT是基于前后镜像来实现事务的成功回滚的,前后镜像的生成依赖于数据表的元数据,Seata是如何生成前后镜像的可以看这篇博客:
你知道Seata AT模式中前后镜像是如何生成的嘛?
在Seata官网中,我们可以知道AT模式一阶段的处理流程如下: 前镜像的作用是保证在分布式事务失败时能够成功回滚的重要依据,后镜像是在回滚前校验是
Seata AT模式原来是这样实现行锁的
我们在很多博客中都有发现,Seata AT模式里面的全局锁其实是行锁,这也是Seata AT模式和XA模式在锁粒度上的最大区别。我们可以在官网看到
简述ServiceLoader与SPI
做过java web开发的小伙伴大多数时候都需要链接数据库,这个时候就需要配置数据库引擎`DriverClassName`参数,这样我们的java应用才能通过数据库厂商给的`Driver`与指定的数据
简述ClassLoader双亲委派模式
见名知意,ClassLoader就是类加载器,它的作用就是将我们编写的java代码加载到JVM虚拟机中。在JVM启动的时候是不会一次性把所有的java类加载进去的,而是在需要的时候才加载指定的类文件,
简述Thread的interrupt()、interrupted()及isInterrupted()的区别
在java Thread类中,我们会看到interrupt()、interrupted()及isInterrupted(),在大多数情况下,我们都不会使用到它们,但是有一个`InterruptedEx
Java是如何实现CAS的
原来CAS的实现是基于Unsafe能够获取字段在对象中的相对偏移量,并通过不断地自旋操作比较内存值是否发生变化来决定是否更改内存中的目标值。
给Seata TCC模式提了一个Issue,顺便说说我的解决思路
根据昨天文章的源码分析,我们发现了问题就出现在Seata反序列化的时候不知道目标参数的数据类型,导致序列化前的参数类型和反序列化后的数据类型不一致。针对上述问题,说说我自己的解决思路。
下一页