STM - 软件事务式内存是用于协调多个并发修改操作的手段,这些操作并发修改一个保存存储位置的共享集合。在其他语言中实现同样的功能,需要你主动承担起锁的管理工作,以及随之可能引发的种种问题。而STM为你提供了另一种选择。
就像自动垃圾收集机制极大的代替了手动内存管理,从而消除了这种各样的手动内存管理所带来的bug一样,STM提供了自动锁管理,从系统上降低了程序的易错性。
不论自动垃圾收集还是自动锁管理,两种方案都以一种被证明正确的,自动的解决方案来处理易错的手动管理,因此能够让开发人员降低对于底层细节的关注度,而能够集中精力解决领域相关的问题。
现代自动垃圾收集的实现能够在很多情况下比手动内存管理表现更为出色,更重要的是,在JVM的每一次的垃圾收集实现或者升级后,每一个运行于JVM之上的程序都可以从中受益。STM同样具有类似的好处。