Guice需要它自己的线程?我正在优化我的应用程序,我发现有一个名为“com.google.inject.internal.util。$ Finalizer”的Guice主题。
理想情况下,我不想要这个额外的线程。
感谢
答案 0 :(得分:1)
这看起来像是Guava库的一部分。以下是其在Guava代码中的原始版本:https://code.google.com/p/guava-libraries/source/browse/guava/src/com/google/common/base/internal/Finalizer.java
这是来自Guice的这个类的版本: http://code.google.com/p/google-guice/source/browse/core/src/com/google/inject/internal/util/Finalizer.java?r=86142556d360048671dc129f7b0c316f542473af
顺便说一句,在我连接到这个类的那个之后的下一次提交中,Guice被删除了,而Guice开始依赖Guava。尼斯!此线程似乎由FinalizableReferenceQueue
(API,source)生成。我不知道Guice究竟是如何使用FinalizableReferenceQueue
的(我怀疑它是间接的,类似于“Guice→Guava cache→FinalizableReferenceQueue
”),但它似乎是一种不安全的措施。泄漏了可靠的资源。我很确定你无法摆脱那个帖子,除非它是由Guice的可选部分出现的(这是不太可能的)。