我正在使用最新的Java Runtime 8,并且已经在JavaFX中创建了一个应用程序以在画布中加载图像。 如果数据大小低于2GB,则应用程序运行良好,但如果超过2GB甚至是1 MB,则会记录以下错误。如果我加载的数据超过2 GB,则获得EXCEPTION_ACCESS_VIOLATION与Java 8
A fatal error has been detected by the Java Runtime Environment:
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000053def51c, pid=5716, tid=10968
JRE version: Java(TM) SE Runtime Environment (8.0_20-b26) (build 1.8.0_20-b26)
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.20-b23 mixed mode windows-amd64 compressed oops)
Problematic frame: V [jvm.dll+0x21f51c]
Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
An error report file with more information is saved as:
C:\Users\105064864\Documents\NetBeansProjects\JavaFX3DApplication\hs_err_pid5716.log
Compiled method (nm) 51180 1220 n 0 sun.misc.Unsafe::copyMemory (native)
total in heap [0x0000000002f4fb10,0x0000000002f4fe90] = 896
relocation [0x0000000002f4fc30,0x0000000002f4fc78] = 72
main code [0x0000000002f4fc80,0x0000000002f4fe90] = 528
If you would like to submit a bug report, please visit:
http://bugreport.sun.com/bugreport/crash.jsp
我试过了几个选项,没有任何工作。
我使用Windows 7和JRE是8.0
我的Java和OS都是64位。
我在8GB和16GB RAM上试过这个。
我已经将虚拟机选项(-Xmx4g)设置为分配4GB及以上,但没有任何效果。
机器的图形卡对数据有限制吗? 或者除了-Xmx4g还有其他一些设置,我们可以设置显式允许超过2 GB的数据加载?