Live data from Hacker News

Eclipse OpenJ9 – Open-source JVM

github.com

51–60 of 105 posts

Re: Eclipse OpenJ9 – Open-source JVM

#51

The "Welcome to the Eclipse OpenJ9 repository" is just brilliant. So many product blogs and source code repositories fail to introduce the product first.

I'm confused. Do you think they're doing it right with that as an intro?

On the first point I can see that it's high performance enterprise grade jvm. It's a good introduction. There are many projects that's difficult to understand even after scrolling or clicking.

Re: Eclipse OpenJ9 – Open-source JVM

#52

Earlier quoted context omitted.

How so? There was BEA JRockIT, IBM J9, Azuul, Oracle and HP also have a JVM iirc.

I've been a Java dev for a decade, and I never once used anything but Sun / Oracle's version (now OpenJDK, which is almost the same thing). I really have no idea who ever used these other JVM implementations. I'm guessing it would be companies with specialized hardware such as IBM mainframes or finance firms paying a lot of money to squeeze out performance with WebLogic. Either because of poor marketing or some other…

Back in the early 2000s, the IBM JVM was freely available and frequently used as a drop-in replacement for the Sun JVM, since it was often faster and less memory-hungry.

IBM also had an open-source Java compiler written in C++, Jikes [1], that was considerably faster than Sun's javac. However, it was eventually abandoned. Jikes is coincidentally also the name of IBM's open-source research JVM [2], which is still under development.

Azuul is apparently popular in areas requiring low latency, such as financial trading.

As an aside, there are many niches that most people haven't heard about. You might be surprised about all the kinds of software that are hiding under rocks — invisible to most people because they're not working in that industry. Things like MUMPS, K/kdb, Fortran, Delphi — lots of obscure stuff that has left the mainstream (or never entered it in the first place) but is still in use.

[1] https://en.wikipedia.org/wiki/Jikes

[2] https://github.com/JikesRVM/JikesRVM

Re: Eclipse OpenJ9 – Open-source JVM

#53
post #5

So is this OpenJDK-derived? If so, too bad, I've been hoping for a truly independent implementation. If not, does it pass the TCK?

Ex-J9 engineer here, J9 was built completely in a clean-room. It does pass the TCK tests.

What is the 9 for? Jackknife? Jabbering?

Re: Eclipse OpenJ9 – Open-source JVM

#54

Earlier quoted context omitted.

How so? There was BEA JRockIT, IBM J9, Azuul, Oracle and HP also have a JVM iirc.

I've been a Java dev for a decade, and I never once used anything but Sun / Oracle's version (now OpenJDK, which is almost the same thing). I really have no idea who ever used these other JVM implementations. I'm guessing it would be companies with specialized hardware such as IBM mainframes or finance firms paying a lot of money to squeeze out performance with WebLogic. Either because of poor marketing or some other…

I used JRockIT for some stuff. We found it to beat HotSpot (at the time) in some of our use cases. Eventually they got brought in house and HotSpot gained those speed improvements. One of the things that was really useful with it was Mission Control, which didn't exist to the same degree with the HotSpot VM.

Re: Eclipse OpenJ9 – Open-source JVM

#55
post #5

So is this OpenJDK-derived? If so, too bad, I've been hoping for a truly independent implementation. If not, does it pass the TCK?

This is IBM's formerly-proprietary J9 JVM, which I believe was developed entirely from scratch, independently of Sun's HotSpot JVM. J9 actually has its roots in an earlier Smalltalk VM (VisualAge Smalltalk, I think). The source copyrights go back to 1991. Eclipse, of course, was what IBM started after abandoning VisualAge. It's not a JDK/JRE. J9 must be combined with OpenJDK to be able to run apps.

> J9 must be combined with OpenJDK to be able to run apps.

No IBM has its own full JDK that you can download, but the rest of it other than the JVM is not being open sourced at this time. That's my understanding at least.

Re: Eclipse OpenJ9 – Open-source JVM

#56

Earlier quoted context omitted.

Ex-J9 engineer here, J9 was built completely in a clean-room. It does pass the TCK tests.

What is the 9 for? Jackknife? Jabbering?

There's some mythology here, perhaps another J9 greybeard can answer. The story I've heard so far goes as follows...

There was some constant for 8K that was mistyped incorrectly, something like instead of:

#define 8K 8192

They mistyped and wrote:

#define 8K 8096

This caused all sorts of bugs and was known internally as the 8K bug. When time came to write the Java VM, they wanted to name it as "post 8k bug" they named it K9, but K9 sounds like a dog (woof) so they decremented the K to land on J9.

At least that's what I've heard...

shrugs

Re: Eclipse OpenJ9 – Open-source JVM

#57
post #23

Earlier quoted context omitted.

Why would you want to add a delete keyword? Are you trying to add explicit memory management to simplify the work of the garbage collector?

One example would be game development, where people end up doing object pooling to avoid GC pauses dropping frames.

What would you expect to be the behavior of any existing references to an object that was deleted?

(Keep in mind that Java is a memory-safe language.)

Re: Eclipse OpenJ9 – Open-source JVM

#58

Earlier quoted context omitted.

How so? There was BEA JRockIT, IBM J9, Azuul, Oracle and HP also have a JVM iirc.

I've been a Java dev for a decade, and I never once used anything but Sun / Oracle's version (now OpenJDK, which is almost the same thing). I really have no idea who ever used these other JVM implementations. I'm guessing it would be companies with specialized hardware such as IBM mainframes or finance firms paying a lot of money to squeeze out performance with WebLogic. Either because of poor marketing or some other…

HP had PA-RISC and Itanium so they ported Sun/Oracle's JVM (presumably under some commercial license agreement as this was before OpenJDK) to those platforms and distributed/supported it with their HP-UX. Oracle DBs on Itanium used that port of the JVM too IIRC.

Re: Eclipse OpenJ9 – Open-source JVM

#59

Earlier quoted context omitted.

I've been a Java dev for a decade, and I never once used anything but Sun / Oracle's version (now OpenJDK, which is almost the same thing). I really have no idea who ever used these other JVM implementations. I'm guessing it would be companies with specialized hardware such as IBM mainframes or finance firms paying a lot of money to squeeze out performance with WebLogic. Either because of poor marketing or some other…

Back in the early 2000s, the IBM JVM was freely available and frequently used as a drop-in replacement for the Sun JVM, since it was often faster and less memory-hungry. IBM also had an open-source Java compiler written in C++, Jikes [1], that was considerably faster than Sun's javac. However, it was eventually abandoned. Jikes is coincidentally also the name of IBM's open-source research JVM [2], which is still unde…

Jikes RVM was known as Jalapeño first, then they changed the name to Jikes RVM due to a name clash (Jikes Java compiler already existing at the time). I'm not sure it is still active though, a lot of researchers left IBM a few years ago (2012) and Java ceased to be the hot topic anyways.

Re: Eclipse OpenJ9 – Open-source JVM

#60
post #36
post #31

Earlier quoted context omitted.

There are better ways to eliminate GC pauses than manual memory management (even ignoring the relatively new "pauseless" GCs). See the new RTSJ (realtime Java) specification here: https://www.aicas.com/cms/en/rtsj . Not that it's designed for far stricter requirements than games (cases where even microseconds of unexpected latency may result in actual life safety concerns). Manual memory management is a good choice i…

The RTSJ solution is to simply pre-allocate everything you could ever want and reuse that. That’s horrible to use for game development.

> The RTSJ solution is to simply pre-allocate everything you could ever want and reuse that.

That's not the RTSJ solution. RTSJ uses arenas, which are great if you have regular allocation/deallocation cycles, like, say, a frame in a game.

Post reply on HN