February 01, 2011
Mark Wielaard: New GPG key.
Finally created a new GPG key using gnupg. The old one was a DSA/1024 bits one and 8 years old. The new one is a RSA/2048 bits one. I will use the new one in the future to sign any release tarballs I might create. pub 2048R/57816A6A 2011-01-29 Key f...
More »
February 01, 2011
Andrew Hughes: [SECURITY] IcedTea6 1.7.8, 1.8.5, 1.9.5 Released!.
We are pleased to announce a new set of security releases, IcedTea6 1.7.8, IcedTea6 1.8.5 and IcedTea6 1.9.5.
This update contains the following security updates:
The IcedTea project provides a harness to build the source code from OpenJDK6 u...
More »
December/2024
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 | | | | |
|
|
Are you sure you know everything you need about erasure?
Erasure is a part of the way Java 5 implements generics, so the bytecode loses all the information about the generified types, only generating the proper type casts where appropriated. It's the thing that you scream against when you try to write code such as:
public abstract class CapabilitiesProviderSupport implements CapabilitiesProvider
{
@Override @Nonnull
public final Class getManagedClass()
{
return T.class;
}
...
}
T.class is not valid, since because of erasure generics are not reified, that is they are not proper objects for which a class literal is available. The typical idiom to solve the problem is to give up to DRY principles and repeat the same information once for the generic (= the compiler) and once for the runtime:
public abstract class CapabilitiesProviderSupport implements CapabilitiesProvider
{
@Nonnull
private final Class managedClass;
protected CapabilitiesProviderSupport (final Class managedClass)
{
this.managedClass = managedClass;
}
@Override @Nonnull
public final Class getManagedClass()
{
...
Date: February, 05 2010
Url: http://www.java.net/blog/fabriziogiudici/archive/2010/02/05/are-you-sure-you-know-everything-you-need-about-erasure
Others News
|