Home » Tag Archives: JVM

Tag Archives: JVM

JAR File Handles: Clean Up After Your Mess!

In Ultra ESB we use a special hot-swap classloader that allows us to reload Java classes on demand. This allows us to literally hot-swap our deployment units – load, unload, reload with updated classes, and phase-out gracefully – without restarting the JVM. Windows: supporting the forbidden land In Ultra ESB Legacy the loader was working fine on Windows, but on ...

Read More »

OutOfMemoryError related JVM arguments

JVM has provided helpful arguments to deal with OutOfMemoryError. In this article, we would like to highlight those JVM arguments. It might come handy for you when you are troubleshooting OutOfMemoryError. Those JVM arguments are: -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath-XX:OnOutOfMemoryError-XX:+ExitOnOutOfMemoryError-XX:+CrashOnOutOfMemoryError Let’s discuss these JVM arguments in detail in this article. (1). XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath Heap dump is basically a snapshot of memory. It contains details ...

Read More »

Is your JVM leaking file descriptors – like mine?

Foreword: The two issues described here, were discovered and fixed more than a year ago. This article only serves as historical proof, and a beginners’ guide on tackling file descriptor leaks in Java. In Ultra ESB we use an in-memory RAM disk file cache for fast and garbage-free payload handling. Some time back, we faced an issue on our shared ...

Read More »

JVM with no garbage collection

JVM community keeps on adding new GC and recently new one was added and it is called  Epsilon and is very special one. Epsilon only allocates memory but will not reclaim any memory. It might look like what is use of GC that does not perform any garbage collection. This type of Garbage Collector has special use and we will look ...

Read More »

Top 9 Free Java Process Monitoring Tools & How to Choose One

So your Java code runs. Perhaps it even runs on a production server. After you pat yourself on the shoulder on a job well done, we’ve got good news and annoying news. The annoying news is that now, the debugging starts. Debugging and application performance monitoring that is. This means looking beyond the code written and into the internal workings ...

Read More »

Thread Local Allocation Buffers

Recently, I’ve been working on a Java application that suffered some serious performance issues. Among many problems, the one which really got my attention was a relatively slow allocation rate of new objects (the application was allocating a massive amount of rather large objects). As it later turned out, the reason was that a significant amount of allocations was happening ...

Read More »

Ultra-Low Latency Querying with Java Streams and In-JVM-Memory

Fundamental rules of nature, such as the speed of light and general information theory, set significant limits on the maximum performance we can obtain from traditional system architectures. Learn how you, as a Java developer, can improve performance by orders of magnitude using in-JVM-technology and Java Streams. If, for example, the application server and the database server are located 100 ...

Read More »

Query Databases Using Java Streams

In this article, you will learn how you can write pure Java applications, that are able to work with data from an existing database, without writing a single line of SQL (or similar languages like HQL) and without spending hours putting everything together. After your application is ready, you will learn how to accelerate latency performance with a factor of ...

Read More »

Memory-Hogging Enum.values() Method

I’m a big fan of Java’s enum. It seemed like we waited forever to get it, but when we did finally get it (J2SE 5), the enum was so much better than that provided by C and C++ that it seemed to me “well worth the wait.” As good as the Java enum is, it’s not without issues. In particular, ...

Read More »