JVMTI - Creating a simple agent

Hooking VMs is pretty cool, it is possible to look inside and see what exactly is happening in a Java application. Java provides an interface for hooking JavaVM, this interface is great if you want to develop a profiler, debugger or monitoring solution. There were two separate interfaces for profilers and debuggers, JVMPI (Java Virtual Machine Profiling Interface) and the JVMDI (Java Virtual Machine Debug Interface). Both of these interfaces are obsolete in the latest JDK and has been replaced with JVMTI (Java Virtual Machine Tool Interface).

Creating a custom serialization class

Sometimes it is not enough to mark a whole class as serializable, quite often a class will have .net internal type that is not serializable, for example XmlDocument. In such case we need a wrapper class that is derived from ISerializable interface.

.NET Object Serialization

Have you ever wanted to send an object across application domains, save the object as a file or send it over the Internet to completely different service - then object serialization is for you. Serialization offers a way to describe object’s state(data) in a way that is understandable by other components. For example, object can be transformed into a XML or a Soap document, will get into output formats latter on.