标签:java

共 30 篇文章

MySQL行锁、表锁、悲观锁、乐观锁的特点与应用

我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突)。如何保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁的冲突也是影响数据库并发访问性能的一个重要因素,从这一角度来说,锁对于数据库而言就显得尤为重要。

阅读全文

深入理解锁之自旋锁

自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。

阅读全文

设计模式在外卖营销业务中的实践

业务策略多变导致需求多变,是业界很多技术团队面临的最具挑战的问题之一。那么如何设计一套易于扩展和维护的营销系统呢? 今天的文章来自美团外卖营销技术团队,他们分享了从领域模型到代码工程之间的转化,从DDD引出了设计模式,并详细介绍了工厂方法模式、策略模式、责任链模式以及状态模式这四种模式在美团营销业务中的具体实现,将理论与实践进行了一次深度结合。

阅读全文

国内数据库技术大牛:牛新庄博士自传(附:项目经验)

牛新庄博士,是国内顶尖数据库维护、优化和架构专家,以217万年薪受聘于中国建行总行资深技术专家,在国内的金融六大行、证券、保险、电信、邮政、移动等行业,以及青岛海尔、云南红塔、中远集团、上海宝钢等知名企业做数据库的设计、维护、问题诊断和性能调优。

阅读全文

正确使用 Volatile 变量

Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。本文介绍了几种有效使用 volatile 变量的模式,并强调了几种不适合使用 volatile 变量的情形。

阅读全文

云原生时代,Java 的危与机

Java 诞生距今已有 25 年,但它仍然长期占据着“天下第一”编程语言的宝座。只是其统治地位并非坚不可摧,反倒可以说是危机四伏。云原生时代,Java 技术体系的许多前提假设都受到了挑战,目前已经有可预见的、足以威胁动摇其根基的潜在可能性正在酝酿。同时,像 Golang、Rust 这样的新生语言,以及 C、C++、C#、Python 等老对手也都对 Java 的市场份额虎视眈眈。面对危机,Java 正在尝试哪些变革?未来,Java 是会继续向前、再攀高峰,还是由盛转衰?

阅读全文