Я провел множество тестов производительности в ОС Unix. и код Java работает очень хорошо, без каких-либо сбоев. Теперь я создал библиотеку Windows DLL, позволяющую другим пользователям запускать программу локально, и она начала давать сбой сразу при попытке освободить память:
Код: Выделить всё
NativeLibrary.addSearchPath("regex", "C:\\Users\\lala\\github\\test-golang\\lib");
Pointer pr = RegexLibrary.INSTANCE.Matches("1", "[0-9]");
boolean match = pr.getString(0).matches("1");
Native.free(Pointer.nativeValue(pr));
Простой обходной путь: запускайте Native.free(Pointer.nativeValue(pr)) только в ОС Unix, потому что я Знайте, что ОС Windows предназначена только для локальной разработки.
Кто-нибудь знает, почему это происходит только в Windows?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ree-memory
Мобильная версия