不可变比较容易,可变的就不是那么容易,特别要注意多线程环境下对同一个可变资源进行多个写操作,见:Java 8的StampedLock