Java 自由标记是按引用还是按值指定?它有什么缺点吗?

Java 自由标记是按引用还是按值指定?它有什么缺点吗?,java,freemarker,Java,Freemarker,我正在从事一个使用ftl的项目。 我使用广泛,所以我想知道一直使用它有多安全。它是按引用还是按值存储?问题是我在for循环中连续分配了一个矩阵或一个表。我不确定我是否正确使用它,但它可能会导致我的系统崩溃。它与Java的堆或堆栈密切相关吗?我的数据处理量很大。分配什么并不重要。重要的是你用什么操作符来操纵这些矩阵。FreeMarker操作符假定所有数据结构(如List-s或Map-s)都是不可变的,因此它们不会修改后台包装的List-s或Map-s。但是,如果您对这些对象调用Java方法,这取决

我正在从事一个使用ftl的项目。
我使用广泛,所以我想知道一直使用它有多安全。它是按引用还是按值存储?问题是我在for循环中连续分配了一个矩阵或一个表。我不确定我是否正确使用它,但它可能会导致我的系统崩溃。它与Java的堆或堆栈密切相关吗?我的数据处理量很大。

分配什么并不重要。重要的是你用什么操作符来操纵这些矩阵。FreeMarker操作符假定所有数据结构(如List-s或Map-s)都是不可变的,因此它们不会修改后台包装的List-s或Map-s。但是,如果您对这些对象调用Java方法,这取决于您调用的方法。比如,如果你调用地图上的putkey值,那么地图就会被修改。但是默认情况下,FreeMarker甚至不公开Map-s和List-s的Java方法。模板通常不应修改数据模型,因此FreeMarker会使意外修改变得相当困难。

您是否可以参考FreeMarker运算符假设所有数据结构(如List-s或Map-s)都是不可变的语句。我试图查找任何参考文档,但找不到。常见问题解答讨论了以下内容: