Wesley13 Wesley13
3年前
volatile实现可见性但不保证原子性
   volatile关键字:能够保证volatile变量的可见性不能保证volatile变量复合操作的原子性         volatile如何实现内存可见性:        深入来说:通过加入内存屏障和禁止重排序优化来实现的。对volatile变量执行写操作时,会在写操作后加入一条store屏
Wesley13 Wesley13
3年前
ROS 日志消息(C++)
1.日志级别日志消息分为五个不同的严重级别宏,与Android的Log定义的严重级别类似,如下基础宏:ROS_DEBUG_STREAM、ROS_INFO_STREAM、ROS_WARN_STREAM、ROS_ERROR_STREAM、ROS_FATAL_STREAM(按照严重程序级别排序,低到高)C代码:
JDK8到JDK17有哪些吸引人的新特性?
本文主要介绍JDK8到JDk17近200个JEP中比较有价值的新特性(按照价值从高到低排序),这里有一部分特性作者也在线上环境使用过,也会将其中的使用心得分享给大家。
Stella981 Stella981
3年前
Redis 列表(List)
Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)一个列表最多可以包含2321个元素(4294967295,每个列表超过40亿个元素)。实例redis127.0.0.1:6379LPUSHw3ckeyredis(integer)1
Stella981 Stella981
3年前
JavaScript原型深入浅出
不学会怎么处理对象,你在JavaScript道路就就走不了多远。它们几乎是JavaScript编程语言每个方面的基础。事实上,学习如何创建对象可能是你刚开始学习的第一件事。对象是键/值对。创建对象的最常用方法是使用花括号{},并使用点表示法向对象添加属性和方法。letanimal{}animal.name
Stella981 Stella981
3年前
BlockingQueue介绍
几种类型的BlockingQueueArrayBlockingQueue:一个由数组结构组成的有界阻塞队列。LinkedBlockingQueue:一个由链表结构组成的有界阻塞队列。PriorityBlockingQueue:一个支持优先级排序的无界阻塞队列。DelayQueue:一个使用优先级队列实现的无界阻塞队列。Synchro
Wesley13 Wesley13
3年前
JSON 与 JS 对象的关系
很多人搞不清楚JSON和Js对象的关系,甚至连谁是谁都不清楚。简单来说:JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串。如varobj{a:'ni',b:'hao'};//这是一个对象,注意键名也是可以使用引号包裹的
Wesley13 Wesley13
3年前
Mysql Using FileSort问题
阅读更多问题:明明orderby的字段建立了索引,结果还是UsingFileSort?Usingfilesort表示在索引之外,需要额外进行外部的排序动作。导致该问题的原因一般和orderby有者直接关系,一般可以通过合适的索引来减少或者避免。 explainSELECT\FROMtable\_itemWHEREuser\_
Wesley13 Wesley13
3年前
C语言中变量名及函数名的命名规则与驼峰命名法
一、C语言变量名的命名规则:(可以字母,数字,下划线混合使用)1\.只能以字母或下划线开始;2\.不能以数字开始;3\.一般小写;4\.关键字不允许用(eg:intfloat2//error float为保留字不允许用);二、函数名的命名规则
Wesley13 Wesley13
3年前
Java并发编程总结(一)Syncronized解析
Syncronized解析作用:(1)确保线程互斥的访问同步代码(2)保证共享变量的修改能够及时可见(3)有效解决重排序问题。用法:(1)修饰普通方法(锁是当前实例对象)(2)修饰静态方法(锁是当前对象的Class对象)(3)修饰代码块(锁是Synchonized括号里配置的