Потому что вы не можете redirect GC logs Я остаюсь с возможностью перенаправить его в файл с -Xloggc, а затем получить содержимое этого файла внутри моего селектора через какой-то канал с файлами. В основном, когда строки добавляются в мой файл, селектор запускается для их чтения. Таким образом, я могу получить журналы GC программно. Можно ли это сделать с помощью NIO?Как связать файл с помощью селектора NIO, другими словами, по мере добавления строк в файл выбран канал, чтобы вы могли читать строки?
0
A
ответ
0
№ файла FileChannel не расширяет SelectableChannel, поэтому вы не можете выбрать его, и даже на C, где вы можете, select() не доставляет читаемые события, когда файл расширен (он поставляет их каждый раз, когда вы выбираете , так как файл всегда читается).
0
Учитывая, что журналы GC буферизованы, я бы не стал беспокоиться о некоторой задержке. Вы можете периодически проверять длину файла и каждый раз считывать данные. Вы можете сделать это в IO, NIO или NIO2.