JVM performance tuning
Within a Java-based system, a lot of responsibility is put on the Java Virtual Machine (JVM) to make sure the application runs smoothly and reliably. JVM performance tuning issues are therefore of paramount concern to any Java developer. Application Performance Monitoring systems, interception, triage and collection each play an important role. In this section find news, research and tutorials on how to better understand JVM performance tuning, and get tips and advice for diagnosing and fixing JVM performance tuning more effectively. The JVM must be carefully monitored and attended to for optimum performance.
Top Stories
-
Tutorial
30 Mar 2022
An example of how suppressed exceptions in Java work
Don't ignore suppressed exceptions. In this quick tutorial we show you how to anticipate when code will throw suppressed exceptions, along with the best practices to handle them. Continue Reading
-
Tutorial
30 Mar 2022
A simple 'try with resources' in Java example
Java's 'try-with-resources' exception handling feature can help you write better, more effective Java code. Here's a quick example of the try with resources construct in action. Continue Reading
-
Blog Post
25 Jan 2022
Why is the Bootstrap grid system 12 columns wide?
Ever wonder why they created a 12-column Bootstrap grid system, and not 10 or 15? It's the same reason there's 60 seconds in a minute, or 360 degrees in a circle. Continue Reading
-
Blog Post
29 Nov 2021
How to use Java's javap tool by example
Need to disassemble a Java class file? Want to look at the bytecode instructions generated from compiling source? These javap tool examples will show you how to use the javap command properly. Continue Reading
-
Feature
19 Mar 2021
Java garbage collection interview questions and answers
From stop-the-world events to the impact of JVM pause times, these are the Java garbage collection questions and answers developers need to know before an interview. Continue Reading
-
Tutorial
18 Mar 2021
How to use Epsilon GC to stop Java garbage collection
The best way to stop Java garbage collection from happening is to use the experimental Epsilon GC, no-op garbage collector from JDK 11. Learn how and when to use it. Continue Reading
-
Quiz
26 Feb 2021
A tough, 10-question Java garbage collection quiz
Do you know which Java garbage collector is deprecated and which is best for stateless apps? Test your knowledge in this Java GC algorithm and tuning quiz. Continue Reading
-
Feature
11 Feb 2021
Use this Java performance tuning guide to optimize your JVM
There are two steps to Java performance tuning. First, assess your system to make sure it can improve. Then, optimize shared resources like CPU and memory. Continue Reading
-
Feature
29 Jan 2021
5 Java performance profiling tips to help tune your JVM
Check out these Java performance tips, such as which profiling tool to use, what data you need to save as part of your CI/CD pipeline and how to incorporate AI. Continue Reading
-
Blog Post
29 Jan 2021
How to start Java's JVM Flight Recorder in 3 easy ways by example
JDK Mission Control is feckless without a Java Flight Recorder file to profile. Here are 3 easy ways you can start Java Flight Recorder in Eclipse and monitor your JVM in JMC. Continue Reading
-
Answer
27 Jan 2021
How to fix high Java CPU usage problems
The root cause of high Java CPU usage is not always simple to diagnose. Let's go over some common misdirections and review what often causes the problem under the hood. Continue Reading
-
Answer
19 Jan 2021
JVM tuning vs. Java optimization: What's the difference?
JVM tuning and Java optimization sound similar, and both aim to boost application performance. But they take fundamentally different approaches to accomplish their goals. Continue Reading
-
Podcast
27 Jul 2020
How Quarkus fits into the Red Hat Runtimes formula
Faster microservices runtimes are the center of the excitement around Quarkus. Hear what Red Hat's James Falkner thinks about the framework in this podcast with TheServerSide.com. Continue Reading
-
Tip
28 Feb 2020
5 tips to reduce webpage weight and improve user experience
A slow landing page makes a bad first impression for any potential website visitor. Here are five tips to improve the page and increase page load speeds. Continue Reading
-
Tutorial
08 Aug 2019
How to install the JDK on Windows and set up JAVA_HOME
You have options when it comes to JDK installations on Windows and Linux. Here are some helpful tips to ensure a proper install and why JAVA_HOME can be helpful. Continue Reading
-
Blog Post
13 Jun 2019
How to troubleshoot a JVM OutOfMemoryError problem
https://youtu.be/7Y67bkR977c There aren't any magical tools that will fix an OutOfMemoryError for you, but there are some options available that will help automate your ability to troubleshoot and ... Continue Reading
-
Blog Post
22 May 2019
How to force JDK 1.8 compliance in a Maven POM example
Maven and Eclipse have always had a rocky relationship, and a common pain point between the two is how to force Maven JDK 1.8 support in new Eclipse projects. Without jumping through a few ... Continue Reading
-
News
22 Mar 2019
Oracle's Java 12 adds developer productivity features
The latest version of the Java Platform, Standard Edition, delivers new features to make developers more productive with the Java programming language. Continue Reading
-
Blog Post
20 Feb 2019
How to get by without Concurrent Mark Sweep
If your standby garbage collector option, Concurrent Mark Sweep, won't work on future Java releases, here are some option to consider as an alternative. Continue Reading
-
Blog Post
01 Dec 2018
What is a lambda expression in Java? Where did the term 'lambda' come from?
What is a 'lambda function' and more importantly, where did the term 'lambda expression' come from? Here we look at the basics of lambda functions in Java and computer science. Continue Reading
-
Feature
01 Nov 2018
Stop with the unsafe internal Java API calls, or the JDK will stop it for you
Soon, any code that uses Java internal APIs will not compile, and shortly after that, code that uses classes in sun.misc will not even run. Continue Reading
-
Feature
01 Sep 2018
New CDNs bring edge JavaScript to the app performance world
With content distribution networks loaded with edge JavaScript, Cloudfare promises to improve application performance and reducing resource consumption. Continue Reading
-
Feature
27 Dec 2017
What thought leaders were saying about Java SE 9 in 2017
Understandably, Java SE 9 was a popular topic of discussion in 2017, but so were DevOps and cloud native, according to this list of the 10 most popular podcasts of 2017. Continue Reading
-
Feature
27 Dec 2017
From bitcoin to deprecated Java, a look at 2017's top opinions
What were the most contested technology topics of 2017? On TheServerSide, issues such as bitcoin blockchains and deprecated Java methods generated the most comments and page views. Continue Reading
-
Feature
20 Nov 2017
How to solve JavaScript and Java performance issues
Given the complexity of client side user interfaces, along with the often limited processing power of many mobile devices, finding out ways to address JavaScript and Java performance challenges is a priority. Continue Reading
-
Blog Post
04 Oct 2017
Java SE 9 approaches Atari-like performance at JavaOne 2017
As things get better, they often get slower, making better things worse. Far too often, that’s how things work in the tech sector, which is why I’m glad to see the architects of Java SE 9 bucking ... Continue Reading
-
Blog Post
03 Jul 2017
Advancing JVM performance with the LLVM compiler
In this interview with TheServerSide, Gil Tene explains how the LLVM compiler brings the JVM to a whole new level of performance. Continue Reading
-
Feature
14 Jun 2017
Changing lives through improved application performance
Find out how Cure.org improved application performance management to fine tune their website, increase donations, and make a difference around the world. Continue Reading
-
Blog Post
05 May 2017
Can JVM performance in the cloud really compete with bare-metal metrics?
Surely in the world of high performance computing, there is still a place for running Java on a bare-metal machine, right? Yet according to Gil Tene and Azul's JVM performance experts, they're ... Continue Reading
-
Feature
13 Mar 2017
GPU computing key to machine learning and big data performance
While the CPU remains central to data processing, massive gains in the area of AI analytics and dig data performance are being seen when GPU computing is thrown into the mix. Continue Reading
-
Blog Post
28 Nov 2016
Chipmaker Intel reasserts its longstanding commitment to the Java platform
Reflecting back to JavaOne 2016, we take a look at Intel VP Michael Greene's talk about why the Java language and Intel is a great mix. Continue Reading
-
Feature
27 Oct 2016
SVG graphics and HTML5 key to creating consistent UIs across devices
Find out how new libraries and tools promise to bring a consistent UI with SVG graphics in HTML5 development. Continue Reading
-
Guide
19 Sep 2016
News from JavaOne 2016
What is new with Java in 2016? Here you'll find the most up to date conference news from JavaOne in San Francisco. Continue Reading
-
Tutorial
21 Jan 2016
How to integrate Spring Cache with an In-Memory Data Grid (IMDG)
Interested in combining the efficiencies of Spring Cache with the power of an In-Memory Data Grid (IMDG). This simple tutorial demonstrates just how easy the process is. Continue Reading
-
Feature
22 Dec 2015
Learn why Azul Zing is the Editors' Choice for Innovation
Azul Zing collects garbage out of enterprise Java workloads. Learn more about this innovative product. Continue Reading
-
News
09 Dec 2015
Exploring a software architect's favorite Oracle JavaFX tools
At JavaOne 2015, Java enthusiast Rob Terpilowski discusses why he's still a fan of Oracle JavaFX tools. Continue Reading
-
Feature
02 Dec 2015
How to build an application integration framework for flexibility
Learn how MOBI Wireless created a back end infrastructure that makes it easy to implement different business workflows across service providers. Continue Reading
-
Feature
01 Nov 2015
Valhalla and value types to change the way developers code in Java
In 2014, just as Java 8 was released, JavaOne was looking towards the future and talking about what was coming with Java 9. In 2015, Java 9 is still in the future, but that hasn't stopped the architects at Oracle from prognosticating about what might get included in Java 10. Continue Reading
-
News
28 Oct 2015
Performance upgrades and feature enhancements typify incremental Java releases
There may not have been a major Java release since last year, but at JavaOne2015, there are still plenty of performance upgrades and feature enhancements for platform architects to boast about. Continue Reading
-
Feature
04 May 2015
The next generation of cloud management and monitoring (CMM) tools with Aternity
Cloud management and monitoring (CMM) presents new challenges in this world of distributed data, distributed compute nodes and abstract hypervisors. Aternity is helping to solve many of these problems with their latest offerings. Continue Reading
-
Feature
23 Mar 2015
Rethink your tooling: How to make the DevOps promise a reality
Many organizations have struggled with breaking down the wall between development and operations. Tools are not the solution to every problem that faces DevOps integration, but they can help to make the DevOps promise a reality. Is it time to rethink your DevOps tooling? Continue Reading
-
Feature
18 Mar 2015
Will ObjectLayout's StructuredArrays finally solve the Java performance problem?
Java performance has greatly improved over the years, but getting true, linear scalability has always been a problem, largely due to the way data collections are handled in memory. However, new approaches to memory management are being developed, and ObjectLayout's StructuredArrays just might make it into Java 9 or 10. Continue Reading
-
Tip
16 Feb 2015
Java platform: Invigorating robustness and simplicity
Java platform architects reminisce about the design of Java and how the platform is being pushed forward. Continue Reading
-
Feature
15 Jan 2015
Will value types and structured arrays be Java 9's cap feather?
Scalability and performance are always issues that dog the Java platform. But with so many lessons learned from languages like Scala and Clojure, will Java 9 take on these scalability issues by introducing immutable types like structured arrays and value types? Continue Reading
-
Feature
15 Oct 2014
Choosing the right log aggregator to mine your performance data
To maintain and improve an existing system, being able to read and understand log files is an absolute requirement. Here we look at how various logging technologies compare with each other. Continue Reading
-
Tip
01 May 2014
Improving Java performance by minimizing Virtual Machine (JVM) latency
Users demand that their applications run fast, but working with Java bytecode presents optimization problems that other architectures do not encounter. Here we look at how to improve the performance of the Java Virtual Machine (JVM) by minimizing the latency involved with bytecode to native code compilation steps. Continue Reading
-
Feature
09 Apr 2013
Alternative JVM languages: Scala explained
Watch this video lesson to learn the benefits of exploring the JVM alternative language Scala. Continue Reading
-
Tip
12 Mar 2013
Performance and troubleshooting tips for JSF 2.0 Facelet developers
JSF 2.0 has provided a variety of new configuration settings to help improve performance and aid the troubleshooting task, making the lives of software developers and quality engineers much easier. Continue Reading
-
Feature
10 Jan 2013
How NoSQL, MySQL and MongoDB worked together to solve a big-data problem
Choosing between schemaless NoSQL databases and strong-schema relational designs isn't an either-or decision, as this case study points out. When dealing with their big data problem, Craigslist decided that their MySQL servers could use a little help from MongoDB, and putting the two technologies together created a better system with greater availability, scalability and performance. Continue Reading
-
Feature
09 Jan 2013
The Craigslist Dilemma: A case study for big data and NoSQL solutions
It's hard to imagine just how many postings Craigslist has handled over the years, and if you were in charge of archiving those posts and storing them for compliance, you'd need a 'big data' solution. So how does Craigslist manage all of their data, both the incoming stuff and the stuff that needs archiving? It's a beautiful combination of MySQL, NoSQL and a little help from the people at 10Gen. Continue Reading
-
Tip
24 Oct 2012
Consistent application performance: It's not always about speed
When developing applications, the response time is always an important metric. But inconsistent response times can often be more aggravating than slow sites. Make sure you take response time consistency into your application performance reviews. Continue Reading
-
News
01 Oct 2012
JavaOne conference coverage 2012
Join TheServerSide.com and SearchOracle.com as we present conference coverage from JavaOne and Oracle OpenWorld. Continue Reading
-
Feature
25 Jul 2012
Discovering the right metrics for scalability testing
Scalability testing is perhaps the most important test you need to run on your application before going forward with deployment. But how do you know when you've proven that your application can scale. Here we take a look at some of the most important metrics to measure when testing the scalability of your applications. Continue Reading
-
Feature
01 Jun 2012
Scaling Web applications with Scala, Clojure and Groovy
Scaling Web applications written in Java can be difficult due to thread concurrency and locking issues. However, immutable peripheral languages like Scala, Groovy, and Clojure can make scaling up more feasible. Continue Reading
-
Feature
31 May 2012
Why Java applications fail to scale linearly: A simple explanation
The process of scaling up Java applications often runs into the problem of diminishing returns, where adding another processor no longer adds significant benefit. Why won't Java programs scale? Here's your answer. Continue Reading
-
Tip
26 Jan 2012
Java 7 and the intricacies of safe and unsafe casting
One of the problems with casting is that it does have the potential to cause a loss of precision, especially if the number that gets cast does indeed fall outside of the range of the target type. Here we will explain why this happens. Continue Reading
-
Feature
26 Jan 2012
Has Computer Programming Really Changed Much Since Lovelace's Time?
Everyone always talks about these new computer programming languages, and how great one is over the other. But really, has computer programming really changed that much over time? Continue Reading
-
Tutorial
12 Jan 2012
New Java 7 Features: How to Use a More Precise Rethrow in Exceptions from Project Coin
Afficionados of other languages such as Scala or Clojure are always slagging the fact that Java is too verbose and cumbersome. So, it's not too surprising to find out that Java 7 introduced a number of new facilities that can help to trim down the code an application developer is required to write. Continue Reading
-
Tutorial
22 Dec 2011
New Java 7 Features: A Numeric Underscores with Literals Tutorial
If you're doing the OCPJP upgrade exam, or just hitting the full blown OCPJP 7 Java certification, you need to know the ins and outs of the new language features. One fun and friendly syntax introduced with Java 7 is using numeric underscores. It's also an objective on the OCPJP7 exam: Using Numeric Underscores with Literals Continue Reading
-
Feature
01 Feb 2011
Scala and the cloud
As the cloud becomes more popular, so does the functional programming language Scala. Don't worry though, it's Java compatible and it runs on a JVM. So why are people using it? Perhaps because it's so functional. Continue Reading
- Report 17 Sep 2010
-
Tutorial
31 Aug 2010
Classloaders Demystified - Understanding How Java Classes Get Loaded in Web Applications
Classloaders Demystified - Understanding How Java Classes Get Loaded in Web Applications Continue Reading
-
Feature
28 Jun 2010
The Performance Paradox of the JVM: Why More Hardware Means More Failures
Administrators are seeing their JVMs not crash, but pause, and just stop responding to requests, as though they were a 400 meter sprinter, stopping to catch their breath at the end of a race. Continue Reading
-
News
01 Apr 2004
Understanding Class.forName() - Java
Dynamic loading of Java classes at runtime provides tremendous flexibility in the development of enterprise systems. It provides for the basis of "application servers", and allows even simpler, lighter-weight systems to accomplish some of the same ends. Within Java, dynamic-loading is typically achieved by calling the forName method on the class java.lang.Class; however, when Class.forName is called from within an Extension, strange errors can occur. This paper describes why those errors occur, and how Java2 provides a facility, called the "Thread context ClassLoader", to avoid them. Continue Reading