簡體   English   中英

Java-如何管理JNI C代碼中的內存?

[英]Java - How is memory in JNI C code managed?

假設我正在通過JNI從Java調用一些C代碼,並且在C代碼中有一些全局數組。 如何分配和管理此內存? 我假設它不會在JVM堆上。

它不在JVM堆或本機元空間上。 內存是從提供給java進程的本機內存空間分配的,該進程是將JVM作為本機OS進程啟動的進程。 它由分配它的本機代碼管理,因此,如果不手動free所有malloc ,則會發生內存泄漏。

沒有太多可依賴的具體材料,但是,此Oracle指南是一個很好的起點。

全局數組必須是靜態的,這意味着它位於共享庫的數據段中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM