画面共有プログラムを作っています。(クライアント)
悲しいことに、メモリ リークが発生していることがわかりました。
メモリリークをチェックするために、次のように単純化しました。
import java.awt.*;
import java.awt.image.BufferedImage;
public class Sharescreen {
public Sharescreen() {
try {
Robot robot = new Robot();
Rectangle winSize = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
while (true) {
BufferedImage image = robot.createScreenCapture(winSize);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] argv) {
new Sharescreen();
}
}
走る :
java -Xms50m -Xmx100m -jar "share screen.jar"
しかし!!プログラムを実行してから 10 分後、
「ロボット」クラスに問題があるに違いない!!!
どうすれば修正できますか?
java(jdk) バージョン: openjdk 11.0