小编Poi*_*son的帖子

sun.nio.ch.FileChannelImpl 中的 System.gc() 调用是一个坏情况吗?

try {
    // If no exception was thrown from map0, the address is valid
    addr = map0(imode, mapPosition, mapSize);
} catch (OutOfMemoryError x) {
    // An OutOfMemoryError may indicate that we've exhausted memory
    // so force gc and re-attempt map
    System.gc();
    try {
        Thread.sleep(100);
    } catch (InterruptedException y) {
        Thread.currentThread().interrupt();
    }
    try {
        addr = map0(imode, mapPosition, mapSize);
    } catch (OutOfMemoryError y) {
        // After a second OOME, fail
        throw new IOException("Map failed", y);
    }
}
Run Code Online (Sandbox Code Playgroud)

来自jdk8-b120 的 jdk/FileChannelImpl.java …

java garbage-collection java-8

3
推荐指数
1
解决办法
116
查看次数

为什么Java接口用javac -g编译的类文件中没有LocalVariableTable?

当Java文件是接口时,如TestInterface.java

public interface TestInterface {

    void method(String parameterName);

}
Run Code Online (Sandbox Code Playgroud)

我用 编译javac -g TestInterface.java,然后用 反汇编javap -v TestInterface,输出如下:

Classfile /private/tmp/TestInterface.class
  Last modified Mar 17, 2022; size 148 bytes
  MD5 checksum da2f58afc0eaf77badc94c90de385198
  Compiled from "TestInterface.java"
public interface TestInterface
  minor version: 0
  major version: 52
  flags: ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
Constant pool:
  #1 = Class              #7              // TestInterface
  #2 = Class              #8              // java/lang/Object
  #3 = Utf8               method
  #4 = Utf8               (Ljava/lang/String;)V
  #5 = Utf8               SourceFile
  #6 = Utf8 …
Run Code Online (Sandbox Code Playgroud)

java javac java-8

2
推荐指数
2
解决办法
240
查看次数

标签 统计

java ×2

java-8 ×2

garbage-collection ×1

javac ×1