Saturday Jun 08, 2013

Agile JavaClient and Java Web Start

JavaClient uses Java Web Start technology to launch all required jar files and resources into local cache to deploy with online and offline mode. We will discuss how JavaClient is loaded from remote Application Server.[Read More]

Saturday Apr 27, 2013

Analysis against JVM Thread Dump - Out Of Thread

Out Of Thread means there are many tasks (requests) are pending to run, but only a few Threads are available. Many queued tasks have to wait for running threads to be idle. It is a much more complicated case and it is very hard to be identified from Thread Dump log. To dig out the root cause it requires the analyst have much knowledge on the Thread Pool technology. We will have a much more complex source code to demonstrate this.[Read More]

Saturday Apr 20, 2013

Analysis against JVM Thread Dump - Resource Contention

Most of performance issues analyzed against Thread Dump is Resource Contention. That is to say, two or more threads are fighting for the same resource (java object) to ensure they are capable to run, however the resource (java object) is being locked/consumed by another thread and fails to be released in a given time. The keyword in the Thread Dump is "waiting for monitor entry".[Read More]

Wednesday Apr 10, 2013

Analysis against JVM Thread Dump - Dead Lock

Dead Lock is a special error need to be avoided in multi-thread programming. It seldom introduces CPU high usage issue, however the most common phenomenon is that the system hangs and has no response to end user. Absolutely it is quite easy to be identified from JVM Thread Dump. In Oracle Agile PLM, I seldom see such issue except one case several years ago that I cannot remind.

I will not explain the principle of Dead Lock, which you can google everywhere. I will only describe how to analyze in JVM thread dump from below sample source code and thread dump.

[Read More]

Thursday Apr 04, 2013

Analysis against JVM Thread Dump - CPU High Usage Issue

One important duty of mine during years' of technical support is to analyze JVM thread dump, which is an interesting research to help understand how the logic in source code works and more important is that you will learn how to design a good Java EE applications to avoid scenario of high CPU usage, resource contention or something like these. One typical bad design it dead lock, though it seldom happens in modern Java development, but I will demonstrate all of them with sample source code, and show how to analyze the root cause from Thread Dump. All will be practical with no abstract theory. This article will discuss one scenario you will always see, High CPU Usage like 99% or 100%. This case is quite easy to identify the root cause.[Read More]

Thursday Mar 28, 2013

Into Agile SDK Class Loader Logic

When you use Agile API to develop SDK customization to extend your functionality, you may not care about how SDK architecture is designed by Agile smart engineers and you only focus attention on your own code. As the software engineer and Agile implementation developer, it's better to understand SDK internal, which could benefit you for your development/design ability on Java. Be realistic, you will understand how to diagnose SDK issues. This article will discuss how SDK dynamically load required classes from remote and reuse them, and how Agile loads the PX jars dynamically at server side.[Read More]
About


Jie Chen is the L3 memeber in Oracle Agile Support.
This blog focuses on the Maintenance, Diagnosis and Tuning related technical skills.
The technology covers Java/JavaEE, Weblogic, Security, Clustering, and Database of course.

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today