Java Native Interface을 사용하여 JVM을 호출하는 프로그램이 있습니다. 프로그램은 서버입니다. 여러 요청을 처리하고 오랜 시간 동안 온라인 상태를 유지해야합니다.로컬 참조가`DetachCurrentThread`에 의해 지워지나요?
로컬 참조로 인한 메모리 누수를 방지하기 위해 각 요청을 처리하기 전에 PushLocalFrame
을 호출하고 각 요청을 처리 한 후 PopLocalFrame
을 호출하여 로컬 참조를 지울 수 있다는 것을 발견했습니다.
이제 여러 요청을 동시에 처리하고 싶습니다. 각 요청을 처리하기 전에 AttachCurrentThread
에 전화를 걸고 각 요청을 처리 한 후에 DetachCurrentThread
을 호출 할 수 있으며 각 요청마다 다른 JNIEnv
을 사용합니다.
내 질문은 : 나는 또한 전에 각 요청을 처리 한 후 PushLocalFrame
/PopLocalFrame
전화, 또는 이미 DetachCurrentThread
클리어 로컬 참조합니까? 이에 대한 문서를 찾을 수 없습니다.