首页 > 试题广场 >

在开发中使用泛型取代非泛型的数据类型(比如用ArrayLis

[单选题]

在开发中使用泛型取代非泛型的数据类型(比如用ArrayList<String>取代ArrayList),程序的运行时性能会变得更好。

泛型仅仅是java的一颗语法糖,它不会影响java虚拟机生成的汇编代码,在编译阶段,虚拟机就会把泛型的类型擦除,还原成没有泛型的代码,顶多编译速度稍微慢一些,执行速度是完全没有什么区别的。
发表于 2017-05-04 19:59:38 回复(8)
最多影响一下编译速度,由于泛型擦除机制的存在,不会影响运行时间
发表于 2017-05-07 21:59:42 回复(0)

使用泛型后,容器中能存储的对象的类型就已经确定了,如果你将其他类型的对象放入容器会在编译器报错,而取对象时编译器也会帮你转型,这可以减少我们编程时犯错率,但并不能提升运行时的性能。

发表于 2017-05-17 11:19:07 回复(0)
java编程思想有说过,会有潜在的性能收益啊😶 泛型机制的优点: 1.提高java程序的类型安全。 2.消除许多强制类型转换。 3.会有潜在的性能收益。(使容器储存的对象不必经历“不安全”的向下转型。)
发表于 2018-11-05 16:01:46 回复(0)
能告诉我为什么是多选吗
发表于 2017-06-08 12:42:55 回复(1)
范型只在编译时起作用,运行时擦除范型 所以有时候会越过范型检查
发表于 2018-01-09 23:46:26 回复(0)
泛型仅仅在编译器起作用,便于类型检查,运行时是擦除的。


发表于 2018-04-26 21:33:32 回复(1)
在编译的时候,泛型就擦除了,和运行没啥区别了吧
发表于 2017-07-22 21:31:53 回复(0)
只会影响编译速度,java虚拟机有泛型擦除机制,会还原成没有泛型的代码
发表于 2019-08-12 10:27:15 回复(0)
编译阶段:泛型类型擦出
发表于 2019-06-22 13:21:31 回复(0)

编译阶段泛型就被擦除了,不会影响到运行时的性能

发表于 2019-03-28 01:52:54 回复(0)
泛型仅仅是java的一颗语法糖,它不会影响java虚拟机生成的汇编代码,在编译阶段,虚拟机就会把泛型的类型擦除,还原成没有泛型的代码,顶多编译速度稍微慢一些,执行速度是完全没有什么区别的。
发表于 2019-03-16 00:25:36 回复(0)
原来是这样啊,记住了!
发表于 2019-01-28 11:41:48 回复(0)
需要注意的是,泛型在编译阶段,虚拟机就会把泛型的类型擦除,还原成没有泛型的代码,顶多是编译的速度稍微慢一点,执行的速度是完成没有什么区别的
发表于 2019-01-15 18:11:37 回复(0)
他考得是STRING不是基本数据类型没有包装类吧
发表于 2018-12-18 00:04:03 回复(0)
泛型不会影响java虚拟机生成的汇编代码,在编译阶段,虚拟机就会把泛型的类型擦除,还原成没有泛型的代码,顶多编译速度慢一点,执行速度是没有任何区别的
发表于 2018-10-30 09:52:54 回复(0)
泛型擦除机制。在编译阶段,虚拟机会把泛型的类型擦除,还原成没有泛型的代码。
发表于 2018-10-13 09:35:34 回复(0)
java中的泛型是伪泛型:用于编译检查,运行时不管
发表于 2018-10-10 14:05:43 回复(0)
泛型只会在编译时刻起作用
运行时取消了泛型限制
发表于 2018-10-09 10:38:10 回复(0)
最多只影响编译速度,但不影响执行速度。
发表于 2018-10-08 10:32:38 回复(0)