The Source for Java Technology Collaboration
User: Password:
Register | Login help    

Search

Online Books:
java.net on MarkMail:


mreinhold's Blog

301 Moved Permanently

Posted by mreinhold on August 29, 2006 at 2:51 PM PDT
I’ve migrated my blog over to http://blogs.sun.com/mr.
Comments
Comments are listed in date ascending order (oldest first)

301 Moved Permanently

Posted by mreinhold on August 29, 2006 at 2:51 PM PDT
I’ve migrated my blog over to http://blogs.sun.com/mr.
Comments
Comments are listed in date ascending order (oldest first)

Mustang Maintenance Review 1

Posted by mreinhold on March 22, 2006 at 11:38 AM PST

Yesterday we posted the first Maintenance Review for the Mustang (Java SE 6) release.

This review describes the details of all the changes and additions made to the Java SE platform specification in Mustang that aren’t themselves specified by their own JSRs. Small enhancements such as the new java.awt.Desktop class, e.g., are specified in this maintenance review, whereas a big new feature like the compiler API is specified by its own JSR, 199.

The maintenance review also contains countless small corrections to the platform specification. The bulk of these are summarized in a set of API difference pages which show the changes made between Tiger and Mustang.

This is just the first Mustang maintenance review, reflecting the content of the first beta release. There’ll be another MR around the time of the second beta release, and a final MR for the release candidate. The second and third MRs are expected to be much smaller than the first.

The past is prologue

How is it that we’re doing a maintenance review for Mustang when Mustang hasn’t even been finished yet?

Good question! In fact technically this is a JCP Maintenance Review of the Tiger (J2SE 5.0) specification, JSR 176. This is just an artifact of the way that the Java Community Process works. The smaller, non-JSR changes and additions in the Tiger release, likewise, were covered in maintenance reviews of the Merlin (J2SE 1.4) specification, JSR 59.

Comments welcome!

The formal MR-1 period ends in thirty days, but you can send feedback to the e-mail address listed in the review materials at any time.

Comments
Comments are listed in date ascending order (oldest first)

Mustang Maintenance Review 1

Posted by mreinhold on March 22, 2006 at 11:38 AM PST

Yesterday we posted the first Maintenance Review for the Mustang (Java SE 6) release.

This review describes the details of all the changes and additions made to the Java SE platform specification in Mustang that aren’t themselves specified by their own JSRs. Small enhancements such as the new java.awt.Desktop class, e.g., are specified in this maintenance review, whereas a big new feature like the compiler API is specified by its own JSR, 199.

The maintenance review also contains countless small corrections to the platform specification. The bulk of these are summarized in a set of API difference pages which show the changes made between Tiger and Mustang.

This is just the first Mustang maintenance review, reflecting the content of the first beta release. There’ll be another MR around the time of the second beta release, and a final MR for the release candidate. The second and third MRs are expected to be much smaller than the first.

The past is prologue

How is it that we’re doing a maintenance review for Mustang when Mustang hasn’t even been finished yet?

Good question! In fact technically this is a JCP Maintenance Review of the Tiger (J2SE 5.0) specification, JSR 176. This is just an artifact of the way that the Java Community Process works. The smaller, non-JSR changes and additions in the Tiger release, likewise, were covered in maintenance reviews of the Merlin (J2SE 1.4) specification, JSR 59.

Comments welcome!

The formal MR-1 period ends in thirty days, but you can send feedback to the e-mail address listed in the review materials at any time.

Comments
Comments are listed in date ascending order (oldest first)

Mustang Beta Blog Carnival!

Posted by mreinhold on February 16, 2006 at 8:45 AM PST

After nearly eighteen months of effort within Sun, the Java Community Process, and the wider JDK Community, the Mustang Beta Release is now available.

In contrast to the source and binary snapshots that we’ve been shipping for over a year, the formal beta release has been through many weeks of intensive testing—and a tiny little bit of last-minute bug-fixing—in order to produce a release that’s somewhat more polished. If you’ve chosen to avoid the riskier snapshot builds then now is the perfect time to have a look at Mustang, make sure your existing code still compiles and runs, and try out the new features. Please do let us know what you think or—even better—get involved and help us make Mustang a great release for the entire community!

To help celebrate the beta release I’m hosting a “blog carnival” right here on this page. Over the next couple of days many members of the Java SE development community will post blog entries about the work they’ve been doing for the Mustang release. As entries are posted I’ll add them here for convenient reference; alternatively you can get the very latest blog entries via Planet JDK, which also provides RSS and Atom syndication feeds.

Step right up, ladies and gentlemen…

  • Chet Haase channels Julie Andrews and waxes poetic about his favorite Mustang features.

  • Brian Doherty reflects on the meaning of the word “beta” in this modern age of continuous integration and snapshot releases, and talks about some of the performance improvements—and pitfalls—in the release.

  • Chris Hegarty explains how he fixed a high-vote bug in the HTTP keep-alive implementation.

  • Sundar shows how to use DTrace on Solaris to generate a mixed-mode stack trace whenever an exception is thrown.

  • Jaya Hangal talks about LDAP timeouts and connection pooling in JNDI.

  • Scott Violet takes a break from big-picture application architecture to highlight some of the smaller UI features in Mustang.

  • Peter von der Ahé talks about the compiler plugins—known more formally as annotation processors—that are enabled by the Tree API, JSR 269, and JSR 199.

  • Sean Mullan summarizes the new security features in the release.

  • Shannon Hickey introduces the new support for choosing drop actions in the Swing Drag and Drop API.

  • Mandy Chung shows off six techniques for diagnosing memory-usage problems.

  • Madhura Dudhgaonkar explains why Mustang Beta is based on the relatively ancient build 59 even though the latest snapshot release is build 71.

  • David Herron posts a helpful reminder of the Mustang Regressions Challenge, in which you can win a slick new Opteron-based Ultra 20 workstation if you find a really egregious regression. (No purchase necessary, void where prohibited by law, etc.)

  • Éamonn McManus summarizes the new JMX features.

  • Chris Campbell argues with himself over whether or not the beta build is too passé, and also takes stock of the work that he and his team have been doing.

  • Preveen Mohan talks about some of the new AWT features in Mustang from the standpoint of a QA engineer.

  • Naoto Sato describes the new Locale Sensitive Services SPI.

  • Danny Coward muses on how the new Compiler API is going to keep javac up and running 24/7/365.

  • Penni Henry, the new Mustang Program Manager, reflects on the quality of the release from the perspective of someone relatively new to the team.

  • Gauri Sharma discusses the ongoing work on the Mustang JCK (Java Compatibility Kit).

  • Jon Masamitsu wonders whether those who want a truly “pauseless” garbage collector would be willing to pay for it in the currency of time and space.

  • Andreas Sterbenz shows how to plug NSS into the Java PKCS#11 crypto provider in order to improve performance on Linux and Windows.

  • Finally, in my other blog you can find a description of the new class-path wildcard feature.

That’s it for now!

Questions and answers

To answer a few of the questions that’ve been asked in the comments below:

  • The beta release is based on weekly build 59 from way back in November 2005. Madhura talks a bit more about why it’s so “old.”

  • Every bug fixed in a later snapshot build will stay fixed for the final release unless a problem with the fix is found in the interim and no alternative solution can be devised.

  • The evaluation license is a bit, well… baroque. We’re talking to our legal team to see if the part about having to notify Sun can be removed.

Related Topics >> J2SE      
Comments
Comments are listed in date ascending order (oldest first)

Mustang Beta Blog Carnival!

Posted by mreinhold on February 16, 2006 at 8:45 AM PST

After nearly eighteen months of effort within Sun, the Java Community Process, and the wider JDK Community, the Mustang Beta Release is now available.

In contrast to the source and binary snapshots that we’ve been shipping for over a year, the formal beta release has been through many weeks of intensive testing—and a tiny little bit of last-minute bug-fixing—in order to produce a release that’s somewhat more polished. If you’ve chosen to avoid the riskier snapshot builds then now is the perfect time to have a look at Mustang, make sure your existing code still compiles and runs, and try out the new features. Please do let us know what you think or—even better—get involved and help us make Mustang a great release for the entire community!

To help celebrate the beta release I’m hosting a “blog carnival” right here on this page. Over the next couple of days many members of the Java SE development community will post blog entries about the work they’ve been doing for the Mustang release. As entries are posted I’ll add them here for convenient reference; alternatively you can get the very latest blog entries via Planet JDK, which also provides RSS and Atom syndication feeds.

Step right up, ladies and gentlemen…

  • Chet Haase channels Julie Andrews and waxes poetic about his favorite Mustang features.

  • Brian Doherty reflects on the meaning of the word “beta” in this modern age of continuous integration and snapshot releases, and talks about some of the performance improvements—and pitfalls—in the release.

  • Chris Hegarty explains how he fixed a high-vote bug in the HTTP keep-alive implementation.

  • Sundar shows how to use DTrace on Solaris to generate a mixed-mode stack trace whenever an exception is thrown.

  • Jaya Hangal talks about LDAP timeouts and connection pooling in JNDI.

  • Scott Violet takes a break from big-picture application architecture to highlight some of the smaller UI features in Mustang.

  • Peter von der Ahé talks about the compiler plugins—known more formally as annotation processors—that are enabled by the Tree API, JSR 269, and JSR 199.

  • Sean Mullan summarizes the new security features in the release.

  • Shannon Hickey introduces the new support for choosing drop actions in the Swing Drag and Drop API.

  • Mandy Chung shows off six techniques for diagnosing memory-usage problems.

  • Madhura Dudhgaonkar explains why Mustang Beta is based on the relatively ancient build 59 even though the latest snapshot release is build 71.

  • David Herron posts a helpful reminder of the Mustang Regressions Challenge, in which you can win a slick new Opteron-based Ultra 20 workstation if you find a really egregious regression. (No purchase necessary, void where prohibited by law, etc.)

  • Éamonn McManus summarizes the new JMX features.

  • Chris Campbell argues with himself over whether or not the beta build is too passé, and also takes stock of the work that he and his team have been doing.

  • Preveen Mohan talks about some of the new AWT features in Mustang from the standpoint of a QA engineer.

  • Naoto Sato describes the new Locale Sensitive Services SPI.

  • Danny Coward muses on how the new Compiler API is going to keep javac up and running 24/7/365.

  • Penni Henry, the new Mustang Program Manager, reflects on the quality of the release from the perspective of someone relatively new to the team.

  • Gauri Sharma discusses the ongoing work on the Mustang JCK (Java Compatibility Kit).

  • Jon Masamitsu wonders whether those who want a truly “pauseless” garbage collector would be willing to pay for it in the currency of time and space.

  • Andreas Sterbenz shows how to plug NSS into the Java PKCS#11 crypto provider in order to improve performance on Linux and Windows.

  • Finally, in my other blog you can find a description of the new class-path wildcard feature.

That’s it for now!

Questions and answers

To answer a few of the questions that’ve been asked in the comments below:

  • The beta release is based on weekly build 59 from way back in November 2005. Madhura talks a bit more about why it’s so “old.”

  • Every bug fixed in a later snapshot build will stay fixed for the final release unless a problem with the fix is found in the interim and no alternative solution can be devised.

  • The evaluation license is a bit, well… baroque. We’re talking to our legal team to see if the part about having to notify Sun can be removed.

Related Topics >> J2SE      
Comments
Comments are listed in date ascending order (oldest first)

Mustang Release Contents (JSR 270): Early Draft Review

Posted by mreinhold on December 21, 2005 at 5:04 PM PST

Just in time for the holidays!

The Early Draft Review version of the JSR 270 specification, which governs the content of the Java SE 6 “Mustang” release, is now available.

JSR 270 is an “Umbrella” JSR, so it doesn’t define specific features itself—instead it lists features defined in other JSRs, or in the concurrent maintenance review of the Java SE platform specification. As an improvement over past umbrella specifications, this time around we’ve augmented each feature description with non-normative links to the relevant draft Mustang javadoc as well as any associated JSRs or other material.

When reviewing this draft please keep in mind that the Umbrella JSR only covers the component JSRs and other big-ticket or highly-visible items in Mustang. Most smaller enhancements aren’t listed in the Umbrella JSR, though of course they will be covered in the maintenance review of the platform specification that’ll start around the time that the beta release of the reference implementation ships.

Mustang is still under development. The JSR 270 Expert Group has approved all of the features listed in the draft, and we expect to see all those features in the final release. It’s still possible, however, for a feature to be dropped if, for example, it turns out to be too difficult to implement. It’s also possible for new features to be added, given sufficient justification, though at this stage big changes to the overall shape of the release are pretty unlikely.

Comments on this draft are most welcome! The formal EDR period ends in sixty days, but you can send feedback to the e-mail address listed in the draft at any time.

Sneak Preview

Here’s a summary of the approved feature list sorted by area, component, and feature name. For more details please see the EDR specification.

client2dGIF image writer
awtAccess to desktop helper applications
Fast splash screens
Improved modal dialogs
System-tray support
i18nPluggable locale data
Resource-bundle enhancements
Unicode string normalization
swingBaseline/gap APIs
Improve Swing drag-&-drop
JTabbedPane: Tabs as components
JTable sorting, filtering, and highlighting
SwingWorker
Text-component printing
coreJSR 223: Scripting for the Java Platform
debugAccess to heap contents
Attach-on-demand
Multiple simultaneous agents
libsArray reallocation
Collections: Deques
Collections: Sorted sets and maps with bidirectional navigation
Critical file-I/O enhancements
Floating point: Add core IEEE 754 recommended functions
java.util.concurrent updates
JSR 202: Java Class-File Specification Update
Password prompting
Reflective access to parameter names
Service-provider lookup
m&mGeneralized lock monitoring
Generalized MBean descriptors
Generic annotations for MBean descriptor contents
MXBeans
netInternationalized domain names
Internationalized resource identifiers
Programmatic access to network parameters
Simple HTTP cookie manager
secJSR 105: XML Digital-Signature APIs
toolsJSR 199: Java Compiler API
JSR 269: Pluggable Annotation-Processing API
eeJSR 250: Common Annotations
jdbcJSR 221: JDBC 4.0
xmlJavaBeans Activation Framework (JAF) 1.1
JSR 173: Streaming API for XML (StAX)
JSR 181: Web-Services Metadata
JSR 222: Java Architecture for XML Binding (JAXB) 2.0
JSR 224: Java API for XML Web Services (JAX-WS) 2.0

You can check out the initial implementations of many—though not all—of these new features in the weekly snapshot builds of the reference implementation.

Related Topics >> J2SE      
Comments
Comments are listed in date ascending order (oldest first)

Mustang Release Contents (JSR 270): Early Draft Review

Posted by mreinhold on December 21, 2005 at 5:04 PM PST

Just in time for the holidays!

The Early Draft Review version of the JSR 270 specification, which governs the content of the Java SE 6 “Mustang” release, is now available.

JSR 270 is an “Umbrella” JSR, so it doesn’t define specific features itself—instead it lists features defined in other JSRs, or in the concurrent maintenance review of the Java SE platform specification. As an improvement over past umbrella specifications, this time around we’ve augmented each feature description with non-normative links to the relevant draft Mustang javadoc as well as any associated JSRs or other material.

When reviewing this draft please keep in mind that the Umbrella JSR only covers the component JSRs and other big-ticket or highly-visible items in Mustang. Most smaller enhancements aren’t listed in the Umbrella JSR, though of course they will be covered in the maintenance review of the platform specification that’ll start around the time that the beta release of the reference implementation ships.

Mustang is still under development. The JSR 270 Expert Group has approved all of the features listed in the draft, and we expect to see all those features in the final release. It’s still possible, however, for a feature to be dropped if, for example, it turns out to be too difficult to implement. It’s also possible for new features to be added, given sufficient justification, though at this stage big changes to the overall shape of the release are pretty unlikely.

Comments on this draft are most welcome! The formal EDR period ends in sixty days, but you can send feedback to the e-mail address listed in the draft at any time.

Sneak Preview

Here’s a summary of the approved feature list sorted by area, component, and feature name. For more details please see the EDR specification.

client2dGIF image writer
awtAccess to desktop helper applications
Fast splash screens
Improved modal dialogs
System-tray support
i18nPluggable locale data
Resource-bundle enhancements
Unicode string normalization
swingBaseline/gap APIs
Improve Swing drag-&-drop
JTabbedPane: Tabs as components
JTable sorting, filtering, and highlighting
SwingWorker
Text-component printing
coreJSR 223: Scripting for the Java Platform
debugAccess to heap contents
Attach-on-demand
Multiple simultaneous agents
libsArray reallocation
Collections: Deques
Collections: Sorted sets and maps with bidirectional navigation
Critical file-I/O enhancements
Floating point: Add core IEEE 754 recommended functions
java.util.concurrent updates
JSR 202: Java Class-File Specification Update
Password prompting
Reflective access to parameter names
Service-provider lookup
m&mGeneralized lock monitoring
Generalized MBean descriptors
Generic annotations for MBean descriptor contents
MXBeans
netInternationalized domain names
Internationalized resource identifiers
Programmatic access to network parameters
Simple HTTP cookie manager
secJSR 105: XML Digital-Signature APIs
toolsJSR 199: Java Compiler API
JSR 269: Pluggable Annotation-Processing API
eeJSR 250: Common Annotations
jdbcJSR 221: JDBC 4.0
xmlJavaBeans Activation Framework (JAF) 1.1
JSR 173: Streaming API for XML (StAX)
JSR 181: Web-Services Metadata
JSR 222: Java Architecture for XML Binding (JAXB) 2.0
JSR 224: Java API for XML Web Services (JAX-WS) 2.0

You can check out the initial implementations of many—though not all—of these new features in the weekly snapshot builds of the reference implementation.

Related Topics >> J2SE      
Comments
Comments are listed in date ascending order (oldest first)

planetjdk.org now publishes syndication feeds

Posted by mreinhold on November 18, 2005 at 8:41 AM PST

By popular demand Planet JDK now publishes both an RSS feed and an Atom feed.

The Atom feed is in the version 0.3 format (sorry Tim); I'll set up an Atom 1.0 feed just as soon as ROME supports that version, which hopefully will be fairly soon.

As I mentioned previously, Planet JDK is open to anyone who's contributed code into the Java SE Development Kit. If you've contributed a Mustang fix and your blog isn't listed on planetjdk.org then drop me a note and I'll add it.

Related Topics >> Open JDK      
Comments
Comments are listed in date ascending order (oldest first)

planetjdk.org now publishes syndication feeds

Posted by mreinhold on November 18, 2005 at 8:41 AM PST

By popular demand Planet JDK now publishes both an RSS feed and an Atom feed.

The Atom feed is in the version 0.3 format (sorry Tim); I'll set up an Atom 1.0 feed just as soon as ROME supports that version, which hopefully will be fairly soon.

As I mentioned previously, Planet JDK is open to anyone who's contributed code into the Java SE Development Kit. If you've contributed a Mustang fix and your blog isn't listed on planetjdk.org then drop me a note and I'll add it.

Related Topics >> Open JDK      
Comments
Comments are listed in date ascending order (oldest first)