群实质上是集合加上满足群公理的乘法运算的数学实体。现在我们将其推广,在集合上加上不同的附加结构(不同公理),研究可能形成的代数系及其性质。 一、 自然数 自然数$\mathbb{N}=\{0,1,2,3,...\}$我们再熟悉不过了,它满足如下性质: (i) 有序性: $\mathbb{N}$按“$ ...
分类:
其他好文 时间:
2019-02-03 10:59:19
阅读次数:
149
阿里巴巴编码规范有这么一例 【推荐】如果有order by场景,请注意利用 索引的有序性 。 order by最后的字段是组合索引的一部分,并且放在索引组合顺序的最后,避免出现file_sort的情况,影响查询性能。 如果order by的列上有索引,那么就可以利用索引的有序性进行排序; 如果没有索 ...
分类:
其他好文 时间:
2019-01-19 00:48:12
阅读次数:
212
背景:听说Volatile Java高阶语法亦是挺进BAT的必经之路。 Volatile: volatile同步机制又涉及Java内存模型中的可见性、原子性和有序性,恶补基础一波。 可见性: 可见性简单的说是线程之间的可见性,一个线程修改的状态对另一个线程是可见对,也就是一个线程的修改结果另一个线程 ...
分类:
编程语言 时间:
2019-01-12 20:55:24
阅读次数:
153
1.并发编程三要素 原子性 原子,即一个不可再被分割的颗粒。在Java中原子性指的是一个或多个操作要么全部执行成功要么全部执行失败。 有序性 程序执行的顺序按照代码的先后顺序执行。(处理器可能会对指令进行重排序) 可见性 当多个线程访问同一个变量时,如果其中一个线程对其作了修改,其他线程能立即获取到 ...
分类:
其他好文 时间:
2019-01-09 18:53:26
阅读次数:
183
本文比第一篇,采用了类实现。增加了运算符重载等功能。本来有序数组是不能修改某个位置的值的,因为这样会打破数组的有序性;但为了演示,保留了修改的方法,但为此增加了排序。 ...
分类:
编程语言 时间:
2019-01-08 21:05:06
阅读次数:
181
链接:https://codeforces.com/problemset/problem/675/D 题意: 给一个二叉搜索树,一开始为空,不断插入数字,每次插入之后,询问他的父亲节点的权值 题解: 由二叉搜索树的有序性质, 他的父亲节点一定是和他向上和向下最接近的两个中,最后插入的那一个 那么我们 ...
分类:
其他好文 时间:
2019-01-05 19:59:41
阅读次数:
214
恢复内容开始 恢复内容结束-- 7.2 - 恢复内容开始 恢复内容结束-- 7.2 - ...
分类:
编程语言 时间:
2018-12-10 18:17:18
阅读次数:
235
Java内存模型是围绕在并发过程中如何处理原子性、可见性、有序性来建立的。 一、主内存与工作内存Java内存模型主要目标是在虚拟机中将变量存储到内存和从内存中取出变量。这里的变量包括:实例字段、静态字段、构成数组对象的元素;不包括局部变量和方法参数,因为它们是线程私有的。Java内存模型规定了所有变 ...
分类:
编程语言 时间:
2018-12-05 21:50:08
阅读次数:
208
首先并发编程有三大特性: 可见性,有序性,原子性。volatile关键字实现了前面两个特性。那么它是如何实现这两个特性的呢? 首先是可见性。可见性主要是让缓存,直接写穿透到主存中。然后另外的cpu 通过底层的硬件层面的嗅探,可以发现自己cpu本地的缓存已经失效。然后到主存中直接读取。现在让我们来看看 ...
分类:
其他好文 时间:
2018-12-04 00:09:40
阅读次数:
247
一、java内存模型的相关概念:原子性、可见性与有序性 原子性: 原子是世界上的最小单位,具有不可分割性。比如 a=0;(a非long和double类型) 这个操作是不可分割的,那么我们说这个操作时原子操作。再比如:a++; 这个操作实际是a = a + 1;是可分割的,所以他不是一个原子操作。非原 ...
分类:
其他好文 时间:
2018-11-29 20:11:02
阅读次数:
156