问题描述
我最近在 JDK 的 System.Logger API 中发现了一些未记录的系统属性,特别是 jdk.logger.finder.singleton
。我找不到任何提及此系统属性或与 System.Logger API 相关的任何属性的网页。 System.LoggerFinder javadoc 中也没有提到它。
缺乏关于这些属性的信息引发了几个问题:
它让我想起了 file.encoding 属性,我读到它不是“受支持的机制”。
解决方法
应用程序开发人员是否可以接受、支持或打算使用这些属性?
不,除非在公共 API 中正确记录,否则开发人员不应使用它。不同的 JVM/JRE 实现很可能不支持它们,这将限制您的目标平台
为什么 JDK 开发人员在 openjdk 中留下未记录的属性 实施
因为它是实现细节,可能会发生变化。一旦公开,就很难在不影响此代码使用者的情况下进行更改。