What can be done to help the OpenJDK JVM play well in the world of Linux Containers?
I thought I’d start tackling this issue by answering some frequently asked questions:
Why is it when I specify -Xmx=1g my JVM uses up more memory than 1gb of memory?
Specifying -Xmx=1g is telling the JVM to allocate a 1gb heap. It’s not telling the JVM to limit its entire memory usage to 1gb. There are card tables, code caches, and all sorts of other off heap data structures. The parameter you use to specify total memory usage is -XX:MaxRAM. Be aware that with -XX:MaxRam=500m your heap will be approximately 250mb.
Continue reading “OpenJDK and Containers”
I came across Linux in 2005, it was Debian. Then followed a love affair with Ubuntu, for which in March 2009 I purchased a netbook Asus EeePC 1000. In 2010, I began to contribute to ALT Linux participating in the “School Project” and even became a basic256 package maintainer.
The last few years my EeePC with Ubuntu peacefully rested deep in my cupboard. Then there was a chance to clean off the dust. There was a task to get acquainted with CentOS Linux and test examples for my webinar “Apache Ant – quick start”.
Continue reading “Preparing CentOS 6.8 for Work”
Take advantage of your Red Hat Developers membership and download RHEL today at no cost.
Cross language development in one project
In this tutorial style article I’ll discuss how to configure Eclipse for Java Native Interface (JNI) development based on a sample project that you can copy and modify. I.e, you can have a single project that can be both Java and C at the same time, and support a full code navigation and debugging of both languages.
This article is focused on the configuration of Eclipse rather than explaining JNI itself, however there are links to JNI literature at the end.
Continue reading “Eclipse for JNI development and debugging on Linux (Java and C)”
We at the AArch64 Port Project are pleased to announce the first release of OpenJDK on the Linux/AArch64 platform. It is the first implementation of the Java platform to be made available for this processor architecture.
For those who haven’t heard: AArch64 is the latest architecture from ARM. It is an entirely new instruction set, not compatible with the earlier generation of 32-bit ARM processors, so we need a new OpenJDK port for it.
Continue reading “OpenJDK on AArch64: We have a release”
Red Hat brought a LOT of new and excellent application development products and capabilities during 2013, so I thought I would assemble this list for you here in case you missed any. Note that this is not a complete list (and comment if I missed something that you feel should be mentioned), and by the way, it is listed in random order.
Red Hat Software Collections general availability. Yes, I will list this first as it’s my personal favorite as I started working on this two years prior as part of a project initially called Robbin, a moniker cleverly coined by Brian Gollaher, our RHEL developer tools product manager. (We learned that people would be distracted if we gave it a name too soon in the planning phase – so they needed to agree on the definition first. Then we could name it. Our temporary offices were on Robbins Road then.) At the time, we all understood the gap that we were trying to address, but it took some time to define it for enterprise use cases and then get some engineering resources (thank you, Denise Dumas). So now here we are and we’re getting great feedback. I can’t wait to share news on the next release! 😉
Continue reading “Top Red Hat Developer News of 2013”
Over the past few years, I have been asked on and off as to what the process is for the RPMs that get into Red Hat Enterprise Linux and Fedora repositories. Over those years, the answer has evolved as we attempt to better the process. As it stands right now, there is a difference between how OpenJDK6, OpenJDK7 and OpenJDK8 (preview in Fedora 19) end up into RPMs. This post will shed some light into what those processes are.
This was the first (well, technically second, if you count the brief period when IcedTea7 was in Fedora before OpenJDK6) OpenJDK based JDK that was introduced in Fedora and RHEL.
OpenJDK6 has been EOLd by Oracle as of February 2013, and Red Hat has taken over maintainer-ship since. Since the goal of Fedora is to have the latest and greatest, we allowed OpenJDK6 in Fedora to EOL after Fedora 16 in favour of OpenJDK7. Enterprises however have much longer cycles and we continue to ship and support OpenJDK6 in RHEL-5 and RHEL-6 today.
OpenJDK6 in Fedora and RHEL has always been provided via a project named IcedTea. IcedTea was started by Red Hat to address build and binary plug issues that were in the initial version of OpenJDK. The purpose of IcedTea was to provide build scaffolding that made it easy to build OpenJDK, to provide open-source replacements for binary plugs, and to provide fixes that couldn’t otherwise make it into upstream OpenJDK.
The process for shipping new OpenJDK6 releases in Fedora and RHEL hasn’t really changed over the years and it is as follows:
Continue reading “From upstream OpenJDK to RPMs on your machine”