之前面试被问到C++里static的作用是什么,但我却只知道static在java里的作用是什么,于是就google了一下c++相关面试题,发现这个同学总结的很棒。 就记录一下。 原文地址:C/C++面试知识总结 侵删 正文分割线 const 作用 Volatile volatile 关键字是一种类 ...
分类:
编程语言 时间:
2018-06-15 15:56:06
阅读次数:
211
原文链接:http://www.cnblogs.com/dolphin0520/p/3920373.html 作者:海子 Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会 ...
分类:
编程语言 时间:
2018-06-14 18:20:57
阅读次数:
182
前言:volatile关键字在面试中经常被问到,从volatile关键字可以引申出许多知识点,因此有必要对此进行总结。本文根据《深入理解Java虚拟机——JVM高级特性与最佳实践》中的相关章节,整理得来。 相关名词 TPS(Transactions Per Second):每秒事务处理数,衡量一个服 ...
分类:
其他好文 时间:
2018-06-04 14:34:20
阅读次数:
137
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来 ...
分类:
编程语言 时间:
2018-06-03 21:37:15
阅读次数:
152
第一站:(深圳) 1. 多个线程同时读写,读线程的数量远远?于写线程,你认为应该如何解决 并发的问题?你会选择加什么样的锁? 2. JAVA的AQS是否了解,它是?嘛的? 3. 除了synchronized关键字之外,你是怎么来保障线程安全的? 4. 什么时候需要加volatile关键字?它能保证线 ...
分类:
其他好文 时间:
2018-05-30 19:13:39
阅读次数:
358
synchronized还可以应用在静态方法上,如果这么写,则代表的是对当前.java文件对应的Class类加锁。看一下例子,注意一下printC()并不是一个静态方法: 写三个线程分别调用这三个方法: 写个main函数启动这三个线程: 看一下运行结果: 从运行结果来,对printC()方法的调用和 ...
分类:
其他好文 时间:
2018-05-29 17:47:10
阅读次数:
192
近期看到C++标准中对volatile关键字的定义,发现和java的volatile关键字完全不一样,C++的volatile对并发编程基本没有帮助。网上也看到很多关于volatile的误解,于是决定写这篇文章详细解释一下volatile的作用到底是什么。 ...
分类:
编程语言 时间:
2018-05-26 13:02:21
阅读次数:
284
java_并发_volatile关键字 参考:博客园--海子 1.volatile关键字的两层语义 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说 ...
分类:
编程语言 时间:
2018-05-25 19:36:34
阅读次数:
189
被volatile修饰的变量能够保证每个线程能够获取该变量的最新值,从而避免出现数据脏读的现象。 根据下面实例理解: 不加volatile输出结果: 可以看到,线程没有停止,还在run()方法里一直循环, 我们在main方法里设置了全局变量isRunning为false,线程执行run方法时没有生效 ...
分类:
编程语言 时间:
2018-05-19 23:28:30
阅读次数:
224
volatile关键字 volatile关键字是什么 在上一章我们讲到了并发的的三个概念,那么今天在讲解下在java中可以保证可见性和有序性的一个关键字。 volatile关键字 :当变量的值被该关键字修饰后该值任何读写操作对于其他线程是立即可见的。并且被关键字修饰后的变量被禁止重排序。 volat ...
分类:
其他好文 时间:
2018-05-18 15:34:40
阅读次数:
165