java - 使用 Java 私有(private)方法(JDK 类)安全吗?

标签 java

我们通过反射使用了 JDK 类的私有(private)方法。是否可以保证这在未来的版本中不会改变? JDK 类的私有(private)方法的 QoS 是多少?

我们使用了 ThreadPoolExecutor.isStopped(),它实际上在 Java 6 v18 中缺失了。有没有一种简单的方法可以知道所需的最低 jdk 或如何检查 Java 中的类何时发生更改?

欢迎发表评论,是的,我们知道最好不要使用私有(private)方法:-)

最佳答案

We used a private method, through reflection, of a JDK class.

非常糟糕的主意。

Is there a guarantee this will not change in a future release ?

没有。它可能会在任何次要版本中更改或消失。

what is the QoS of a private method for a JDK class ?

如果这里涉及服务级别协议(protocol),那么您将通过使用反射访问不应该访问的方法而放弃它。

yes we know better not using private methods :-)

不,显然你不知道。

为什么不使用isTermminate()isTerminate()。从 API 文档看来,其中之一应该可以满足您的需要。

关于java - 使用 Java 私有(private)方法(JDK 类)安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8122626/

相关文章:

Java8 变量作用域

java - 自定义异常(RuntimeException)

java - 使用 Groovy 作为脚本语言

java - 没有提供者的服务提供者接口(interface)

java - 如何使用java为JSON中单个数组中的每个元素添加对象?

java - 使用 JPA 将包括关系在内的整个表加载到内存中

java - 使用 corn-cps 扫描匹配通配符模式的配置文件

java - 单例共享首选项问题

java - 线程 “main” java.lang.StackOverflowError 中的异常

java - 每次使用 PowerMock 进行测试后模拟行为都会重置