当前位置:首页 > 知识百科 > 正文内容

java的三大特性_java三大特性及其具体含义是什么

fpodo2个月前 (08-14)知识百科3

1.volatile不能保证原子性。简单说,java有所谓主内存区和线程栈,同一变量在主内存区和各个线程的栈都存在副本(一对多)。volatile提供的可见性,是说每个线程访问用volatile修饰的变量时,volatile都保证线程能从主存区加载到当前最新的值(反之,线程修改后同步到主存的值也要保证对其他线程的可见);

2.java的volatile的语义其实不涉及cpu缓存。jvm本身是软件抽象,已经在操作系统之上;

3.因为非原子性,volatile往往不能保证线程安全。如果只有简单读写操作如set i=2, get i, 可认为安全。i++就不行,它有一次读一次写;4、volatile被认为是比锁要轻,编程要简单。可以用volatile的地方:对一个变量,更新其值的时候不依赖于当前值,且该变量不会和其他一起构成一个不可变条件。

Volatile关键字有以下特性:

1. 保证共享变量的可见性,即当一个线程修改了共享变量的值,其他线程能够立即看到被修改的值;

2. 禁止指令重排序优化;

3. 不保证原子性,也就是说Volatile只能保证单个读/写操作的原子性,如果需要多个操作原子性,则仍需要使用synchronized关键字来保证。

因此,Volatile关键字不能保证线程安全,但是可以保证变量在多个线程之间的可见性和禁止指令重排序优化。

相关文章

个人房产税如何计算(个人房产税税率2021税率表)

计算个人所得税多少的方法有两种,采用哪种计算方法要看卖方的详细信息:1、纳税人(卖方)能在地税系统中查到房屋原值,或能提供房屋原值等费用,个人所得税计算方法为:个人所得税=(计税价格-房屋原值-原契税...

怎么重装系统xp系统(重装系统xp系统安装步骤详解)

创建可引导的USB或DVD安装介质。 进入BIOS并从可引导介质启动。 选择要安装Windows XP的语言、时间和货币格式。 接受许可协议并点击“下一步”。 选择“自定义安装”选项。 选择要安装Wi...

手机浏览器打不开网页(手机浏览器打不开网页怎么解决)

手机无法正常打开网页的解决方法:1、导致手机中的浏览器打不开的原因有很多种,首先要确保的手机网络是不是连接正常的,进入到手机网络连接界面中。2、如果手机网络是正常的情况下,可以进入到手机流量器中,进行...

小米备份bak如何恢复

设置→更多设置→备份和重置→自动备份→关闭。就不会产生新的备份文件了。手机里面原有已经备份的文件可以手动删除,不影响使用。...

支票打印excel(支票打印机运行时错误8002)

EXCEL做支票打印模板,其实就是套打。这年头谁还用支票呀。 不过能套打支票的excel表格模板,稍微改造一下应该就可以打印快递面单了。1、适合工行、建行、农行、中行、信用社和其他多家银行的现金、转账...

win8安装秘钥(win8.1安装密钥和激活密钥2021)

①下载一个KMS激活工具,双击安装,尽量不要更改路径,保持默认路径(C盘)。②在系统分区的C:\Program Files\KM\中找到KMSELDI文件,右键点击以管理员身份运行。安装的过程中有一个...