简体   繁体   中英

JVM 32 bit crashes on 64 bit machine

My Java application JVM (1.6.0_26, 32-bit) experienced sporadic crash when closed this Java application. This intermittent JVM crash problem seemed to only affect 64-bit Windows OS. This problem does NOT occur on 32-bit Windows OS and Mac OS X. Can anyone tell me the reason for this. actually this java application uses 100-150 libraries and it does not get crashed while in execution, once application gets closed crash occurs. Is it appropriate to use 32 bit JVM on 64 bit machine?

Thanks a lot in advance for your help.

Short answer is No. It's not appropriate to use a 32-bit JVM on a 64-bit machine. Longer answer is Windows 64bit OS can run 32bit programs under a compatibility mode if you don't have an option.

There's really no need to do that since 64 bit JVM runs fine on Windows OS. This also means your process can take advantage of more memory and speed than a 32bit process can use.

http://msdn.microsoft.com/en-us/library/aa384249(v=vs.85).aspx

Having a similar issue where I installed my JVM 32 bit on a 64 bit Win7, everything worked well until a third party OLE bridge was loaded. The JVM gave a crash report saying Java binary stopped working and the Message in the crash report code's value was HEAP_MEMORY_CORRUPTION. It is quite strange though because when I attached a profiler, the heap was well under the maximum limit. I suspect that my Bridge provider made some Kernel Mode executions(if that's possible) that is not allowed while being emulated under WOW64.

I solved mine. When the ole populated MS Office, it couldn't populate 2007 instead when I installed 2003, it worked. check whether your app crashed immediately or when some native calls are taking place, that way you could pinpoint the trouble.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM