Wesley13 Wesley13
3年前
java CAS compareAndSet, compareAndSwap 区别
之前看源代码的时候,发现了有两个方法。一个是compareAndSet,一个是compareAndSwap,傻傻分不清这两个到底哪个是CAS呢。我看了java并发编程实战找到了答案。CAS是一种计算机的指令。CAS包含3个操作数,需要读写的内存位置V,进行比较的值A和拟写入的新值B。当且仅当V的值等于A时,C
Wesley13 Wesley13
3年前
java之jvm
1.JVM内存模型_线程独占:栈,本地方法栈,程序计数器线程共享:堆,方法区_回答以上问题是需回答两个要点:1\.各部分功能2\.是否是线程共享2.JMM与内存可见性JMM是定义程序中变量的访问规则,线程对于变量的操作只能在自己的工作内存中进行,而不能直接对主内存操作.由于指令重排序,读写的顺序会被打乱,因此JMM需要
Chase620 Chase620
3年前
推荐7款冷门但是非常值得推荐的windows软件
作为一个软件控,体验了很多冷门但是非常好用的软件。今天小智给大家推荐7款冷门但是非常值得推荐的软件,直接上干货,喜欢的话,记得点赞支持哦。1、RolanRolan是一款轻量级的桌面快速启动工具,可以让你快速启动各种软件和指令,常用软件和分组都可以自定义管理,可以提高你的电脑操作效率和办公效率。(https://imghel
Stella981 Stella981
3年前
ESP8266 wifi模块初次试用
前段时间在淘宝随便搜搜“wifi模块”,竟然眼前一亮发现有一款价格在15元内的wifi模块:ESP8266。对其简单的了解:1.体积小巧,且多种封装,没有一个硬币大。2.价格便宜,十几块钱在wifi模块里面算是最便宜的了。3.提供AT指令,这样就可以使用arduino进行控制,实现互联网数据交互。4.
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年前
ubuntu 十分钟后提醒我
ubuntu十分钟后提醒我背景非常受用windowsphone上cortana的语音指令:十分钟分钟后叫我起床。一小时后提醒我做XXX。思路ubuntu下语音识别很难搞,只好搞了个命令行的东西来做几分钟后提醒我这样的事情。几分钟后干什么,用程序实现起来很容易。golang的time.after\_func就可以。然
Wesley13 Wesley13
3年前
5.关于 CPU 你需要了解的(二)
上一篇对CPU内部结构、CPU指令集、SMP和NUMA这三个方面做了简单介绍,这篇接着对如下两个知识点做介绍。超线程与超频CPU缓存1.超线程和超频很多同学应该听说过超线程这个概念,注意:它与多线程不是一个东西哈。那什么是超线程呢?通常情况下,一个CPU核心同一时刻只能处
Stella981 Stella981
3年前
Golang并发解读
进程与线程概念在面向进程设计的系统中,进程(process)是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。进程是程序(指令和数据)的真正运行实例。用户下达运行程序的命令后,就会产生进程。同一程序可产生多个进程(一对多关系),以允许同时有多位用户运行同一程序,却不会相冲突。线程(th
Stella981 Stella981
3年前
Html5 Canvas画线有毛边解决方法
Html5Canvas所有的画线指令画出来的线条都有毛边(比如lineTo,arcTo,strokeRect),这是因为在Canvas中整数坐标值对应的位置恰巧是屏幕象素点中间的夹缝,那么当按这样的坐标进行线条渲染时所要用到的就是夹缝两边的象素点,这样即便设置了lineWidth为1也将看到两个象素效果的线条,解决方法原象素点0.5进行偏移。下