Java 堆栈跟踪中的斜线是什么意思?

What does a slash mean in a Java stack trace?

在以下堆栈跟踪中:

java.lang.NullPointerException
    at burp.ConfigMenu.run(Config.java:38)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
    at java.desktop/java.awt.EventQueue.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

斜线是什么意思?我知道什么"burp.ConfigMenu.run(Config.java:38)" 表示,但不是前面带有 "java.base" 或 "java.desktop" 的行。

它看起来像是某种别名、超类、命名空间...但我无法理解。 Google/DDG 对 "slash in java stack trace" 这样的查询不是很有帮助。我通过查找提到的 类 找到了一些其他示例,但不是它们的意思。

The Javadoc for StackTraceElement toString()(Java9,注)解释格式:

The first example shows a stack trace element consisting of three elements, each separated by "/" followed with the source file name and the line number of the source line containing the execution point. The first element "com.foo.loader" is the name of the class loader. The second element "foo@9.0" is the module name and version. The third element is the method containing the execution point; "com.foo.Main"" is the fully-qualified class name and "run" is the name of the method. "Main.java" is the source file name and "101" is the line number.

注意上面的一些元素是如何被省略的。

If the class loader is a built-in class loader or is not named then the first element and its following "/" are omitted as shown in "acme@2.1/org.acme.Lib.test(Lib.java:80)". If the first element is omitted and the module is an unnamed module, the second element and its following "/" are also omitted as shown in "MyClass.mash(MyClass.java:9)".