incubator-kato-spec mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Julin <...@us.ibm.com>
Subject Re: System Properties and Env vars
Date Thu, 14 Jan 2010 03:17:36 GMT


Stuart Monteith <stukato@stoo.me.uk> wrote on 2010-01-12 06:51:50 AM:
> Hi David,
>      This brings us back to the whole "Collections" problem where classes
> can be implemented differently by different JREs. Which is, of course, a
> more general problem. We possibly need to build on the basic API a means
> of abstracting access to SDK classes and provide means of extending this.

Hah yes... Not to sound like a broken record :-) but we have that too in
the "utility" library from DTFJ-DumpAnalyzer. We have a concept of a
"wrapper" analyzer module, that encapsulates all the information that is
necessary to interpret the fields that implement a particular collection
class (or other common classes) in the underlying dump, and provides
programmatic access to the logical information contained in the underlying
object (e.g. list all the entries in a collection).

Currently, we have wrappers for:

ArrayList
ConcurrentHashMap
ConcurrentLinkedQueue
Date
HashMap
HashSet
Hashtable
LinkedList
Properties
String
SynchronizedMap
SynchronizedSet
ThreadLocal
TreeMap
TreeSet
Vector

This list has grown organically over time, simply based on the classes that
we came across while writing our more complex analyzers. It's obviously
very spotty.

Several of these wrappers have multiple alternative implementations, that
correspond to different implementation of the underlying class that they
"wrap" (e.g. one implementation for the 1.4.2 class library, another for
5.0, another for 6.0...)


==============================================================
Daniel P. Julin
Senior Technical Staff Member
Technical Area Lead  -  IBM AIM WebSphere Serviceability Team

EMail: dpj@us.ibm.com
Phone: 347-273-2093          Tie-line 930-3468
Notes: Daniel Julin/Pittsburgh/IBM@IBMUS
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message