1 public class 自定义类 { 2 public int Age { get;set;} 3 public string Name { get; set; } 4 public 自定义类(int age,string name) 5 { 6 Age= age; 7 Name = name ...
分类:
编程语言 时间:
2018-02-23 14:03:53
阅读次数:
137
1. 定义: 从字面意思上理解,bitmap翻译为位图,更准确地说应该是位的映射。bitmap一般应用于海量数据的处理,如查找、去重、排序。 举个例子:40亿个int数字中,要找出只出现一次的数字集合。用普通的遍历查找的话,40亿int需要的内存空间是:40*10^8*4 = 16*10^9,即16 ...
分类:
其他好文 时间:
2018-02-16 16:05:00
阅读次数:
240
要保证线程安全,必须保证两点:共享变量的可见性、临界区代码访问的顺序性。 ...
分类:
编程语言 时间:
2018-02-02 14:34:25
阅读次数:
203
volatile详解接下来,我们详细讲述一下volatile关键字volatile关键字具有两重语义 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这个新值对其他线程来说是立即可见的。 禁止指令重排序 依然使用上文RunThread案例说明,上文中已经提到了,由于主线程修 ...
分类:
其他好文 时间:
2018-01-22 17:25:52
阅读次数:
133
引起线程并发问题,可以简单的总结为以下三条: 原子性问题 可见性问题 有序性问题(重排序问题) 原子性问题 什么是原子性? 原子性,即一个操作或者多个操作,要么全部执行并且执行过程中不会被任何因素打断,要么全部都不执行。 如常见的银行转账、count++操作等,都必须具备原子性才能保证不出现意外。 ...
分类:
其他好文 时间:
2018-01-22 17:24:41
阅读次数:
162
本文转自:http://www.infoq.com/cn/articles/java-memory-model-6 与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问。对于final域,编译器和处理器要遵守两个重排序规则: 下面,我们通过一些示例性的代码来分别说明这两 ...
分类:
编程语言 时间:
2018-01-21 19:15:48
阅读次数:
178
本文转自:http://www.infoq.com/cn/articles/java-memory-model-2 数据依赖性 如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性。数据依赖分下列三种类型: 上面三种情况,只要重排序两个操作的执行顺序,程序的执 ...
分类:
编程语言 时间:
2018-01-21 17:42:01
阅读次数:
184
直想写点关于设计模式的东西,却懒到现在都没写过什么,今天上午看到项目中的代码,就在这个中午抽出时间写点东西,抛个项目截图先: 单例模式: 单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对 ...
分类:
编程语言 时间:
2018-01-15 14:54:52
阅读次数:
212
特殊符号#注释不会生效脱义当成普通字符管道命令cut截取指定第几个字符排序sort-n按数字排序字母和t特殊符号默认为零-r反序wc-l行数wc-m字数cat-A查看所以内容wc-w取词uniq去重排序后去重统计行数tee和>类似但可以看到输出tee-a追加tr替换字符split切割文件-b大小文件-l行数文件指定大小同时指定文件名特殊符号多条命令写入一行用分好隔开或者前面一条执行成功后面的
分类:
系统相关 时间:
2018-01-13 00:12:26
阅读次数:
267
1.volatile关键字的两层语义 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 2)禁止进行指令重排序。 先看一段代码,假如线 ...
分类:
其他好文 时间:
2018-01-12 11:29:30
阅读次数:
303