深入理解java泛型---泛型和字节码的关系

导语

java5开始支持泛型或者参数化类型,它大大增强了java代码的可读性和健壮性。那时,因为java的广泛使用让java背负着沉重的版本迭代包袱,同时业界需也要泛型这种优秀的特性,java作出了和cpp或者c#作出不同的选择:泛型不产生新类型,只作为一种编译器优化。呈现给我们的是一种语法上的泛型,也就是编译期的语法糖。既然泛型参数会丢失,那我们会什么还能在运行期拿到泛型参数信息呢?这一切,都要从字节码开里找到解释。

JVM只认识字节码,这是我的上篇博客所讨论的。既然运行期可以拿到泛型参数信息,那么那些信息就只能是在编译期被编译器放到了字节码中。

转载于:https://www.cnblogs.com/jialin16/p/8661806.html

你可能感兴趣的:(深入理解java泛型---泛型和字节码的关系)