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
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...
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...
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.
I don't understand why the creation of array of parametrized type is unsafe ? Array of parametrized type don't seems to be inherently unsafe but some subtyping relations between array of parametrized type and some indentified classes are unsafe.
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.
Neal Gafter publishes a blog entry showing a possible path to reified generics in Java. I think that reified generics are importants
but i not totally agree with the proposal.
Will we see in a near future, more VMs providing
a module repository implementing ahead of time compilation ?
And thus VMs that never interpret bytecodes !
This entry shows that it is possible to
write an unreadable code in Java since JDK 1.0
without using generics, closure etc.
Closures and language-level XML support are all good but I think we have many simple things that benefit all developers.
Saw Is Sun's Bug Fixing Policy a Failure or Success? which refers to Horrible JComboBox regression in b99 with WindowsXP L&F ... There's a whole lot to this discussion to consider. What I want to talk about is the difficulty of finding bugs in rendering graphics (like a GUI). I've written on this topic before: Automated visual verification is hard
This regression is an example of the...
Recently my friend Ed Bennett died. I'd lost track of him, and it was interesting that I learned about his death because of a comment left for me on this blog. He and I had in the 1980's led an open source project which I've written about before. Over the weekend a memorial service was held for him, and I learned something which is intriguing me.
Ed was quadrapalegic due to a skiing accident...
When you want to add features to a language
without breaking backward compatibility,
a widespread idea that you can't add new keywords.
I prefer advocating to change the way lexer works.
Just thought I'd touch on a subject that some people forget about
when having to build products that will run on many different
Building and testing on a single machine is easy, building bits
that need to run on dozens of different machines is the hard part.
Test machines and Build machines are different.
Ideally you WANT to test on any and all machines you can get your hands
Neal Gafter post another thought about a way to differentiate
between synchronous and asynchronous closure.
Mark Reinhold: Source-code management for an open JDK, Kelly O'Hair: Teamware, Mercurial, and SCCS revs that go bump in the night and Martin Englund: Migrating from TeamWare to a new SCM have posted a series of blogs (linked above) talking about the source code managment thinking as we move to the open JDK project.
I don't have much to add to what they've said. I just wanted to give them a...
As seen in Mark's recent blog on the JDK and
Source Code Management (SCM) solutions at
you can see that we are finally looking at converting to a new SCM.
Inside Sun the historic and
most common SCM used has been Teamware.
The Sun Workshop
product had delivered Teamware with it's compilers and tools
for many releases, but the newer Sun Studio...
This is the title of an excellent new blog entry from my teammate Luis-Miguel Alventosa. It's an exhaustive description of the principal options that are open to you to configure the security of RMI connectors for JMX agents.
Anybody interested in the JDK 7 planning should go to Danny Coward's recent blog posting: Channeling Java SE 7. It's a good overview of the planning, of the planning process, some of the high level themes and directions that we intend to take with the next major release of the JDK.
Doing the planning for a Java release is a very complicated process. As Danny says, it involves input from...
When the foreach syntax (for(:)) has been introduced in 1.5,
a recurring question was why foreach is not able to
iterate using an iterator.
I think the closure syntax could help.