Skip to main content
View by: Most Recent | Topic | Community | Webloggers   
Monthly Archives:    

Blogs by Community: Open JDK

• Adopt a JSR  • Embedded  • GlassFish  
• Global Education and Learning  • Identity Management  • IoT  
• Java Communications  • Java Desktop  • Java Enterprise  
• Java Patterns  • Java Tools  • Java User Groups  
• Java Web Services and XML  • JavaFX  • JCP  
• JDDAC  • Jini  • JXTA  
• Mac Java  • NetBeans  • Open JDK  
• Portlet  • Robotics  • Sun Grid  
• Sun RFID and Sensor  • [no association]  


Open JDK

Alan recently blogged about heap dumps are back and Sundar blogged about OQL. These all use the old and historic HPROF binary heap dump format as the "heap dump snapshot", which is essentially a complete dump of all the objects in the Java heap at a given time. If you are familiar with core dumps, and the Solaris utility gcore, you'll understand what we are trying to do here, at least in a...
on Sep 30, 2005
The Tiger JDK introduced a nifty feature whereby you could run an application with -Dcom.sun.management.jmxremote and then later connect to it using the jconsole tool. That allows you to see the JVM's instrumentation (memory, classes, threads) plus any JMX instrumentation you've defined yourself. As Alan Bateman describes, with the Mustang JDK you can now attach jconsole to any application,...
on Sep 29, 2005
In a comment on my last entry, rgreig asks: One thing that struck me about MXBeans is that they are really fusion of standard MBeans and OpenMBeans, since they only use standard types. However they don't actually conform to OpenMBean conventions. Why was the decision taken not to make MXBeans OpenMBeans? (i.e. return an OpenMBeanInfo from getMBeanInfo()) Therein lies a tale! MXBeans...
on Sep 16, 2005
Summer is of course the time when people take their vacation, and nowhere more so than here in France. You could be forgiven for thinking that the entire country grinds to a halt between the traditional vacation boundaries of the 14th of July (Bastille Day) and the 15th of August (Feast of the Assumption, a public holiday, don't ask). It seems like...
on Sep 14, 2005
Thanks to thoughtful comments and questions from the community and great feedback at Java One, Sun has revised the Java Research License (JRL) to address several concerns that have been brought to our attention -- in particular with how it affects open source developers. As before, it is Sun's purpose to make its code easily available to developers under JRL for research and collaboration...
on Sep 9, 2005
The Java SE sources are downloadable from java.net, and you can change and extend them within the constraints of the relevant licenses. But building the whole of Java SE is a major undertaking. Here's how to build just the JMX API. The same ideas would apply to building other subsets of Java SE that are Java-language-only. Update: there is now a purpose-designed...
on Aug 30, 2005
The JDK 5.0 (Tiger) and JDK 6.0 (Mustang) binary images include the source and binaries of quite a few demo Java Virtual Machine Tool Interface (JVM TI) agents (native libraries) in the demo/jvmti directory. The more curious people might be interested in the detailed description in my blogs.sun.com site on using VM agents. Certainly writing VM Agents is not something that we want thousands of...
on Aug 23, 2005
Delivering Web Services is one of the primary themes for Mustang (Java SE 6). Our goal is that JSE will provide reasonable support for ease of development for the web services stack. This will primarily be client-side focused with a lightweight server to support callbacks. The main specifications are the Java Architecture for XML-Web Services (JAX-WS) 2.0 (formerly known as JAX-RPC) and Java...
on Aug 8, 2005
The consistently excellent Brian Goetz has written a new article in his Java Theory and Practice series entitled "Be a good (event) listener". Since listeners are an important part of the JMX API, here's how his advice applies there. There are really two sets of recommendations, one for event generators and one for event listeners. In the JMX API, events are instances of Notification, event...
on Jul 29, 2005
With a Standard MBean, you define the management interface of the MBean using a Java interface. Getters and setters in the interface define attributes, and other methods define operations. But the only information extracted out of the interface is the names and types of the attributes and operations, and just the types of the operation parameters. Although the JMX API allows...
on Jul 25, 2005
Yesterday I talked about how you can use WeakReference to allow a resource to be garbage collected even if it is referenced by another object, a JMX MBean in the case in question. In fact, you can use dynamic proxies to provide a more general framework for this sort of situation. In the specific situation I was discussing before, you have a resource such as a...
on Jul 21, 2005
Suppose (to take my favourite example), you have some sort of cache, and you want to be able to control it via an MBean. You might have something a bit like this: public interface CacheControlMBean {    public int getSize();}public class CacheControl implements CacheControlMBean {    public CacheControl(Cache cache) {      ...
on Jul 20, 2005
One of the changes we made in version 1.1 of the JMX API, way back in early 2002, was to modify the serialization of certain classes. Because remote access was not part of the API at this time, this aspect had been a bit neglected in version 1.0, with the result that certain classes had underspecified or inefficient serial forms. Other implementations of the API could and did have incompatible...
on Jul 19, 2005
The short answer is: you can, but you probably shouldn't. Here's why. To be clear, here's the sort of thing I'm talking about: CacheControlMBean mbean = new CacheControl(thingyCache);mbeanServer.registerMBean(mbean, objectName1);mbeanServer.registerMBean(mbean, objectName2); This will work, and the same MBean will be accessible through both objectName1 and objectName2. So why...
on Jul 16, 2005
JavaOne is always a huge buzz, and this year was no exception. Of course the technical sessions are very worthwhile, so it's great news that slides and audio for all of them will be available free online. In previous years you had to pay a small subscription fee to access them. But the biggest plus of JavaOne, like any conference, is meeting people with common interests. I brought back a...
on Jul 13, 2005
This article by D J Walker-Morgan covers how to use JConsole to see VM information, and especially how to write an MBean and attach JConsole to check it out. The only weird thing is the idea of calling a class WatchMeMBean and the corresponding MBean interface WatchMeMBeanMBean. I think I'd have used WatchMeManager and WatchMeManagerMBean.
on Jun 17, 2005
Sun has recently submitted the Java Module System JSR to revise the Java packaging architecture. This is an area that has been long overdue for an overhaul, and the goal is to make it easier to bundle, distribute, and deploy Java applications and Java extensions (aka optional packages).I am very exciting to announce that the JCP has begun voting on this JSR! For more details, please check out...
on Jun 14, 2005
We've posted a detailed set of guidelines for using the JMX API, the result of several years' experience with it. Starting from the JMX Technology Home Page at http://java.sun.com/jmx, you can now find a link "JMX Best Practices" in the navigation bar at the left, leading you to the detailed best practices document. This covers many basic and advanced topics, such as how to name MBeans, how to...
on Jun 14, 2005
Yow, it's been more than a month since my last blog! I intended to write a blog once a week, but, well, finishing up table sorting, JavaOne and Matisse have kept me unbelievably busy in the past month:( I'll blog later about table sorting and other Mustang goodness. In the mean time I wanted to blog about Matisse. Matisse shows work that the NetBeans and Swing teams have been deeply involved...
on Jun 10, 2005
I'm the Specification Lead for Java Management Extensions (JMX) technology and I expect to be talking about it quite a bit in this blog. The JMX API is part of the core Java platform as of Tiger (5.0). It was defined by JSRs 3 (for the local part) and 160 (for the remote part), and continues to evolve through JSRs 255 (JMX API 2.0) and 262 (Web Services Connector for JMX Agents). What does all...
on Jun 8, 2005