GTFaker
2020-05-08 15:34java使用jna调用dll文件时,造成物理内存递增不释放。
我在java代码这边使用JNA调用了dll算法文件,但是每调用一次,我的本机物理内存就会叠加一次,不会释放内存,这个内存jvm的gc没办法释放,不属于jvm内存范畴,但是在dll文件中已经释放了内存,查看相关帮助文档后,有这种说法,就是跨平台访问dll的时候,存在大量数据传递时,dll要想读取java的数据,java会先把数据放在内存中,但是gc没办法释放这个内存,造成碎片,但是dll里也释放了内存,也无法释放这个数据内存,求大神帮忙解答下这个问题,怎样才能解决这个问题
TestDll Instance = (TestDll) Native.loadLibrary(".........",TestDll.class);
int Test1(double [] a, int b, int c, double [] d,double [] e, int f, double[] g, int[] h,double[] i, int[] j, int[] k);
int Test2(int a, double[] b, double[] c,IntByReference d, DoubleByReference e, IntByReference f, IntByReference g);
double Test3(double[] a, int b, double[] c, int d);
int Test4(double[] a, int b, double c, int d, int e, int f, double g, double h, double[] i, int j);
double Test5(double[] a, int b, double c, int[] d);
- 点赞
- 回答
- 收藏
- 复制链接分享
1条回答
为你推荐
- idea图标打不开,但是可以通过bat打开
- java
- intellij-idea
- 1个回答
- java如何调用c++编译生成的.lib文件
- java
- 1个回答
- java用jna框架实现对系统的关机及重启
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- JNA JNA 调用fortran 啊
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- JNA调用DLL库在任何电脑上使用
- dll
- java
- 库
- 2个回答
换一换