Live data from Hacker News

From Java code to Java heap (2012)

ibm.com

61–70 of 88 posts

Re: From Java code to Java heap (2012)

#61
post #39
post #29

Earlier quoted context omitted.

You are forgetting about the native desktop, IoT and mobile space, where besides Android's fork of Java, the language has lost its market. We have zero customers using Java, besides Android and legacy Swing applications on those areas. Otherwise customers are asking us instead for Qt/C++, .NET, Swift, Objective-C and Cordova/Ionic. With Microsoft adoption of Docker, and their Go sponsorship on Visual Studio Code, I h…

But Java was never "meant" to be a leader on the desktop; VB, Delphi and plenty of others have always had the lead. Whatever market share Java is losing, it is market share that it got due to market failure, and only held briefly. You're absolutely right about mobile, but the fragmentation there is such that no language/platform is the clear winner. Java's uncontested hegemony was short-lived, but even without it, it…

I am curious to see what Oracle will do after Java 9 gets out of the door, specially now that they lost the case against Google.

In the hypothetical future they do like Sun and let the language stagnate after Java 9, given that Android Java is stealing their revenue, who do you think will bother to pick it up?

We are already seeing them silent on JEE and JavaFX, Kenai and Java.net got closed down, and it wasn't only the JEE evangelists that left Oracle, key JVM people like Monica Beckwith have also left.

I don't see IBM, Red-Hat or Google willing to pick the language and offer the resources and care to design it further.

And the type of research that Java GC and JIT require need deep pockets, not a few weekend pull requests.

Re: From Java code to Java heap (2012)

#62
post #59

Earlier quoted context omitted.

>Tooting my own horn here, but Quasar on the JVM has both models to the T, performs on-par with Go and blows Erlang/Elixir out of the water in its own game. If that is so then kudos to you. >it is actually being solved on the JVM as we speak Right, it is being worked on and it will be worked on for many years to come before it gets released I'm afraid. >This isn't any worse than any language that isn't JS Yes, but Ja…

> Right, it is being worked on and it will be worked on for many years to come before it gets released I'm afraid. Three or four, most likely. That's not a long time at all. > Yes, but JavaScript VMs do exist, they are serious competition for the JVM, also, as you say, as a compilation target, which makes it even worse for the JVM. The importance of "runs in the browser" is hard to overstate. And then there is WebAss…

>Java (and by that I mean mostly the JVM) were designed after careful analysis of market needs. This kind of analysis is only available to certain players

I can't detect even the slightest influence of careful analysis on the rise and fall of technologies. If the creators of Java were planning anything, then it certainly wasn't what actually happened. Java failed completely in all areas it was originally built for (at least until Android, which happened very late in the game and is under threat).

If I had to come up with a formula for success, it would look something like this:

10% novelty-seeking and merit + 10% corporate backing and tenacity of the creators + 10% platform advantage + 70% historical accident.

In Java's history, that 70% historical accident was the web. No one planned for that to happen. All careful planners were taken completely off guard by the web.

Looking at my formula, I would say Swift has a shot at going somewhere. But there are huge wildcards like WebAssembly, the future of Java on Android and of course all the unknown unknowns that are probably going to disrupt all careful analysis including mine.

Re: From Java code to Java heap (2012)

#63
post #14

It has to be noted that on HotSpot the object header is only two words not three words like on J9. Basically Flags and Locks fit into one word on HotSpot whereas they use two words on J9.

Only on 32 bit IIRC, headers are 12 byte on 64 bit with CompressedOops (the default for heaps http://hg.openjdk.java.net/jdk8/jdk8/hotspot/file/87ee5ee275...

You are correct.

Re: From Java code to Java heap (2012)

#64
post #54

It has to be noted that on HotSpot the object header is only two words not three words like on J9. Basically Flags and Locks fit into one word on HotSpot whereas they use two words on J9.

J9 has had one-word headers for years now. I think this article was already out of date in 2012 when it was published.

That sounds interesting. Do you have source that you can share?

Re: From Java code to Java heap (2012)

#65
post #61
post #39

Earlier quoted context omitted.

But Java was never "meant" to be a leader on the desktop; VB, Delphi and plenty of others have always had the lead. Whatever market share Java is losing, it is market share that it got due to market failure, and only held briefly. You're absolutely right about mobile, but the fragmentation there is such that no language/platform is the clear winner. Java's uncontested hegemony was short-lived, but even without it, it…

I am curious to see what Oracle will do after Java 9 gets out of the door, specially now that they lost the case against Google. In the hypothetical future they do like Sun and let the language stagnate after Java 9, given that Android Java is stealing their revenue, who do you think will bother to pick it up? We are already seeing them silent on JEE and JavaFX, Kenai and Java.net got closed down, and it wasn't only…

> In the hypothetical future they do like Sun and let the language stagnate after Java 9, given that Android Java is stealing their revenue, who do you think will bother to pick it up?

Google (who is heavily invested; Google's OpenJDK team is about as big as their Go team)? IBM? Red Hat?

> We are already seeing them silent on JEE and JavaFX, Kenai and Java.net got closed down

We are seeing the exact same things happening at MS, yet there you interpret these events generously. Oracle is trying, like everyone else, to see where the wind is blowing. Kenai and Java.net are completely useless, and have been effectively abandoned for quite some time (more abandoned than Google Code).

I understand this tendency, though. When you're the leader and change things, you appear desperate. When you're an underdog, you seem visionary. But the fact is that Java isn't just the leader. It's competition (except for .NET on Windows only) is more than an order of magnitude behind. Java has also been eulogized time and again -- Ruby and Python were supposed to kill it last time around -- yet the JVM grows stronger, while the all the rest fiercely compete with one another on the distant second. I agree that JS is real and may actually change things, but there is so much new server-side code being written on the JVM -- significantly more than all other tech combined -- that the weakness on the client may kill it eventually, but it will be a while before the trend changes and we're at peak Java. There are huge companies like EMC that are just now moving projects from C++ to Java, and smaller companies like AirBnB that are moving from Ruby/Python to the JVM.

> I don't see IBM, Red-Hat or Google willing to pick the language and offer the resources and care to design it further.

Why not? Whatever other language/platform they pick will require even more investment than Java. There is no other language with that the industry is similarly invested in (except maybe C). Not even JS, which is still over 95% client-side code.

> And the type of research that Java GC and JIT require need deep pockets, not a few weekend pull requests.

The same goes for JS GC and JIT.

Re: From Java code to Java heap (2012)

#66
post #59

Earlier quoted context omitted.

> Right, it is being worked on and it will be worked on for many years to come before it gets released I'm afraid. Three or four, most likely. That's not a long time at all. > Yes, but JavaScript VMs do exist, they are serious competition for the JVM, also, as you say, as a compilation target, which makes it even worse for the JVM. The importance of "runs in the browser" is hard to overstate. And then there is WebAss…

>Java (and by that I mean mostly the JVM) were designed after careful analysis of market needs. This kind of analysis is only available to certain players I can't detect even the slightest influence of careful analysis on the rise and fall of technologies. If the creators of Java were planning anything, then it certainly wasn't what actually happened. Java failed completely in all areas it was originally built for (a…

> But there are huge wildcards like WebAssembly, the future of Java on Android and of course all the unknown unknowns that are probably going to disrupt all careful analysis including mine.

With that I can completely agree. I can't predict when and how the demise of the JVM would come about, but I can see that it's not happening just yet.

I do wonder about one meta-question, though: What effect does the trendy SV tech-marketing-speech has on developer technologies? Ruby was a huge SV hit and now it's ebbing, all without ever leaving a big impact on the software industry at large (sure, it was adopted by the odd "enterprise", but nothing on a grand scale). Now we see something similar (on a smaller scale, I think) with Haskell, Go and Elixir. Will there be a serious impact, or is it a passing SV fashion?

Re: From Java code to Java heap (2012)

#67
post #65
post #61

Earlier quoted context omitted.

I am curious to see what Oracle will do after Java 9 gets out of the door, specially now that they lost the case against Google. In the hypothetical future they do like Sun and let the language stagnate after Java 9, given that Android Java is stealing their revenue, who do you think will bother to pick it up? We are already seeing them silent on JEE and JavaFX, Kenai and Java.net got closed down, and it wasn't only…

> In the hypothetical future they do like Sun and let the language stagnate after Java 9, given that Android Java is stealing their revenue, who do you think will bother to pick it up? Google (who is heavily invested; Google's OpenJDK team is about as big as their Go team)? IBM? Red Hat? > We are already seeing them silent on JEE and JavaFX, Kenai and Java.net got closed down We are seeing the exact same things happe…

Microsoft has a different problem, the startups of the 21st century rather use UNIX free clones than pay for OS licenses.

Google has proven more than once on Android how "committed" they are to the health of the Java ecosystem and how willing they are to write top performing JIT compilers for Java and keep their implementation up to date.

Where they are putting their language research money is on Go and V8.

IBM is the main company besides Apple now investing in Swift and last year they had a major project to make J9 JVM language agnostic as a portable runtime.

My career has shown me more than once that languages which aren't sponsored by OS vendors eventually fade, regardless how big their user base is at a given moment.

Oracle surely isn't an OS vendor as such, what they made to Solaris and their Unbreakable Linux aren't really things that many still care about.

What I know is that RFPs for Java projects on my little part of the globe are either Android or maintenance related.

I hope to be proven wrong, but I no longer search for Java projects as I used to.

Re: From Java code to Java heap (2012)

#68
post #66

Earlier quoted context omitted.

>Java (and by that I mean mostly the JVM) were designed after careful analysis of market needs. This kind of analysis is only available to certain players I can't detect even the slightest influence of careful analysis on the rise and fall of technologies. If the creators of Java were planning anything, then it certainly wasn't what actually happened. Java failed completely in all areas it was originally built for (a…

> But there are huge wildcards like WebAssembly, the future of Java on Android and of course all the unknown unknowns that are probably going to disrupt all careful analysis including mine. With that I can completely agree. I can't predict when and how the demise of the JVM would come about, but I can see that it's not happening just yet. I do wonder about one meta-question, though: What effect does the trendy SV tec…

I don't know, but one thing is for sure. All dominant technologies that turned out to have a great impact once started out as something that many thought was a passing fad.

Also, there are some languages that dominate significant niches seemingly forever, like Python as a frontend for math, science and machine learning or R for statistics.

It's very sticky even though I never quite understood why you would want such a huge language barrier between those who implement interesting algorithms in C/C++ and those who use them. I would have thought that there is more overlap between these two groups. I can imagine a similar role for Go in Unix utilities and backend infrastructure.

Re: From Java code to Java heap (2012)

#69
post #18
post #5

Earlier quoted context omitted.

On hotspot ergonomics automatically turn those options on as long as your max heap is $ java -Xmx31G -XX:+PrintFlagsFinal 2>&1 | grep UseCompressed bool UseCompressedClassPointers := true {lp64_product} bool UseCompressedOops := true {lp64_product}

They also can't be enabled with >32GiB heaps.

I think it depends on the JVM. You can use compressed refs on JRokit with > 32G heaps. Its a bit of "bit twiddling." This article explains it pretty well:

https://blogs.oracle.com/jrockit/entry/understanding_compres...

Re: From Java code to Java heap (2012)

#70
post #67
post #65

Earlier quoted context omitted.

> In the hypothetical future they do like Sun and let the language stagnate after Java 9, given that Android Java is stealing their revenue, who do you think will bother to pick it up? Google (who is heavily invested; Google's OpenJDK team is about as big as their Go team)? IBM? Red Hat? > We are already seeing them silent on JEE and JavaFX, Kenai and Java.net got closed down We are seeing the exact same things happe…

Microsoft has a different problem, the startups of the 21st century rather use UNIX free clones than pay for OS licenses. Google has proven more than once on Android how "committed" they are to the health of the Java ecosystem and how willing they are to write top performing JIT compilers for Java and keep their implementation up to date. Where they are putting their language research money is on Go and V8. IBM is th…

This makes me wonder if IBM could now (post-Oracle v. Google) take over, or at least bite off a piece of, Java if it introduced value types and other goodies for JVM languages ahead of the official process and made a production version of J9 available at no cost.
Post reply on HN