现在主流的多处理器架构都在硬件水平上提供了对并发同步的支持。 今天我们讨论两个很重要的硬件同步指令:Test-and-Set和Compare-and-Swap ##Test and Set 一个Test-and-Set(TAS)指令包括两个子步骤,把给定的内存地址设置为1,然后返回之前的旧值。 这两 ...
分类:
其他好文 时间:
2020-06-26 10:39:14
阅读次数:
76
1、浅拷贝就是值的复制。对象因为是引用类型,所以它的值就是一个指针。当改变其中一个的时候,另一个也会改变。如下obj把它的指针复制给obj1 ,所以这两个对象指向同一个内存地址。当改变obj1的a属性后,obj的属性a也会发生变化。这就是浅拷贝。 let obj1 = {a:1}; let obj2 ...
分类:
其他好文 时间:
2020-06-26 01:26:14
阅读次数:
59
变量是一种使用方便的占位符,用于引用计算机内存地址。我们可以把变量看做存储数据的容器。TypeScript 变量的命名规则:变量名称可以包含数字和字母。除了下划线 _ 和美元 $ 符号外,不能包含其他特殊字符,包括空格。变量名不能以数字开头。变量使用前必须先声明,我们可以使用 var 来声明变量。我... ...
分类:
其他好文 时间:
2020-06-25 23:33:14
阅读次数:
61
1.可变类型与不可变类型的特点 1.1可变类型 一旦产生就不改变值,变得是内存地址 变量改变,值不变,内存变 1.2不可变类型 变量改变,值改变,内存不变 用 id() 可以查看 变量内存地址 2.可变类型与不可变类型包括哪些 2.1 可变类型包括哪些 set list dictionary 2.2 ...
分类:
其他好文 时间:
2020-06-25 19:23:20
阅读次数:
75
32位下的内存地址分布图如下:1g为内核空间,3g为用户空间 内核空间:内核空间表示运行在处理器最高级别的超级用户模式(supervisor mode)下的代码或数据,内核空间占用从0xC0000000到0xFFFFFFFF的1GB线性地址空间,内核线性地址空间由所有进程共享,但只有运行在内核态的进 ...
分类:
系统相关 时间:
2020-06-23 09:12:53
阅读次数:
99
LPVOID VirtualAlloc( LPVOID lpAddress, //指定内存地址,一般填NULL DWORD dwSize, //分配内存大小 0x1000为1个物理页 DWORD flAllocationType, //分配类型 MEM_COMMIT地址空间和物理页都分 MEM_RE ...
在本节中,我们将学习和使用原型模式;这一节学习的原型模式也是创建型 模式的其中之一。再次复习一下:创建型 模式就是描述如何去更好的创建一个对象。 我们都知道,在JAVA 语言中。使用new 关键字创建一个新对象。将新的对象放到堆内存 里面。当然,这个内存肯定是有大小限制的,况且,JAVA 不同于C语 ...
分类:
编程语言 时间:
2020-06-21 23:29:18
阅读次数:
84
在源代码中设置断点,然后进行点击调试 若要启用反汇编窗口,请在工具>选项(或工具> 选项>调试下,选择启用地址级调试。 若要在调试期间打开反汇编窗口,请选择窗口>反汇编或按 Alt+8 。 除汇编指令外,反汇编窗口还可显示下列可选信息: 每条指令所在的内存地址 对于本机应用程序,它是实际内存地址。 ...
分类:
其他好文 时间:
2020-06-20 16:49:52
阅读次数:
212
在往列表中添加字典时若使用为键赋值的方式,则会出现前面的字典数据被最后一条字典数据覆盖。 l = []data = {}for i in range(1, 3): data['url'] = i + 1 data['method'] = i + 2 l.append(data)print(l)#[{ ...
分类:
其他好文 时间:
2020-06-20 11:20:02
阅读次数:
52
'''Script 核心 语法 引入放在head里 如果要在一个html里写 建议把<script src="JS.js"></script> 放在body的最下面 var定义变量 var a = 1; 加上分号 测试 alert(a) 相当于print console.log(a) documen ...
分类:
编程语言 时间:
2020-06-19 23:12:56
阅读次数:
57