未记录的热点 OpenJDK 系统属性

问题描述

我最近在 JDK 的 System.Logger API 中发现了一些未记录的系统属性,特别是 jdk.logger.finder.singleton。我找不到任何提及此系统属性或与 System.Logger API 相关的任何属性的网页。 System.LoggerFinder javadoc 中也没有提到它。

缺乏关于这些属性的信息引发了几个问题:

  • 应用程序开发人员是否可以接受、支持或打算使用这些属性
  • 为什么 JDK 开发人员会在 openjdk 实现中留下未记录的属性

它让我想起了 file.encoding 属性,我读到它不是“受支持的机制”。

解决方法

应用程序开发人员是否可以接受、支持或打算使用这些属性?

不,除非在公共 API 中正确记录,否则开发人员不应使用它。不同的 JVM/JRE 实现很可能不支持它们,这将限制您的目标平台

为什么 JDK 开发人员在 openjdk 中留下未记录的属性 实施

因为它是实现细节,可能会发生变化。一旦公开,就很难在不影响此代码使用者的情况下进行更改。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...