糟糕的做法¶
这些坏习惯可以导致内存泄漏(OutOfMemoryError
)、延迟或程序行为不一致,应尽力避免。
缓存引用¶
某些类的实例,诸如:
- DataHolder
- TileEntity
- CommandSource
- Entity
- Player
- Subject
- World
- 以及任何 可能 存储这些引用的容器,包括:
Collection
Map
不应 缓存在插件中。
其主要原因有:
- 引用的存在会阻止垃圾回收
- 实例可能早已失效
缓存可以通过诸如使用对应快照、保存对应的 UUID 或按需请求实时实例来避免。