后端开发2025年08月30日
目录 正文 longAccumulate方法 线程hash值 初始化Cell数组 对base进行累加 Cell数组初始化之后 正文 上篇文章 Java并发编程之LongAdder源码(一)中最后写到了有三种情况会执行longAccumulate方法,下面就根据这三种情况来进行分析 当Cell数组为null时,传入的三个参数为1,null,true 随机找到...
后端开发2025年08月29日
目录 前言 源码简介 前言 上一篇文章 Java并发编程之原子类(二)中介绍了LongAdder常用的方法,今天我们根据源码来分析一下它的基本实现流程。 This class is usually preferable to AtomicLong when multiple threads update a common sum that is used ...
后端开发2025年08月29日
目录 原子数组 AtomicIntegerArray 原子更新器 AtomicIntegerFieldUpdater 原子累加器 LongAdder 原子数组 原子数组有AtomicIntegerArray、AtomicLongArray、AtomicReferenceArray,主要是用来对数组中的某个元素进行原子操作。三个类的方法基本类似,这里只介绍一...
服务器2025年08月28日
Framebuffer 应用编程 Frame的意思是帧,buffer的意思是缓冲区。Framebuffer就是一块内存(硬件设备),里面保存着一帧图像。 ioctl()函数解析 ioctl()函数非常强大。不同的驱动程序内部会实现不同的 ioctl() ,可以使用各种 ioctl() 跟驱动程序交互:可以传数据给驱动程序,也可以从驱 动程序中读出数据。 头文...
服务器2025年08月26日
写在前面 在开发的过程中,大多数人都需要对代码进行测试。目前对于c/c++项目,可以采用google的gtest框架,除此之外在github上搜索之后可以发现很多其他类似功能的项目。但把别人的轮子直接拿来用,终究比不过自己造一个同样功能的轮子更有成就感。作为“linux环境编程”系列文章的第一篇,本篇文章记录了如何用较少的代码实现一个可用的单元测试框架,这个...
后端开发2025年08月17日
目录 线程安全性 死锁 定义 实现一个死锁 查看死锁 解决死锁 其他线程安全问题 单例模式 线程安全性 线程安全是指我们所写的代码在并发情况下使用时,总是能表现出正确的行为;反之,未实现线程安全的代码,表现的行为是不可预知的,有可能正确, 实现线程安全的方式: 线程封闭 就是把对象封装到一个线程里,只有这一个线程能看到此对象。实现线程封闭的方式如下: 栈封...
后端开发2025年07月27日
我们知道顶级域,定义域的self是啥? puts self #main puts self.class #Object 我们知道当一个方法被调用的时候,如果没有对象接受,默认就是self,如: def tell_me_who puts self end tell_me_who #main 方法调用是这样的步骤,先查找当前对象的所在类的实例方法存在方法与否,...
后端开发2025年07月14日
...
后端开发2025年06月27日
对于初学者来说,一种语言的编程规范是非常重要的,在看《Programming Ruby》时,发现里面讲的规范很不错,但一直懒于整理出来,幸亏有大侠慷慨分享,在这里也分享给大家。Ruby编程规范(CN) ...
前端开发2025年06月15日
刚开始用 Panel 试了试 发现会自动加个div 很讨厌。。 最后用的 Repeater 做的,主要原理就是 页面放个 Repeater,然后手工建立一个table表,建立一条记录,然后让Repeater绑定这个数据,然后渲染这个Html,得到他,然后牛能对他进行编程了,然后把这个Repeater进行隐藏。。 下面把代码放上来,代码不高深,关键在思路~~...