1. 2.如何在所有的工作簿中都能调用函数? 将函数文件保存为加载宏文件,并且在excel中引用加载宏 3.application.volatile是启动易失性函数。表示如果编辑带有函数的单元格,单元格的值就会变。 4.自定义函数时,可以设置参数是可选型参数。即给参数赋一个默认值。后边使用函数时,如 ...
分类:
其他好文 时间:
2020-03-28 20:16:35
阅读次数:
68
内存 共享主存和高速缓存(工作内存)。CPU高速缓存(L1,2)产生原因读写主存没有CPU执行指令快,他是某个CPU独有,只与该CPU运行的线程有关。 内存可见性 简单的说,CPU对数据的修改,对其他CPU立刻可见。下面我们详细地说。 CPU修改数据,首先对工作内存修改,再同步主内存。单线程中,变量 ...
分类:
编程语言 时间:
2020-03-28 16:29:56
阅读次数:
158
volatitle是为了解决多线程中,线程之间参数不可见的问题,从而有的一个标签,不加volatitle的时候,参数相当于从主内存中获取一个副本,一直就是用这个参数副本了,所以这样参数就不会更新,加volatitle以后,线程每次都会获取新的参数副本,把之前的老旧参数副本销毁,这样参数就会获取最新的 ...
分类:
其他好文 时间:
2020-03-28 16:15:07
阅读次数:
51
1)锁的概念 同步方式: 锁 原子变量 volatile 锁的性能优化 缩小锁的范围 减小锁的粒度 锁分段 锁的分类 公平锁:synchronized, ReentrantLock 非公平锁: ReentrantLock, CAS(自旋锁) 独享锁: synchronized, ReentrantL ...
分类:
其他好文 时间:
2020-03-26 23:09:46
阅读次数:
73
原子类 java.util.concurrent.atomic包:原子类的小工具包,支持在单个变量上解除锁的线程安全编程 原子变量类相当于一种泛化的 volatile 变量,能够支持原子的和有条件的读-改-写操作。AtomicInteger 表示一个int类型的值,并提供了 get 和 set 方法 ...
分类:
其他好文 时间:
2020-03-26 16:36:14
阅读次数:
75
java中,volatile关键字有两大作用: 1.保证线程的可见性 2.防止指令重排序 这篇文章主要通过典型案例,体现可见性这一特性。 概念: java中,堆内存是线程共享的。而每个线程,都应该有自己独享的内存用于工作。所以,当线程访问到堆内存中的共享变量时,会考虑copy一份,存在自己的工作空间 ...
分类:
编程语言 时间:
2020-03-22 19:39:57
阅读次数:
72
或许你经常被问到? Volatile关键字有何作用? 实现这些作用的底层如何实现? Volatile能够保障可见性、有序性?原子性吗? 前言 我们都知道,Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM里,JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用 ...
分类:
编程语言 时间:
2020-03-22 17:57:53
阅读次数:
78
读了本文,你会知道,为什么不加volatile关键字的单例模式不是线程安全的 有经验的开发者都知道双重锁定检查(DCL,Double Check Lock)的单例是最优秀的,如下文所示: 1 public class Singleton { 2 private static Singleton in ...
分类:
编程语言 时间:
2020-03-22 17:29:48
阅读次数:
80
Java并发编程之验证volatile不能保证原子性 通过系列文章的学习,凯哥已经介绍了volatile的三大特性。1:保证可见性 2:不保证原子性 3:保证顺序。那么怎么来验证可见性呢?本文凯哥(凯哥Java:kaigejava)将通过代码演示来证明为什么说volatile不能够保证共享变量的原子 ...
分类:
编程语言 时间:
2020-03-22 10:57:19
阅读次数:
98