为什么大厂一般不推荐使用@Transactional?
前言对于从事java开发工作的同学来说,Spring的事务肯定再熟悉不过了。在某些业务场景下,如果一个请求中,需要同时写入多张表的数据。为了保证操作的原子性(要么同时成功,要么同时失败),避免数据不一致的情况,我们一般都会用到Spring事务。
JAVA Optional到底怎么用看这篇就够了
有个网友问:Optional是不是鸡肋?我个人是在自己的java代码工程里,大量用了Optional的,挺好用的。我分享一部分业务代码片段,你们看一下。另外呢,蛮多开源框架也是有在大量使用Optional的。在开始之前,我们先看一下Optional的设计理念。
JVM-13: 引用类型:强、软、弱、虚
引用类型:强、软、弱、虚:谁活谁死,跑一遍就知道四种引用的考题,答错的方式高度一致:把软引用背成「内存不足才回收」,把虚引用背成「比弱引用更弱」。背结论的人多,跑过一遍的人少。这篇写一段探针,四种引用全 gc 一遍,谁生谁死,屏幕上有数。
数据增量同步不丢数采集数据单调不回退的四原则(增量采集避坑)
本篇解决"增量怎么算",全系列工程含金量第二高的小切口深挖一、痛点场景:一条丢了一天的数据,查了两天配置驱动引擎上线后,采集任务配起来飞快。直到某天业务方找上门:CRM 的商机表在湖里少了一整天的数据,下游对账报表对不上。
为什么大厂一般不推荐使用@Transactional?
对于从事java开发工作的同学来说,Spring的事务肯定再熟悉不过了。在某些业务场景下,如果一个请求中,需要同时写入多张表的数据。为了保证操作的原子性(要么同时成功,要么同时失败),避免数据不一致的情况,我们一般都会用到Spring事务。
技术思考问题19:低代码省代码,能省架构吗?
芒格模型:能力圈与机会成本下的低代码架构边界低代码省的是表单实现,省不掉的是数据主权与权限边界。
StampedLock 实战教程:网关路由、库存扣减、缓存防重
读多写少的场景里,ReentrantReadWriteLock 的读锁还是要走一遍 CAS。StampedLock 的乐观读连锁都不拿,读一个版本号就完事,吞吐能翻几倍。但它是把快刀:不可重入、stamp 要自己管,用错一处就是线上事故。
C# 用早返回告别深层嵌套 if
你一定见过那种"越写越往右"的代码:一层 if 套一层 if,最后真正干活的代码被挤到屏幕最右边,只剩几个字符。这种箭头型代码是新手最容易写、也最让同事头疼的写法。这篇讲一个简单但极其有效的技巧——早返回(guard clause)。