Archive | jvm RSS feed for this section

Understanding JVM Internals, from Basic Structure to Java SE 7 Features | Architects Zone

this article will explain how JVM works, its structure, how it executes Java bytecode, the order of execution, examples of common mistakes and their solutions, as well as the new features in Java SE 7 Edition.

(Full Story: Understanding JVM Internals, from Basic Structure to Java SE 7 Features | Architects Zone)

Understanding JVM Internals | CUBRID Blog

In this article I will explain how JVM works, its structure, how it executes Java bytecode, the order of execution, examples of common mistakes and their solutions, as well as the new features in Java SE 7 Edition.

(Full Story: Understanding JVM Internals | CUBRID Blog)

Understanding JVM Internals | Java SE 7 Edition

This article explains how the JVM works, its structure, how it executes Java bytecode, the order of execution, examples of common mistakes and their solutions, as well as the new features in Java SE 7 Edition.

(Full Story: Understanding JVM Internals | Java SE 7 Edition)

JVM performance optimization, Part 1: A JVM technology primer – JavaWorld

Most enterprises are willing to sacrifice the narrowly perfect performance of machine-optimized code for the benefits of Java:

Ease of coding and feature development (meaning, faster time to market)
Access to knowledgeable programmers
Rapid development using Java APIs and standard libraries
Portability — no need to rewrite a Java application for every new platform

(Full Story: JVM performance optimization, Part 1: A JVM technology primer – JavaWorld)

BigCache – An Off-Heap Caching Solution For Java Platforms

Most Java caching solutions rely on maps and other in-heap structures to make your data accessible as fast as possible. While this is usually a good idea for reasonably sized caches, when the volume of the cached objects grows outside the usual few gigabytes and goes into tens (or hundreds) of gigabytes, you will find the heap increasing to sizes where the garbage collector starts to become a hindrance.

This problem is usually mitigated by flushing cache storage to disk or using external platforms like memcached and its modern NoSQL cousins. Either of these solutions however add complexity to the stack and the deployment, not to mention they are not able to deliver data as fast as any in-memory cache.

BigCache addresses this problem by persisting the cached data in memory within the same JVM process, but outside the JVM heap. This prevents the Garbage Collector from interacting with the cache’s memory zone, allowing the JVM heap size to be scaled based on processing needs only. While

(Full Story: BigCache – An Off-Heap Caching Solution For Java Platforms)

Simple Tools To Analyze JVM Thread Dumps

A simple way you can get a thread dump is via the “jstack” utility that ships with the JDK. Once you know the pid of your Java JVM process (to get this information, you can use the standard “ps” utility or you can use “jps”, which is another JDK utility), you simply tell “jstack” to output a thread dump associated with that process which you redirect to a file

(Full Story: Simple Tools To Analyze JVM Thread Dumps)

Introduction to BTrace for Java applications – Java Code Geeks

BTrace helps us to pinpoint complicated code problems in the application. The problems that can be solved using BTrace include code bugs, unpredictable flows, concurrency problems and performance problems that happen under specific and usually hard to reproduce circumstances.

(Full Story: Introduction to BTrace for Java applications – Java Code Geeks)

Tuning JVM for a VM – Lessons Learned, Directly from VMware – Marakana

This talk will present a lot of the innovation, practical insight, and lessons learned gained from the last year by a senior engineer from VMware who recently developed a Java ballooning solution called Elastic Memory for Java (EM4J)

(Full Story: Tuning JVM for a VM – Lessons Learned, Directly from VMware – Marakana)

Java Tuning in a Nutshell – Part 1

The diagram below is what I came up with. I’ve tried to narrow down the most important flags that will solve 80% of JVM performance needs with 20% of the tuning effort.

(Full Story: Java Tuning in a Nutshell – Part 1)

Finagle, from Twitter

Finagle is a network stack for the JVM that you can use to build asynchronous Remote Procedure Call (RPC) clients and servers in Java, Scala, or any JVM-hosted language. Finagle provides a rich set of protocol-independent tools.

(Full Story: Finagle, from Twitter)

Follow

Get every new post delivered to your Inbox.