distributed support for object identity and singularity
As good as Java's support for distributed computing is, it is still missing one important property, singularity (which is tied into unique identity). OO system need to guarantee that any object lives only once in that universe. In a single VM implementation, this is a given. The problem is, when you move to a multiple (or distributed) situation, you loose that guarantee of singularity as the "same" object in a number of VMs will not have the same identity.
IMHO, it would be useful to see an OOP scheme implemented in the VM that would support the notion of singularity and unique identity across several cooperating VMs (that may also extend out to non-OO systems such as RDBMS).
Granted there are some schemes that are designed to mimic this behavior but the problem is they really are implemented in Java and as such inject themselves in some manner on the application. The solutions all seem awkward after having worked with a system that did natively support system wide identity.
Though the solution may not be easy, it is one problem that is pervasive and deserves a look to see if a native solution should be attempted.