Wesley13 Wesley13
3年前
java CAS compareAndSet, compareAndSwap 区别
之前看源代码的时候,发现了有两个方法。一个是compareAndSet,一个是compareAndSwap,傻傻分不清这两个到底哪个是CAS呢。我看了java并发编程实战找到了答案。CAS是一种计算机的指令。CAS包含3个操作数,需要读写的内存位置V,进行比较的值A和拟写入的新值B。当且仅当V的值等于A时,C
Wesley13 Wesley13
3年前
TARS染色日志 | 收集记录特定日志
!(https://oscimg.oschina.net/oscnet/06c3e1f1e2f04d5cb930b5d82cc80930.gif)记日志可以说是程序猿日常开发中的家常便饭了。在日常业务场景中,经常需要分析特定用户的日志,一般的日志记录方式很难满足需求,有什么解决办法呢?TARS框架中包含染色日志的功能,能够记录特定用户的日志
Stella981 Stella981
3年前
Redis+Lua——他叫了外援
    Redis从2.6版本开始引入对Lua脚本的支持,通过在Redis服务器中嵌入Lua环境,Redis客户端可以使用Lua脚本,直接在服务端原子的执行多个Redis命令。Lua    Lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。为
Wesley13 Wesley13
3年前
ubuntu18.04环境下为UR3配置MoveIt!运动学插件IKFAST(二)
前言昨天已经将OpenRAVE配置好了,接下来就是配置IKFast插件了。ikfast,机器人运动学的编译器,在RosenDiankovOpenRAVE运动规划软件提供,是一个强大的逆运动学求解器。不像大多数的逆运动学求解,ikfast可以求解任意复杂运动链的运动学方程,并产生特定语言的文件(如C)后供使用。最终的结果是非常稳定的解决方
Stella981 Stella981
3年前
Redis系列1
本文只讲有关于在 WindowsC中使用Redis所需要用到的资源,不涉及在C中使用Redis的编程示例,整体过程我把它分为三个步骤,并按标题的顺序逐一实现。1、下载并安装Redis服务需要先下载Redis服务,并安装于操作系统中,安装步骤和安装其它的Windows程序一样,这里就不花多余的花篇幅讲了。根据自身操作系统下载适用的
Wesley13 Wesley13
3年前
Oracle 数据库勒索病毒 RushQL 处理办法
Oracle数据库勒索病毒RushQL处理办法办法来自Oracle官方:https://blogs.oracle.com/cnsupport\_news/%E5%AF%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E2%80%9C%E6%AF%94%E7%89%B9%E5%B8%81%E6%94%BB%E5%8
Wesley13 Wesley13
3年前
DELL 服务器内存插槽正确插法
!(https://oscimg.oschina.net/oscnet/d5a0ed3c93430e04affbf0cd79a4f956363.jpg)系统包含24个内存插槽,分为两组(每组12个),每个处理器一组。每个12插槽组分入四个通道。在每个通道中,第一个插槽的释放拉杆以白色标记,第二个插槽的释放拉杆为黑色,第三个插槽的释放拉杆标为绿色(
Stella981 Stella981
3年前
Irrlicht以及我的毕业设计
鬼火引擎因为临近毕业,毕业设计报的是一个3D有关一个设计,又因为平时都是在Linux上开发工作所以选了用C实现的一个比较轻量级引擎。鬼火引擎学习成本不大,不过因为涉及不到高级操作,至于直接写矩阵变换,shader就比较困难了。引擎大部分代码结构都比较统一,可以看到关于场景的创建绘制都在SceneManager中,关于显存资源的管
Stella981 Stella981
3年前
JVM(四)JVM的双亲委派模型
1、两种不同的类加载器  从JAVA虚拟机的角度来讲,只存在两种不同的类加载器:一种是启动类加载器(BootstrapClassLoader),这个类加载器使用C语言实现,是虚拟机自身的一部分;另一种就是所有其他的类加载器,这些加载器都由Java语言实现,独立于虚拟机外部,并且全都继承自抽象类java,lang.ClassLoader。
Stella981 Stella981
3年前
Linux 内核链表 list.h 的使用
C语言本身并不自带集合(Collection)工具,当我们需要把结构体(struct)实例串联起来时,就需要在结构体内声明指向下一实例的指针,构成所谓的“链表”。而为了实现对链表的操作,我们需要另外实现一系列的函数,例如添加、删除、搜索、复制等等。而利用Kernel源代码中自带的list.h,则可以方便地实现任意类型结构体的串联。编程需求