<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Java on Luke Hebert</title><link>https://lukehebert.com/tag/java/</link><description>Recent content in Java on Luke Hebert</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 15 Aug 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://lukehebert.com/tag/java/index.xml" rel="self" type="application/rss+xml"/><item><title>Finding Which Java Threads Are Eating Your CPU for Breakfast</title><link>https://lukehebert.com/post/finding-which-java-threads-are-consuming-your-cpu/</link><pubDate>Fri, 15 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/finding-which-java-threads-are-consuming-your-cpu/</guid><description>When a Java process is eating your CPU, you need to know exactly which thread is responsible. This guide walks through JVisualVM, jstack, top, and jvmtop to pinpoint the culprit.</description></item><item><title>How to Inspect a Thread Dump Like a Pro</title><link>https://lukehebert.com/post/how-to-inspect-a-thread-dump-like-a-pro/</link><pubDate>Fri, 15 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/how-to-inspect-a-thread-dump-like-a-pro/</guid><description>Learn how to capture, read, and interpret Java thread dumps using JDK tools like jstack and jcmd. Covers thread states, CPU analysis, deadlock detection, and practical tools for spotting performance issues.</description></item><item><title>Not Enough Storage Available While Using Jstack (Win)</title><link>https://lukehebert.com/post/not-enough-storage-available-while-using-jstack-win/</link><pubDate>Thu, 14 Aug 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/not-enough-storage-available-while-using-jstack-win/</guid><description>A quick fix for the &amp;rsquo;not enough storage available&amp;rsquo; error when running jstack on Windows, caused by the JVM running under the Local System Account. Two workarounds using Psexec or JMX remote monitoring.</description></item><item><title>Java TLS Client Debugging</title><link>https://lukehebert.com/post/java-tls-client-debugging/</link><pubDate>Mon, 19 May 2025 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/java-tls-client-debugging/</guid><description>A guide to inspecting SSL/TLS handshakes in Java applications when built-in debugging is unavailable. Includes a lightweight TLS client tool for testing certificate and handshake issues.</description></item><item><title>Analyzing Large Java Heap Dumps Using Memory Analyzer CLI</title><link>https://lukehebert.com/post/analyzing-large-java-heap-dumps-using-memory-analyzer-cli-in-linux/</link><pubDate>Fri, 17 Nov 2023 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/analyzing-large-java-heap-dumps-using-memory-analyzer-cli-in-linux/</guid><description>When MAT UI fails to handle very large heap dumps, the Memory Analyzer CLI provides a reliable alternative on Linux. This post walks through the setup and commands needed to parse multi-gigabyte dumps and generate shareable HTML reports.</description></item><item><title>Is Unlimited JCE Working? How to Actually Test It</title><link>https://lukehebert.com/post/unlimited-strength-jce-availability/</link><pubDate>Tue, 07 Jul 2020 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/unlimited-strength-jce-availability/</guid><description>A quick reference for which JDK releases ship with Unlimited Strength JCE enabled by default, plus a small test program to verify your environment.</description></item><item><title>Realm Detection and Pathing in the JSSE (Java)</title><link>https://lukehebert.com/post/crealm-and-srealm-for-java-sun-security-krb5-realm.java-realm-detection-and-pathing/</link><pubDate>Tue, 22 Aug 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/crealm-and-srealm-for-java-sun-security-krb5-realm.java-realm-detection-and-pathing/</guid><description>A look at how Java&amp;rsquo;s built-in Kerberos implementation uses cRealm and sRealm to determine the path between client and service realms, including hierarchical traversal and capaths configuration.</description></item><item><title>Java SSLHandshakeException: No Cipher Suites in Common</title><link>https://lukehebert.com/post/java-sslhandshakeexception-no-cipher-suites-in-common/</link><pubDate>Mon, 21 Aug 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/java-sslhandshakeexception-no-cipher-suites-in-common/</guid><description>A common Java SSL handshake failure stems from passing a null KeyManager array when initializing the SSLContext, which silently disables all certificate-based cipher suites. This post walks through the root cause and the four most frequent triggers behind the error.</description></item><item><title>Alternate KRB5.conf Location</title><link>https://lukehebert.com/post/alternate-krb5.conf-location/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/alternate-krb5.conf-location/</guid><description>Java reads its Kerberos configuration from a fixed set of paths before falling back to the system default. Setting KRB5_CONFIG lets you point a Java application at a custom krb5.conf without touching the OS-level file.</description></item><item><title>Java (JVM) Debugging Tools</title><link>https://lukehebert.com/post/java-jvm-debugging-tools/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/java-jvm-debugging-tools/</guid><description>A quick reference for the most useful JVM debugging commands, including heap inspection, environment introspection, and enabling GC logging on a running Java process.</description></item><item><title>JDK Breakdowns for Web UI and SPNEGO (u92, u91, u40, u45)</title><link>https://lukehebert.com/post/jdk-break-downs-for-web-ui-and-spengo-u92_u91_u40_u45/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/jdk-break-downs-for-web-ui-and-spengo-u92_u91_u40_u45/</guid><description>Specific JDK 1.8.0 builds (u40, u45, u91, u92) are known to break SPNEGO authentication and Hadoop web interfaces. This post documents the affected versions, the symptoms, and the recommended downgrade path.</description></item><item><title>JVM SSL Debugging in Hadoop</title><link>https://lukehebert.com/post/jvm-ssl-debug/</link><pubDate>Tue, 27 Jun 2017 00:00:00 +0000</pubDate><guid>https://lukehebert.com/post/jvm-ssl-debug/</guid><description>Enable verbose SSL/TLS handshake logging in a JVM running Hadoop or Cloudera services to diagnose certificate and protocol issues.</description></item></channel></rss>