baskbull baskbull
4年前
操作系统学习笔记 原来自旋锁还可以这样实现!
在java中我们知道对线程使用CAS(compareandswap)来实现自旋锁,在没有学习操作系统之前,我以为这是唯一一种方法了。但是今天学到了操作系统中的同步互斥,终于明白了原来CAS、TS、Swap这些都是硬件提供的原子操作罢了!不仅CAS可以实现自旋锁,TS(TestandSet)同样可以!临界区临界区进程中访问临界资源的一段需要互斥执行
科工人 科工人
4年前
go的三个运行基本命令的区别,go run ,go build 和 go install
最近在自学go,遇到点基础的问题,通过自己实际操作之后得出结论在实际操作之前,我们需要知道go有三种源码文件:   1,命令源码文件;声明自己属于main包,并且包含main函数的文件,每个项目只能有一个这样的文件,即程序的入口文件   2,库源码文件;不能直接被执行的源码文件   3,测试源码文件本次操作不涉及测试源码文件。gorun
Wesley13 Wesley13
3年前
SQL必知必会——高级数据过滤
1、组合where子句为了进行更强的过滤控制,sql允许给出多个where子句,这些子句有两种使用方式,即以and子句或or子句的方式使用。注意:1、操作符:用来联结或改变where子句中的子句的关键字,也称为逻辑操作符1.1、and操作符检索由供应商DLL01制造且价格小于等于4美元的所有产品的名称和价格;SELECTpro
Elasticsearch Head插件使用小结
ElasticSearchhead就是一款能连接ElasticSearch搜索引擎,并提供可视化的操作页面对ElasticSearch搜索引擎进行各种设置和数据检索功能的管理插件,如在head插件页面编写RESTful接口风格的请求,就可以对ElasticSearch中的数据进行增删改查、创建或者删除索引等操作。类似于使用navicat工具连接MySQL这种关系型数据库,对数据库做操作
Wesley13 Wesley13
3年前
HDFS
一、操作HDFS上的文件有两个命令可以用hdfsdfs:只能操作HDFS上的文件!(https://oscimg.oschina.net/oscnet/023796fdeb216d857e90dd2d266bba0722b.jpg)!(https://oscimg.oschina.ne
Stella981 Stella981
3年前
Linux 文件编程、时间编程基本函数
文件编程  文件描述符fd数字(文件的身份证,代表文件身份),通过fd可找到正在操作或需要打开的文件。基本函数操作:1)打开/创建文件intopen(constcharpathname,intflag,mode_tmode)成功:返回文件的fd失败:返回
Wesley13 Wesley13
3年前
mysql数据过滤
1、AND操作符:select表的字段名from对应的表名where表的字段名AND表的字段名运算符值;例子:selectprod\_id,prod\_price,prod\_namefromproductswhereven\_id1003ANDprod\_price<10;2、OR操作符:sele
Stella981 Stella981
3年前
ReentrantReadWriteLock(读写锁)
ReentrantReadWriteLock是JDK5中提供的读写分离锁。读写分离锁可以有效的帮助减少锁的竞争,以此来提升系统的性能。用锁分离的机制来提升性能也非常好理解,比如线程A,B,C进行写操作,D,E,F进行读操作,如果使用ReentrantLock或者synchronized关键字,这些线程都是串行执行的,即每次都只有一个线程做操作。但是当D进行读
Wesley13 Wesley13
3年前
Ubuntu12.04下建立快捷方式到侧栏或桌面
前段时间刚开始学习linux下的开发,各种不适应,各种错误,各种崩溃……不过也算是熬过来了,现在会在命令行下干很多东西了,文件/文件夹基本操作,软件卸载安装,ROR的程序生成,GIT的操作,Heroku的操作,都可以了,但是vim实在用不习惯,为了赶进度,就装了rubymine,但是,每次进rubymine都要cd然后启动rubymine.sh才行,还是建立
融云IM即时通讯 融云IM即时通讯
7个月前
融云IM干货丨移动端接收Push通知需要哪些技术条件?
移动端接收Push通知需要满足以下技术条件:操作系统和设备支持:设备需要运行支持推送通知的操作系统,如iOS或Android。推送服务:需要一个推送服务,如苹果的APNs(ApplePushNotificationservice)或Google的FCM(F