class MyClass<T1, T2 extends CharSequence> implements Comparable<MyClass> //...
interface MyListInterface<T extends Serializable> extends List<T> //...
public <T1, T2 extends Instant> T1 provideClone(T1 toClone, T2 instant> //...
public static List<CharSequence> safe(Collection<? extends CharSequence> l) { return new ArrayList<>(l);}
Set<String> strings = Collections.singleton("Hello world");
List<CharSequence> chsList = safe(strings);
Type erasure limits reflection, though that is not JVM specific, for example Ceylon uses reified generics.
Existential type support is not necessarily supported by other languages in this form: Kotlin supports it through type projections.