volatile 关键字说明
volatile变量修饰的共享变量进行写操作前会在汇编代码前增加lock前缀:1),将当前处理器缓存行的数据写回到系统内存;2),这个写会内存的操作会使其它cpu缓存该内存地址的数据无效。Java语言volatile关键字可以用一句贴切的话来描述“人皆用之,莫见其形“。理解volatile对理解它对理解Java
Stella981 Stella981
3年前
Python 转化成 PB 格式数据
一、概述ProtocolBuffers是Google公司开发的一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或RPC数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。ProtocolBuffers简称为protobuf或pb,下面
Stella981 Stella981
3年前
MongoDB和Studio3t安装
1\.什么是MongoDBMongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。2\.搭建MongoDB开发环境
Wesley13 Wesley13
3年前
5分钟了解lucene
本文通俗地介绍了Lucene全文检索的内容及工作原理,以及索引的结构,旨在让以前未了解过Lucene的读者在能在短时间内对Lucene有简单认知,未介绍具体代码,读完本文可知道Lucene是什么,有哪些具体应用,我们一直说的索引是什么。Lucene介绍及应用ApacheLucene是当下最为流行的开源全文检索工具包,基于JAVA语言编写
Stella981 Stella981
3年前
HashMap的实现原理
HashMap概述HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。HashMap的数据结构在Java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数
Wesley13 Wesley13
3年前
TarsGo支持Protocol Buffer
Tars是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架TAF(TotalApplicationFramework),目前支持C,Java,PHP,Nodejs,Golang语言。该框架为用户提供了涉及到开发、运维、以及测试的一整套解决方案,帮助一个产品或者服务快速开发、部署、测试、上线。它集可扩展协议编解码、高性能RPC通信框架、名字路
Stella981 Stella981
3年前
Sandboxie沙盘双开器
名称:Sandboxie沙盘双开器版本:V4.07.05大小:1.07MB软件语言:简体中文软件授权:共享版应用平台:win7/winXP/Vista/详细介绍Sandboxie(沙盘双开器)是一款允许你在沙盘环境中运行浏览器或其他程序,因此运行所产生的变化可以随后删除。Sandboxie沙盘可用来消除上网、运行程序的痕迹,也可用来还原收藏
Stella981 Stella981
3年前
FastCGI 不完全高级指南(转载)
作者:zealy一、FastCGI是什么?FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、FailOver特性等等。
Stella981 Stella981
3年前
Linux 字符设备驱动例子
编写好驱动,通过挂载的方法将驱动程序挂载到内核里面,大致步骤如下:一: 1建立以.c为后缀的c语言程序文件(里面包含了设备名及设备号等)   2建立Makefile文件(作用是通过make来产生设备文件\.ko文件,里面可以建立自己的平台所需的设备文件如:arm等).make产生相应的设备文件二:要在/dev下建立
Wesley13 Wesley13
3年前
QML入门教程(一)
QML是什么?QML是一种描述性的脚本语言,文件格式以.qml结尾。语法格式非常像CSS(参考后文具体例子),但又支持javacript形式的编程控制。它结合了QtDesignerUI和QtScript的优点。QtDesigner可以设计出.ui界面文件,但是不支持和Qt原生C代码的交互。QtScript可以和Qt原生代码进行交互,但是有一个缺