1、为什么要用锁? 锁-是为了解决并发操作引起的脏读、数据不一致的问题。 2、锁实现的基本原理 2.1、volatile Java编程语言允许线程访问共享变量, 为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁要更加方 ...
分类:
编程语言 时间:
2020-07-24 09:33:02
阅读次数:
63
Volatile关键字 保证线程间共享变量的可见性、有序性。 如何保证可见性:多了一个Lock的汇编指令。 什么是可见性 硬件 运行速度:CPU > 内存 > IO设备;所以在硬件的使用中,为了提高效率 CPU增加了高速缓存 读数据时,从内存读,然后缓存到CPU缓存,线程修改变量时会先同步到缓存,再 ...
分类:
编程语言 时间:
2020-07-11 16:56:15
阅读次数:
61
导读 数据中心行业中比较流行的两种零碳排放途径是直接使用可再生能源和使用可再生能源额度(RECs)。 据估计,到2025年,全球数据中心将使用全球20%的电量。那么,数据中心到底消耗了多少能源和电量? 目前,全球的数据中心每年消耗约200TWh的电能,约占全球用电量的1%,但近年来,数据中心行业在提 ...
分类:
其他好文 时间:
2020-07-08 01:08:04
阅读次数:
142
1、Cache Aside Pattern(1)读的时候,先读缓存,缓存没有的话,那么就读数据库,然后取出数据后放入缓存,同时返回响应 (2)更新的时候,先删除缓存,然后再更新数据库 2、为什么是删除缓存,而不是更新缓存呢?原因很简单,很多时候,复杂点的缓存的场景,因为缓存有的时候,不简单是数据库中 ...
分类:
数据库 时间:
2020-07-04 22:52:25
阅读次数:
78
2020,是个极其特殊的一年!自2月以来,各位小伙伴经历了在家网课,毕业设计在家完成,毕业答辩网上进行,找工作更是犹如九九八十一难,一重接着一重…但不历经风雨,又如何见得彩虹?你或许是从大学毕业,又或许从一家公司毕业…在你的这段经历中,一定有令你印象深刻的事,或快乐或疯狂或难过,总之这段独属于你一个人的经历一定很宝贵…2020年,不一样的毕业方式,记录着不一样的回忆。你可以从以下几个方向作笔:进入
分类:
其他好文 时间:
2020-07-01 19:59:34
阅读次数:
53
完成了对NIO三大组件,Buffer,Channle,Selector的介绍,现在可以介绍一个完整的NIO EchoServer的例子了 这里再次重新介绍一下channel,因为无论服务端还是客户端, 在读数据的时候,channel都是从SelectionKey反向拿到的,可能第一次看不明白,其实这 ...
分类:
Web程序 时间:
2020-06-27 19:54:15
阅读次数:
82
封装excel操作代码,提高复用率 整体封装思想阐述: 表内用例格式构建 表头,case_id,title,data,expected 表体,测试用例数据 首先获取表体第一行的数据组成的列表 之后获取由二行开始的所有数据, 之后逐条将表头与数据zip封包,之后转换为字典。 注意点: 从excel中读 ...
分类:
其他好文 时间:
2020-06-26 12:22:05
阅读次数:
58
主从读写分离 其实,大部分系统的访问模型是读多写少,读写请求量的差距可能达到几个数量级,那么这就是我们所说的主从读写分离。 主从复制的原理这里不再阐述,本人博客里有关于Mysql主从的配置文章,当然里面也介绍了原理。 做了主从复制之后,就可以在写入时只写主库,在读数据时只读从库,这样即使写请求会锁表 ...
分类:
数据库 时间:
2020-06-25 21:52:59
阅读次数:
64
外挂、木马、病毒等可能需要读取其他进程的数据,windows提供了OpenProcess、ReadProcessMemory等函数。但越是大型的软件,防护做的越好,大概率会做驱动保护,比如hook SSDT表等,这些系统调用都会先被过滤一次,导致返回的数据不是想要的;为了确保能读到目标进程数据,最好 ...
参考代码 https://github.com/torrvision/Objectness 调试到能运行,花了不少时间,中间读数据集报错这些都能出现的,可怕。 编译成功后,直接运行bing_linux,得到输出 Dataset:`/home/zherlock/Dataset/CV/VOC2007/' ...
分类:
其他好文 时间:
2020-06-21 14:09:40
阅读次数:
56