VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 845|回复: 4

什么是类型安全

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-2-14 17:00:01 | 显示全部楼层 |阅读模式
今天看到泛型的时候有这么一段话:
类型安全。 泛型的一个主要目标就是提高 Java 程序的类型安全。使用泛型可以使编译器知道变量的类型限制,进而可以在更高程度上验证类型假设。如果没有泛型,那么类型的安全性主要由程序员来把握,这显然不如带有泛型的程序安全性高。
自己想是类型安全就是类型强制转换是否正确,这样理解不知道对不对?

2.还有一个问题是:
线程同步的方法不是也只能让一个线程进入这个方法,这样不是看上去也是一个单线程了吗?
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-3 22:45:01 | 显示全部楼层
Java 泛型的参数只可以代表类,不能代表个别对象。由于 Java 泛型的类型参数之实际类型在编译时会被消除,所以无法在运行时得知其类型参数的类型。这样就能保证程序类型的安全。
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-3 23:00:01 | 显示全部楼层
同步多线程(SMT)是一种在一个CPU 的时钟周期内能够执行来自多个线程的指令的硬件多线程技术。本质上,同步多线程是一种将线程级并行处理(多CPU)转化为指令级并行处理(同一CPU)的方法。 同步多线程是单个物理处理器从多个硬件线程上下文同时分派指令的能力。同步多线程用于在商用环境中及为周期/指令(CPI)计数较高的工作负载创造性能优势。 处理器采用超标量结构,最适于以并行方式读取及运行指令。同步多线程使您可在同一处理器上同时调度两个应用程序,从而利用处理器的超标量结构性质。

所以多线程的主要好处在于性能方面。
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-3 23:15:01 | 显示全部楼层
泛型类型安全,说白了,就是给你人民币放在口袋里,你从口袋里不能取出美元。你只能取出人民币。
如果没有这层规范,比如你放入的是钱,但是你取出的不知道什么钱,你得兑换成当地使用的货币(也就是强制转化)。强制转化当然就有了安全的问题。我本来是人民币你给我转化了冥币!- -!
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-4 00:30:01 | 显示全部楼层
同步的方法确实会让多个线程变成串行
但是别忘了还有线程协作 wait notify
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表