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

I have just listened to Laurie Tolson talk about OpenJDK and now Mark Reinhold is talking about JDK 6. This is the official announcement of JDK 6, here in London. Since this morning, you can download the final version of the new version of the Java Platform. Interesting times we are right now. In the last few weeks, we had the announcement of NetBeans 5.5, then Sun announced OpenJDK and now JDK 6...
on Dec 11, 2006
For an average duke, the big difference between a language like PHP, Python and Java is that you have to declare the type of the variables. In general, it's not a big beal for a statement like this one   foo=new Foo(); to declare the type and so write it like that   Foo foo=new Foo(); The advantage of declaring the type Foo is that the compiler won't let you use foo in...
on Dec 11, 2006
Earlier this year, Australia made changes to their time zones that required a completely new JRE. Then, the US announced time zone changes for 2007 that required a completely new JRE...unless of course you don't mind reporting incorrect time during the affected periods. I expected there might be some grumbling about the fact that you had to update an entire JRE just to update some exchangeable...
on Nov 26, 2006
Now that we've open source'd Duke, it's possible to use the Duke Mascot (technically Duke isn't a Logo but a Mascot, as I understand it) for any aspect of the Java ecosystem. Way back in the mysts of tyme, in the 1.2.2 and 1.3 timeframe, I helped to put the java.awt.Robot class into the platform. In 1.2.2 we had a private class, and in 1.3 we upgraded it to a real honest-to-goodness class for...
on Nov 24, 2006
I recently wanted to add some performance measurements to an application. To avoid duplicating code everywhere I needed to make measurements, I coded up a small helper class. What I wanted to measure was the amount of time taken by various operations within the application. For each operation, I wanted to know various statistics about it: how many times it was...
on Nov 23, 2006
IBM has been requesting an open source Java for years. Back in early February 2004, IBM started sending its open letters to Sun. Those letters generated lots of discussion, and Sun's commitment to open source was questioned.  We know what "open letters" are, right? Open letters are the equivalent of sending email to a coworker and cc'ing the boss just to make sure there's a little extra...
on Nov 22, 2006
The closure proposal specifies a new type java.lang.Undeclarable that can be used as a return type of a method to indicates that this method never returns. All instructions after a call to a method that returns Undeclarable is unreachable, by example :   Undeclarable throwAnIOException(String message) throws Exception {    throw new IOException(message);  }...
on Nov 21, 2006
What Sun finally did this week by releasing Java under GPL was a historic event. Using the GPL instead of yet another Sun license certainly makes adoption that much easier. But why did it take so long and why the change now? I left Sun in 2004 after 8 fun years at Javasoft. Open Source Java was a annual discussion at Sun and in many conversations with open source advocates and companies. Many of...
on Nov 15, 2006
This blog is an infrared echo to Matthias Ernst's last post titled "How far is fidji". get rid of checked exceptions : For me the problem is not checked/unchecked exception but the fact that in the JDK, some places abuse of checked exceptions like reflection, rmi etc. I agree with matthias that it could be easy to add a keyword to transform or not xhecked exception to runtime...
on Nov 15, 2006
In Concerns about GPL-licensed Java goes into some well known issues with copying code from one project to another. The first concern, 1) When code is GPL, the license tends to infect things that aren’t intended to be GPL. is indeed why we chose the Classpath exception. It's so that the GPL-ness of the runtime classes do not pass along to programs that subclass the runtime classes. Though an...
on Nov 14, 2006
Defining an equals(Object) method in a public class is not always straightforward. One reason it might not be is that the answer to the question "are these objects equal?" might be "who's asking?". In a very interesting comment on my previous blog entry, rullrich suggests that the real problem is with MBeanInfo.equals. I'm inclined to disagree, but the issue...
on Nov 13, 2006
After a long debate it's finally happened, I've open sourced my dog. It just seemed like the right time, and all these concerns about people sticking forks in my dog, or taking it and actually teaching it new tricks, what was I thinking? So here she is: Oh by the way, here are a list of issues I need fixed: <pre>9103456 Keeps jumping up on people and licking them9104567 Occasionally...
on Nov 13, 2006
Okay, we're finally public with what we're doing. Maybe I'll find time to resume posting on my blog. Especially as we have some interesting Quality Team plans cooking in the background. Anyway I'm reading through the slashdot thread and it seems worthy to post a few responses to what I see there. And it's worth saying up front -- I am not a lawyer, so for the real legalese of various questions...
on Nov 13, 2006
An inadvertent change in JDK 6 means that MBean attributes and operations no longer appear in the order they were in a Standard MBean interface. I wanted to fix this, but now I'm not so sure. Here's the background. Suppose you have a Standard MBean with this interface: public interface PlanetMBean {    public int getMercury();    public String...
on Nov 10, 2006
I don't understand why array creation of array of parametrized type is forbidden by the JLS. Let me take an example :   public class Holder&lt;E&gt; {    public void set(E element) {      this.element=element;    }    public E get() {      return element;    } ...
on Nov 9, 2006
The JMX API includes the possibility to create "Dynamic MBeans", whose management interface is determined at run time. When might that be useful? Here's an example. In the JMX forum on the Sun Developer Network, Athar asks how to load a properties file in a dynamic MBean. I think that's an excellent question, because it's exactly the example I usually use for "...
on Nov 8, 2006
Neal Gafter post a blog entry about adding reified generics to Java. I likethat proposal mostly because developpers will have the choice betweeen reified or not reified generics. About the syntax, i think it's better to use an anotation than to re-use the keyword class. Annotating a type variable is not currently allowed but it seems that the upcoming JSR 308 will allow that. class...
on Nov 6, 2006
Last week, an early draft of Java Module System (JSR277) was published. To sum up, this draft defines : the concept of exportable module, which is closed to OSGi bundle or eclipse plugin. the way modules are packaged, as super jar named Java Archive Module (or jam). and how modules are store in a local repository. One short paragraph at the end of the section 12 of the...
on Oct 19, 2006
With a colleague, we discuss about the fact that function type can or not obfuscate Java code and he advocate the fact that a code in Java is always readable if you have an IDE that can auto-format the code. The following example doesn't answer to the question about function type but shows that it is always possible to write an obfuscated code even in Java. This example is extracted...
on Oct 17, 2006
I just had to write this in the JAX-WS RI: try {    return ir.getConstructor(Class.class).newInstance(clazz);} catch (InstantiationException e) {    throw new WebServiceException(ServerMessages.FAILED_TO_INSTANTIATE_INSTANCE_RESOLVER(        ir.getName(),a.annotationType(),clazz.getName()));} catch (IllegalAccessException e) {...
on Oct 16, 2006