IyaSec Blog

Notes on application security, API security, identity, and API management from the field. Articles are also published on Medium. Browse the archive by topic instead — 124 subjects.

Generating Thread Dumps

  • Concurrency
  • JBoss
  • JVM Internals

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…

Read article: Generating Thread Dumps

My JVM ran out of memory! What objects are consuming all of the memory?

  • Garbage Collection
  • JBoss
  • JVM Internals

This article isn't a comprehensive JVM Java heap sizing and garbage collection tuning document; its goal is simply to outline options for identifying which type of Object(s) are consuming the majority of memory in a running JVM--troubleshooting memory leaks in the Java heap. As usual, I focus on…

Read article: My JVM ran out of memory! What objects are consuming all of the memory?

Troubleshooting Deadlock Conditions With Monitor Locks In Java Virtual Machines

  • Concurrency
  • JVM Internals
  • Performance Tuning

In this article, I wanted to present a brief tutorial regarding troubleshooting deadlock conditions in JVMs. Before one can troubleshoot a deadlock condition, one needs to understand what it is; to this end, I have written a simple Java program called DeadLock.java, which is guaranteed to very…

Read article: Troubleshooting Deadlock Conditions With Monitor Locks In Java Virtual Machines

The Definition of Reverse Engineering, JVMs, and the Java programming language

  • Reverse Engineering
  • Java

I recently had a conversation with a colleague that reminded me of a another discussion with my Masters Project advisor a couple of years ago when I was exploring research topics. The topic under discussion was Reverse Engineering --in particular, Software Reverse Engineering. It sounds really…

Read article: The Definition of Reverse Engineering, JVMs, and the Java programming language

EJB vs. Web Services

  • J2EE / Jakarta EE
  • JBoss
  • Performance Tuning

This article is by no means an exhaustive discussion on the subject of Web Services and EJBs. But, I have often found many of the points I bring up here missing from meaningful debate. Researching this article also gave me an opportunity to go over material I've been wanting to read for a while now.

Read article: EJB vs. Web Services

Generating Thread Dumps from a Sun or IBM JVM Running As A Windows Service

  • Debugging
  • JVM Internals
  • Linux

I was recently asked if there was a way to generate a Thread Dump from a JVM running as a Windows Service. It occured to me that I had a similar issue during my Masters Project when I was trying to generate a thread dump from a Cygwin xterm; Googling at the time turned up no good way of accomplishing the task. But, I knew that you could use the Java Debugger that ships with the Sun JDK, jdb, to generate a thread dump of all non-System Threads in a JVM. I posed this as a solution to generating Thread Dumps from a JVM running as a Windows Service.

Read article: Generating Thread Dumps from a Sun or IBM JVM Running As A Windows Service

Performance Tuning In Industry

  • J2EE / Jakarta EE
  • Performance Tuning
  • Operating Systems

IT Professionals face an up hill battle in the realm of performance tuning. First, management must be convinced that time needs to be set aside for it. Next, the skill sets to successfully move through the performance tuning life cycle must be present. Then, the tools to effectively identify issues…

Read article: Performance Tuning In Industry

Looking for something specific? Browse all 124 topics.