Blog

Articles, tutorials, and field notes on identity, integration, API management, and application security — spanning nearly two decades of hands-on work.

The Java Security Manager

In the last post, the Java Standard Edition and Java Enterprise Edition security features were introduced. This is the second in a series of articles that introduces each Java security feature in depth. This article introduces the Java Security Manager and the sandbox it creates for a Java…

JVM InternalsJavaSecurity

Java Networking API vs. The C library networking API

The original article is located here. In this article, I described what was involved in writing a server program in the C language. The details are not important, but I wanted to compare the details that are exposed in this relatively simple C network programming example with the equivalent Java…

C / C++CareerJava

Configure Your JVM For Use With a Remote Debugger

As I’ve pointed out in several previous articles, I like the jdb command line debugger that is available with the Sun JDK. This debugger can actually be used with any spec-compliant JVM. The JPDA specification defines the interfaces and services that are used by remote debuggers and profiles. The…

DebuggingJVM InternalsTools

Generating Thread Dumps

Thread dumps are the basic diagnostic tool for JVMs. Thread dumps present a partial state of each Java thread in a running JVM. I say partial because it doesn’t present all information that captures the state of a Java thread. The state of a running Java thread is stored in a series of data…

ConcurrencyJBossJVM Internals