testing for a class having been loaded
Alan Snyder
javalists at cbfiddle.com
Tue Nov 29 21:14:04 UTC 2016
Prior to JDK 9, it was possible (using setAccessible) to ask a ClassLoader whether a class with a given name had been loaded without actually forcing it to be loaded.
This hack will not work in JDK9, so I am wondering if there is a way to do this?
If not, can someone explain why it would be a bad thing to be able to do this?
Here is my use case:
I have two classes, A and B, that have been designed to be aware of each other, but are packaged in separate JAR files or modules that can be loaded independently. My goal is for these classes to make a runtime connection with each other, but only if both have been loaded by the application.
If each class can at load (initialization) time test whether the other has been loaded, then they can use reflection to make that connection.
All of the other solutions I have thought of require yet a third class/interface C that is separately packaged and loaded by both A and B. This is feasible, but seems unnecessary.
Alan
More information about the jigsaw-dev
mailing list