Can 32-bit and 64-bit Java be simultaneously installed on Vista x64?
Yes, and in fact, this is the only way to get Java Webstart, as there is no 64-bit version.
Edit: Supposedly a 64-bit Java WebStart will be available in Java 6u12.
Considering that when you update Java, it never removes the old version of Java, you should be able to run 32 and 64 bit java at the same time without a problem.
Related
As far as I know there are no plans from oracle to ship java for 32 Bit - but maybe I misunderstand the situation.
If I'm correct - what do we all do if we need to support 32-Bit libraries (dlls)? And whats about 32 Bit OSes out there?
Currently this seems to be a huge impact in the future but as I said - maybe I'm wrong.
Fact is that we can't download a Java 10 runtime in 32 Bit as there are only 64 Bit Download-Links.
Had a similar issue, just with Java 11. Eventually, I found a 32bit JDK and JRE for Java 11 on https://adoptopenjdk.net/ (for the Hotspot JVM). With the 32bit JDK, I successfully connected to a 32bit dll. I hope this is useful for others who face a similar situation.
Oracle is not the only party building and distributing OpenJDK.
For example Azul maintains, but does not certify as TCK-compliant, 32bit windows builds as part of their Zulu project.
There is no 32-bit Java 10 distribution from Oracle. And there will be no Java 11 distribution as well. There are a few companies which offer a 32-bit support though (like Azul). However, I recommend continuing using Java 8 32-bit. It has official support from Oracle and it will be maintained until January 2019.
For RHEL, redhat still offers 32bit java-11 in their repository:
java-11-openjdk-devel.i686 1:11.0.6.10-1.el7_7
A software is developed and maintained by Java 1.6 only. (Java 7 and Java 8 can not compile it)
Currently want to let it supported by java 7 and 8. In case it matters, I work on Windows OS, in the NetBeans IDE.
Is there any easy way? If not, is there any process I can follow with?
Code compiled for/against JDK6 runs on higher JRE's, unless your code relies on quirks/glitches specific to a JRE (e.g. using stuff from sun.misc packages). Another problem may be that you have native DLL's only for 32bit, but are trying to run on a 64bit JRE.
Code written for Java6 can generally be compiled using Java7/8, although there may be a few specific cases with generics where the code needs slight adaptions (those will result in a compiler error).
so I have some 3rd party native library that works only in 32 bit JVM across windows,osx,linux and I need to always enforce the java application to run in 32 bit JVM mode.
What about if the target system only has 64-bit JVM installed, would it be possible to force it to run the java application in 32 bit mode?
No.
The preconditions that you specified prohibit (okay, I'm precluding the bundle-the-JVM solution and install-the-JVM solution) the application from running in a 32-bit JRE. If you want to run your application in a 32-bit JVM, and your third party native library is only available as a 32-bit DLL, then you must use a 32-bit JVM. A 64-bit JVM cannot load the 32-bit library; there is no 32-bit mode to load such libraries.
Solutions include:
Require the 32-bit JVM to be installed
Bundle the 32-bit JVM (the three OS's - that'll be a pretty big burden)
Install the 32-bit JVM for the user
Use a different third party library / roll your own / find a 64-bit version of the third party library
With Java 6, no. With Java 7+, yes.
Use -d32 with Java 7
possible to force a 64-bit JVM to use 32-bit mode via the argument
“-d32”?
As there is no such argument to the java command, the answer is obviously 'no'.
When I run my Java application on a Solaris machine, I'm having issues with a shared library since it is in 32-bit format. How do I make my application run as in 32-bit format so it would be consistent with the shared library? I compile my application in Windows by the way, and I believe it has nothing to do with the bytecodes.
Perhaps the "-d32" flag can help?
http://download.oracle.com/javase/1.5.0/docs/tooldocs/solaris/java.html
When i go to the eclipse website (http://www.eclipse.org/downloads/) there are 3 different versions of eclipse for Mac:
Carbon 32bit
Cocoa 32bit
Cocoa 64bit
I'm confused about why there are three version and which one i should be using. (I'm running OSX 10.5 on a MBP)
I say go with the 32-bit Cocoa version unless you want to use Java 6. The 32-bit version will use less memory, and because the 32-bit 1.5 JVM is the client Java VM it's better tuned for UI apps.
If you want to use Java 6 on 10.5, you must use the 64-bit Cocoa version.
You would think there would be a universal 32/64-bit version, but there isn't. The reason there are multiple versions is due to the SWT's (and Eclipse's for that matter) philosophy of one architecture and one windowing system per application. p2/Equinox can't cope with multiple architectures in the same application.
Use Cocoa 64bit, you most likely have a 64 bit processor (unless you know you don't).
Carbon is just the old graphical API, it was replaced by Cocoa.
Depends on what you're using it for. I've been using 32-bit Cocoa on a MBP running 10.5 for most of my development for the past 3 months and haven't had any problems. I wouldn't use Carbon as it is a now deprecated API.