Java 10 (and following) on 32-Bit systems - java

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

Related

Morena version 6 vs 7

We are currently using the Morena 6 lib to scan images. Morena 6 internally uses the TWAIN protocol and we got a big issue. All our scanners install a 32 bit TWAIN driver, so we cannot use it when we start a 64 bit version of Java. We can now switch to Morena 7 which uses the WIA protocol. But I don't know whether it solves the above described problem. I think I'm not the first who has such problems. Probably somebody can tell me whether this protocol change can solve my problem?
64-bit Java libraries should include 32-bit compatibility. I can't tell you if WIA will solve this as I haven't used WIA or Morena 7. Your Morena license will cover both 6 and 7, so you could definitely run a test application using it. What I can tell you is that WIA is the "user friendly" dumbed down version that doesn't support as many nice features as TWAIN had.
As for the architecture issue and solving for Morena 6, I have successfully run in Chrome and Firefox (both 64-bit, before NPAPI [and therefore Java] support was dropped) using 64-bit Java on 32-bit TWAIN. From what I gather though you're probably running an application, which theoretically should make this easier. You'll just need to find out how to force your application to run in 32-bit mode.
In Morena 7.1.36, there is the ability to use 32bit Twain drivers in 64bit Java.
It internally uses some 64bit surrogate process and is partly coded in assembly.
You can use it like that:
Configuration.setMode(Configuration.MODE_TWAIN_ENABLED);
or with native UI dialog:
Configuration.setMode(Configuration.MODE_NATIVE_UI | Configuration.MODE_TWAIN_ENABLED);
I had not much Knowledge about morena7 Please find the documentation in the following link
http://www.gnome.eu/Morena/doc/tutorial7.html
http://gnome.sk/Morena/morena.html

What are the difference between ibm jdk and oracle jdk?

I'm writing Java code that will run on an AIX server. I'd like to know the difference between IBM's JDK and Oracle's JDK, and if the JDKs have the same classes. Does the IBM JDK have all the classes present in the Oracle JDK?
Are there any IBM documents that describe the differences between the two JDKs?
The biggest difference between the Oracle and IBM java runtimes is that they have independent Java Virtual Machine (JVM) and Just In Time (JIT) compiler implementations. IBM needed to build their own JVM and JIT that could run java programs on platforms such as z/OS (mainframes), AIX and Linux on Power processors, where other Java implementations would not run. The JVM and JIT are part of the Java runtime internals and they should not change how you write your Java programs. There are no documents listing the big differences between Oracle JDK and IBM, because the goal is to make them compatible. As others have said already, they are both implementing the same standard spec and Java API. That said, there is a lot of Java documentation from IBM, available at:
http://www.ibm.com/developerworks/java/jdk/docs.html
One area that could affect you as a programmer is that the IBM JRE has its own implementations of Security providers, which might need to be configured differently. These are documented in a Security Guide - the Java 8 version is here:
http://www.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/introduction.html
I work in an environment where we use Java 1.6, deploying to Oracle (JRockit), IBM and Oracle/Sun JDKs.
The three are remarkably comapatible. Apart from the occasional difference (e.g. in JAXWS startup behaviour) we strike remarkably few problems.
There are no huge holes where one JDK is missing stuff that is in others.
I meet a big difference in the GBK encoding. The ibm jvm GBK is stand for the ibm936, but the openjdk or oracle jdk is the CP936. CP936 is the real GBK standard, as knowned the windows-936. So if you meed the strange GBK problems, you can see the IBM solutions

What does Oracle JDK 7 and JRE 7 Certified System Configurations really mean?

Oracle Java 7 has a list of certified platform http://www.oracle.com/technetwork/java/javase/config-417990.html#os popular server Operating systems such as debian and ubuntu are not certified.
I have downloaded the jdk-7u3-linux-x64.tar.gz and it seems to run on Ubuntu should I be concerned about running Oracle Java 7 on a non certified Oracle platform for production? Is this certified platforms list just a marketing thing or is some technical reason why Oracle Java 7 would run differently on Redhat vs. Ubuntu?
While you may not see a difference between, say, Ubuntu and RHEL when running a JVM, you would probably receive far different reactions if you encounter an issue and request support from Oracle:
Using a certified OS increases the possibility of a quick fix. Not only is it easier for the support staff since they have to be familiar with and test on far fewer platforms, but they are also bound to produce a quicker fix due to marketing reasons and possibly due to various contractual obligations.
On the other hand, you are far more likely to receive a "sorry, can't reproduce it on our system" reply if you are using an unsupported distribution.
I would not expect the JRE to run differently on an unsupported system - at least not for long. Any fixes usually find their way to the more generic packages pretty quickly.
That said, I have encountered other applications (e.g. IBM PurifyPlus) that were so tied to specific versions of the supported platforms that they were not usable even on updated versions of a supported platform (e.g. SLES 10 vs 10SP1). And by tied I mean major functionality issues, not a silly version check. Apparently in some cases there are technical reasons, arguably due to a badly designed application, for using a supported platform.
If I understand correctly on certified OS jvm runs as expected, others not guaranteed. Every OS has its own instruction set (and interpretation of instruction set), Each OS JVM is coded for that specific insturction set. JVM for certified OS are tested against those instruction sets.

Which eclipse version to use on a Mac? (Carbon or Cocoa)

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.

Can I do Java 6 development in OS X?

I know when Leopard came out everybody (well, everybody that was a Java developer and cared enough to do development on a Mac) was pissed that there was no Java 6 SDK support. I know somebody provided some kind of hack way a few months after Leopard was released, but I could have sworn that I read sometime later that Apple and/or Sun finally put out an official version of the Java 6 SDK.
So now a year and a half later I am finally interested in doing some Java dev on the Mac (thank Google App Kit for that). But when I go to Apple's Java site... all I see is stuff about Java 5.
So, can I do Java 6 on a Mac?
See also: Installing Java 6 on Mac OS
Yes, JDK6 is available, and it is quite nice, for example it supports DTrace, which otherwise you only get on Solaris.
The main drawback is that Apple is very aggressive in deprecating older hardware (and OS versions). Java6 will never be released for Mac versions before 10.5, and only works on 64bit Intel. That also kills native 32 bit libraries, such as SWT/Carbon, which is what Eclipse uses (they need to move to Cocoa now).
Update: Snow Leopard apparently has Java6 for 32bit Intel, too (in addition to 64bit).
http://developer.apple.com/java/ (which is only for 64-bit Macs)
http://landonf.bikemonkey.org/static/soylatte/ (SoyLatte, a separate Java 6 port).
Yes, JDK6 is available.
However, some versions of Eclipse do not support it. There is a new one (based on Cocoa) that should but it is not officially available.
You can but you have to be very wary of Apple on this one. Sun released JDK 6 in December 2006. Apple released Java 6 for MacOS X a year later.
Why the delay? It seems that integrating the new Look and Feel was the answer but we don't have an official reason.
Now if Java 6 was important to you at the time this would've been (and was) a big deal.
As other answers mention, support for certain hardware and libraries can also be problematic.
windows and Linux are (imho) still the preferred Java development platforms. If it ever becomes critical you can always do Java development on a Mac in a VM however.
Partly. Apple released its version of Java SDK 6 a few months back. But there are still some functions which are not available on Apple's SDK 6 which exist in Sun's Java SDK 6. I don't know why this is so.
For e.g., after Unisys's patent on GIF format expired, Java included the capability to write image files in GIF format in SDK6. Yet, you still can't write GIF files on Apple's SDK.
http://developer.apple.com/java/
Looks like you can.

Categories