Wesley13 Wesley13
3年前
java CAS compareAndSet, compareAndSwap 区别
之前看源代码的时候,发现了有两个方法。一个是compareAndSet,一个是compareAndSwap,傻傻分不清这两个到底哪个是CAS呢。我看了java并发编程实战找到了答案。CAS是一种计算机的指令。CAS包含3个操作数,需要读写的内存位置V,进行比较的值A和拟写入的新值B。当且仅当V的值等于A时,C
Wesley13 Wesley13
3年前
java位运算大全
位运算因为是CPU直接支持的操作指令,也是基于二进制的操作,所以具有相当高的效率,在一些场合,合理应用位运算将具有很高的性能。通常在一些加密算法,图型算法中都会使用到位运算。Java位运算符位 运 算 符 用 来 对 二 进制 位 进 行 操 作 ,Java中提 供 了 如 下所 示 的 位 运 算符:位 运 算 符 (>>,<<
Wesley13 Wesley13
3年前
VC++动态链接库(DLL)编程深入浅出(一)
1.概论  先来阐述一下DLL(DynamicLinkableLibrary)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。  静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直
Wesley13 Wesley13
3年前
3、Angular JS 学习笔记 – Controllers [翻译中]
理解控制器在Angular中,一个控制器是一个javascript构造函数用于填充Angular作用域。当一个控制器通过使用ngcontroller指令附加到DOM上的时候,Angular将初始化一个新的Controller对象,使用指定的控制器构造函数。一个新的子作用域将可以作为一个参数$scope被注入到控制器构造函数。控制器用
Stella981 Stella981
3年前
Node
node.js应用程序由如下三部分组成1导入所需模块:使用require指令来加载node.js模块2创建服务器:服务器可以监听客户端请求,类似于apache、nginx等3接收请求与响应请求:接收客户端/浏览器发送过来的请求,将处理得到的数据返回如下是第一个例子//步骤1:导入所需模块//这里我们使用re
Stella981 Stella981
3年前
Intel Pin
这篇文章主要介绍一下IntelPin在JIT模式和Probe模式下对库换数的替换,以及实现中有哪写需要注意的地方。JIT模式就是对插桩的代码进行即时编译,然后缓存起来使用Probe模式就是在要插桩的函数入口前面插入一条跳转指令,跳转到新的替换函数处执行,不在原来执行代码上进行修改具体的大家可以参考Pin官方手册https://softwa
Wesley13 Wesley13
3年前
2014百度校园招聘软件研发类笔试(深圳)
时间:2013年9月28日。地点:深圳职位:软件研发问答题:(10\3)1.动态链接库(DLL)与静态链接库(lib)的优缺点:静态链接库和动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都全部被直接包含在最终的EXE文件中,若使用DLL,该DLL不必被包含在最终的EXE中,EXE文件
Wesley13 Wesley13
3年前
5.关于 CPU 你需要了解的(二)
上一篇对CPU内部结构、CPU指令集、SMP和NUMA这三个方面做了简单介绍,这篇接着对如下两个知识点做介绍。超线程与超频CPU缓存1.超线程和超频很多同学应该听说过超线程这个概念,注意:它与多线程不是一个东西哈。那什么是超线程呢?通常情况下,一个CPU核心同一时刻只能处
Stella981 Stella981
3年前
Golang并发解读
进程与线程概念在面向进程设计的系统中,进程(process)是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。进程是程序(指令和数据)的真正运行实例。用户下达运行程序的命令后,就会产生进程。同一程序可产生多个进程(一对多关系),以允许同时有多位用户运行同一程序,却不会相冲突。线程(th
Wesley13 Wesley13
3年前
2、Linux汇编——函数的工作原理
第四章函数的工作原理1、函数的组成部分    函数主要由以下几个成分组成:函数名、函数参数、局部变量、静态变量、全局变量、返回地址、返回值(1)函数参数及几个变量:这是在逻辑上对函数的涉及到的数据进行规划,实际上当前运行的指令只能通过直接、间接、立即数三种方式访问数据。(2)返回地址:在汇编语言中,实际上是某