1)Java 中能创建 volatile 数组吗? 能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组。我的意思是,如果改变引用指向的数组,将会受到 volatile 的保护,但是如果多个线程同时改变数组的元素,volatile 标示符就不能起到之前的保 ...
分类:
编程语言 时间:
2016-12-01 11:51:03
阅读次数:
269
首先说说这篇文章要解决什么问题?
1.虚拟内存与内存映射文件的区别与联系.
2.内存映射文件的原理.
3.内存映射文件的效率.
4.传统IO和内存映射效率对比.虚拟内存与内存映射文件的区别与...
分类:
其他好文 时间:
2016-11-28 01:20:14
阅读次数:
219
简介 所有的io设备都可以被分为流设备和块设备,块设备指的是把数据打包成块进行传输,传输基本单位为块,传输过程中需要缓冲区(buffer)支持,当然,读写也是以块作为基本单位.对于流设备(也称为字符设备),传输过程是以字节流形式进行的,这样的设备是不需要缓冲机制的. 块和流 区别: 在操作系统和应用 ...
分类:
其他好文 时间:
2016-11-20 13:55:48
阅读次数:
243
本文通过创建文件内存映射类,学习windows内存映射相关知识;创建内存映射文件后,可以按照内存操作方式操作文件 ...
NIO 面向流的IO体系一次只能处理一个字节/字符,效率低,且在数据源中没有数据时会阻塞线程。Java-4提供的新API,Non-blocking IO(New IO,面向块的IO体系)为所有的原始类型提供Buffer缓存支持。采用内存映射文件的方式处理输入输出,将文件或文件的一段区域映射到内存中, ...
分类:
编程语言 时间:
2016-10-27 01:17:56
阅读次数:
178
全面分析游戏防止多开的原理,与游戏实现多开的方法。进程隐藏,窗口标题修改,端口隐藏,多个游戏目录,多个操作系统账号,互斥体,内存映射文件,DLL全局共享等方法实现游戏多开。研究游戏多开已经有一年多的时间了,其实要实现游戏多开也不是一件很难的事情,只要大家懂得游戏防止多开的原理,然后根据其对应游戏多开 ...
分类:
其他好文 时间:
2016-09-10 23:36:03
阅读次数:
166
1. 介绍
Boost.Interprocess库简化了使用通用的进程间通信和同步机制。并且提供这些机制的部件:
* 共享内存
* 内存映射文件
* 信号量,互斥量,条件变量和可升级的互斥量类型,该类型可以放入共享内存和内存映射文件中
* 命名版本的同步对象
* 文件锁
* 相对指针
* 消息队列
Boost.Interprocess还提供了更高级的进程间机制...
分类:
系统相关 时间:
2016-07-15 11:06:13
阅读次数:
231
Virut分析 0x00、综合描述 virut样本的执行过程大体可以分为六步:第一步,解密数据代码,并调用解密后的代码;第二步,通过互斥体判断系统环境,解密病毒代码并执行;第三步,创建内存映射文件,执行内存映射文件代码;第四步,遍历进程列表除前4个进程外其他进程全注入代码,挂钩七个函数;第五步,向注 ...
分类:
其他好文 时间:
2016-06-24 22:07:09
阅读次数:
266
HANDLE hMapFile=NULL; LPBYTE lpMapAddress=NULL; 1.创建命名文件映射对象 hMapFile = CreateFileMapping(INVALID_HANDLE_VALUE,//创建内存映射文件(不使用磁盘文件) NULL, PA... ...
分类:
移动开发 时间:
2016-05-14 00:59:35
阅读次数:
244
内存映射文件传统的文件I/O是通过用户进程发布read()和write()系统调用来传输数据的。为了在内核空间的文件系统页与用户空间的内存区之间移动数据,一次以上的拷贝操作几乎总是免不了的。这是因为,在文件系统页与用户缓冲区之间往往没有一一对应关系。但是,还有一种大多数操..
分类:
编程语言 时间:
2016-04-19 00:48:28
阅读次数:
205