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年前
java之jvm
1.JVM内存模型_线程独占:栈,本地方法栈,程序计数器线程共享:堆,方法区_回答以上问题是需回答两个要点:1\.各部分功能2\.是否是线程共享2.JMM与内存可见性JMM是定义程序中变量的访问规则,线程对于变量的操作只能在自己的工作内存中进行,而不能直接对主内存操作.由于指令重排序,读写的顺序会被打乱,因此JMM需要
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
Wesley13 Wesley13
3年前
ubuntu 十分钟后提醒我
ubuntu十分钟后提醒我背景非常受用windowsphone上cortana的语音指令:十分钟分钟后叫我起床。一小时后提醒我做XXX。思路ubuntu下语音识别很难搞,只好搞了个命令行的东西来做几分钟后提醒我这样的事情。几分钟后干什么,用程序实现起来很容易。golang的time.after\_func就可以。然
Stella981 Stella981
3年前
Intel Pin
这篇文章主要介绍一下IntelPin在JIT模式和Probe模式下对库换数的替换,以及实现中有哪写需要注意的地方。JIT模式就是对插桩的代码进行即时编译,然后缓存起来使用Probe模式就是在要插桩的函数入口前面插入一条跳转指令,跳转到新的替换函数处执行,不在原来执行代码上进行修改具体的大家可以参考Pin官方手册https://softwa
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)返回地址:在汇编语言中,实际上是某