Где должен вызываться конструктор FilterInputSteam? - PullRequest
0 голосов
/ 21 марта 2019

Вот очень простой код:

public static void main(String[] args) throws Exception {
    InputStream is = new FileInputStream("decorator.txt");
    System.out.println("pause...");
    is.close();
}

Я запускаю его в режиме отладчика, однако он входит в конструктор FilterInputSteam. Здесь:

  protected FilterInputStream(InputStream in) {
    this.in = in;
  }

Когда и где вызывается конструктор filterInputStream? без понятия

Моя версия JDK:

Java-версия "1.8.0_191"

Java (TM) SE Runtime Environment (сборка 1.8.0_191-b12)

Java HotSpot (TM) 64-разрядная серверная виртуальная машина (сборка 25.191-b12, смешанный режим)

Вот трассировка отладчика:

"main@1" prio=5 tid=0x1 nid=NA runnable
  java.lang.Thread.State: RUNNABLE
      at java.io.FilterInputStream.<init>(FilterInputStream.java:62)
      at java.util.zip.InflaterInputStream.<init>(InflaterInputStream.java:81)
      at java.util.zip.ZipFile$ZipFileInflaterInputStream.<init>(ZipFile.java:408)
      at java.util.zip.ZipFile.getInputStream(ZipFile.java:389)
      - locked <0x188> (a java.util.jar.JarFile)
      at java.util.jar.JarFile.getBytes(JarFile.java:424)
      at java.util.jar.JarFile.checkForSpecialAttributes(JarFile.java:555)
      at java.util.jar.JarFile.hasClassPathAttribute(JarFile.java:518)
      at java.util.jar.JavaUtilJarAccessImpl.jarFileHasClassPathAttribute(JavaUtilJarAccessImpl.java:37)
      at sun.misc.URLClassPath$JarLoader.getClassPath(URLClassPath.java:1198)
      at sun.misc.URLClassPath.getLoader(URLClassPath.java:532)
      - locked <0x18b> (a sun.misc.URLClassPath)
      at sun.misc.URLClassPath.getNextLoader(URLClassPath.java:494)
      at sun.misc.URLClassPath.getResource(URLClassPath.java:248)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
      at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
      at java.security.AccessController.doPrivileged(AccessController.java:-1)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
      - locked <0x194> (a java.lang.Object)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
      at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:304)
      at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
...