持久数据结构
如果一个数据结构能够将其先前的更新维护为单独的版本,并且每个版本都可以相应地访问和更新,则该数据结构被认为是持久的。它使数据结构不可变且线程安全。例如,Java中的String类对象是不可变的。每当我们对字符串进行任何更改时,JVM 都会创建另一个字符串对象,为其分配新值,并将旧值保留为旧字符串对象。
持久数据结构也称为函数数据结构。考虑以下情况 -
非持久方式
public static Person updateAge(Person person, int age){ person.setAge(age); return person; }
持之以恒的方式
public static Person updateAge(Person pPerson, int age){ Person person = new Person(); person.setAge(age); return person; }