- 【23秋招c++后端面试技术突围】Linux基础组件之无锁消息队列ypipe/yqueue详解
Linux后台开发狮
面试c++java
CAS定义比较并交换(compareandswap,CAS),是原子操作的一种,可用于在多线程编程中实现不被打断的数据交换操作,从而避免多线程同时改写某一数据时由于执行顺序不确定性以及中断的不可预知性产生的数据不一致问题。该操作通过将内存中的值与指定数据进行比较,当数值一样时将内存中的数据替换为新值。boolCAS(int*pAddr,intnExpected,intnNew)atomically
- 文件管理
习惯了_就好
/*写入文件*///NSString*str=@"要写入文件中的内容";//NSError*error;//BOOLisWriteSuccess=[strwriteToFile:@"/Users/song/Desktop/abc.txt"atomically:YESencoding:NSUTF8StringEncodingerror:&error];//if(isWriteSuccess){//N
- plist 在oc中的使用
引擎雪
一、plist文件可以可入NSString,NSDictionaryNSArray1.写入到plist中NSString*str=@"写入plist";NSError*error;//writeToFile:后面的文件路径必须是绝对路径[strwriteToFile:@"/Users/apple/Desktop/test.plist"atomically:YESencoding:NSUTF8Str
- ios最牛逼的保存数据的方式
yuguang1
1、使用writeToFile:atomically:方法(1)该方法是一次性向文件中写入内容,本次写入会覆盖文件中原来的内容。(2)方法解析:使用要存储的数据对象调用该方法,该方法有两个参数:para1:要写入的路径(目标文件路径)para2:BOOL型。若为no,则直接写入目标文件路径;若为yes,则先写到一个临时的文件中,然后重命名后移至目标路径中,这样若在写入过程中出现了系统崩溃等问题,可
- 数据库事务管理
contact97
java学习笔记数据库开发后端
1什么事务事务是由N步数据库操作序列组成的逻辑执行单元,这系列操作要么全部执行,要么全部放弃执行2事务的特性原子性(Atomically):事务是应用中不可再分的最小执行体一致性(Consistency):执行的结果需使得数据从一个一致性状态变为另一个一致性的状态隔离性(Isolation):各个事务的执行互不干扰,任何事物的内部操作对其他事务都是隔离的持久性(Durability):事务一旦提交
- NSDictionary+JSON - iOS
survivorsfyh
日常开发中常用的一个相互转换的方法;直接创建对应的类,引用如下方法即可实现;具体code如下:声明:#import@interfaceNSDictionary(JSON)-(NSString*)jsonString;-(void)writeToJsonFile:(NSString*)pathatomically:(BOOL)atomically;+(NSDictionary*)dictionary
- 你真的了解synchronized和volatile吗?
java字节码原理
原文来自于:公众号三不猴子什么是cas?cas:compareandswap比较然后交换,它在没有锁的状态下可以保证多线程的对值得更新。我们可以看一下在jdk中对cas的应用:/** * Atomically increments by one the current value. * * @return the updated value */public final int increment
- Swift 3.0 新特性
Jniying
1.所有函数参数都有标签names.indexOf("Taylor")names.index(of:"Taylor")"Taylor".writeToFile("filename",atomically:true,encoding:NSUTF8StringEncoding)"Taylor".write(toFile:"somefile",atomically:true,encoding:Strin
- 保存自定义对象数组、字典到文件
不舍
在ios中,要保存普通的数组到文件可以直接调用-wirteToFile:atomically:方法写入,并且可以通过NSArray的方法-initWithContentOfFile:来读文件初始化数组。然而,当要保存的数组中存储的数据对象是自定义对象时,就得通过对象归档的方法来实现了,具体来说一、自定义对象实现归档协议,并实现方法-(id)initWithCoder:和方法-(void)encod
- iOS中几种数据永久存储方式
零度_不结冰
iOS中数据存储方式有以下几种:(1)、writeToFile:atomically:(2)、NSUserDefaults(3)、NSKeyedAchiever(4)、使用数据库存储SQLite3(该方式见后续文章)工具/原料*X-Code、Mac方法/步骤*1、使用writeToFile:atomically:方法(1)该方法是一次性向文件中写入内容,本次写入会覆盖文件中原来的内容。(2)方法解
- 将plist文件写入桌面
ios_stand
发送请求,后台返回数据时,将plist写入桌面,方便分析模型;[responseObjectwriteToFile:@"/Users/songwenlong/Desktop/aaa.plist"atomically:YES];
- 字典或数组writeToFile写入不成功原因及解决方式
AnnieAri
当使用字典或者数组写入writeToFile:@"xx/xx.plist"atomically:true];返回值为NO一般有两个原因:1.要写入的文件夹没有写入权限.2.集合内不能存储自定义对象,也不能是null.Ifanarrayordictionarycontainsobjectsthatarenotproperty-listobjects,thenyoucannotsaveandresto
- 数据持久化的方法
ios践行者
UIiOS
属性列表属性列表是一种XML格式的文件,拓展名为plist如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,就可以使用writeToFile:atomically:方法直接将对象写到属性列表文件中读取方法ContentsOfFile偏好设置NSUserDefaults一定要设置数据的持久化[defaultssynchornize];//单例
- plist文件
看不见的城市
IOS高级
ios开发中经常会用到plist文件,其实就是xml文件,只是扩展名为.plist,NSArray或NSDictionary对象可以使用writeToFile:atomically:方法直接写入到Plist文件,可以将Plist文件内容直接加载至NSArray或NSDictionary,而无需XML解析!保存plist文件NSArray*document=NSSearchPathForDirect
- Redis中的批量删除数据库中的Key
weixin_34204057
本文参考:http://blog.csdn.net/spring21st/article/details/15771861http://stackoverflow.com/questions/5756067/how-to-empty-a-redis-databasehttp://stackoverflow.com/questions/4006324/how-to-atomically-delete
- 数据
MakeThatChange
1.归档:把对象转成NSData唯一方式NSCoding协议NSData*data=[NSKeyedArchiverarchivedDataWithRootObject:self.Myview];[datawriteToFile:@"/Users/tao-pc/Desktop/name.arch"atomically:YES];反归档:把data转回对象NSData*data=[NSDatadat
- mysql更新大数据表的字段
清风2556
mysql
mysql命令重命名表RENAMETABLE句法mysql命令重命名表RENAMETABLE句法RENAMETABLEtbl_nameTOnew_tbl_name[,tbl_name2TOnew_tbl_name2,...]更名是以原子方式(atomically)执行,这就意味着,当更名正在运行时,其它的任何线程均不能该表。这使得以一个空表替换一个表成为可能。CREATETABLEnew_tabl
- iOS往文件写数据的三种方法
BianHuanShiZhe
iOS
1直接通过将data加入到目标文件的方法[self.mutableDatawriteToFile:@"/Users/Apple/Desktop/text.hm"atomically:YES];2通过文件输出流的方式@property(nonatomic,strong)NSOutputStream*stream;首先根据给出的路径初始化输出流//创建流self.stream=[NSOutputStr
- Objective-C学习笔记-使用NSString与NSData读写文件
土豆吞噬者
Objective-C
1.NSString读写文件NSString*helloText=@"您好啊!";NSError*error;if([helloTextwriteToFile:@"/tmp/test.txt"atomically:trueencoding:NSUTF8StringEncodingerror:&error]){NSLog(@"writeToFilesuccess");}else{NSLog(@"wr
- atomically
执着的小蛋挞
在writeToFile方法中atomically,参数值为BOOL类型,用于通知是否应该首先将文件内容保存在临时文件夹中,当文件成功保存后,再将该临时文件和原始文件交换。这是一种安全机制,如果在保存过程中出现意外,不会破坏原始文件,但这种安全机制会付出一定的代价,在保存过程中,由于原始文件仍然保存在磁盘中,所以需要使用双倍的空间。除非保存的文件非常大,将会占用用户硬盘的空间,否则应该自动保存文件
- NSData
lanmoyingsheng
//letimage=UIImage.imageViewColor(color:UIColor.lightGray)//letdata:NSData=UIImagePNGRepresentation(image)!asNSData//data.write(toFile:"/Users/luopengfei/Desktop/lightgray.png",atomically:true)
- iOS writeToFile:atomically: 保存数据的一个莫名错误
saintPN
相信大家都知道像数据或者字典这些有一个保存到本地的方法:writeToFile:atomically:,只要保证里面的数据都是OC里的对象。例如:array、dictionary、nsdate这些的话就可以正常保存,嗯,至少根据官方文档的说法是这样的。可问题是我在writeToFile:fileNameatomically:保存字典的时候一直就保存不了,里面的数据对象都是OC框架的,用nsnumb
- iOS_数据存储
ben_speed
PList(XML属性列表)属性列表是一种XML格式的文件,扩展名为plist。如果对象时NSArray、NSDictionnary类型,可以使用writeToFile:atomically:方法直接写入到属性列表文件;如果对象时NSString、NSData类型,可以使用writeToFile:atomically:方法写入对应的文件。atomically(写入原子性)YES:先创建一个临时文件
- plist数据存取
solozyx
属性列表是一种XML格式的文件,拓展名为plist如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型就可以使用writeToFile:atomically:方法直接将对象写到属性列表文件中//NSUserDomainMask在用户目录下查找//YES代表用户目录的~展开//NSDocumentDirectory查找Documents文件夹//
- 【iOS】Swift3中的一些变化
博行天下
//第一句是Swift2语法,第二句是Swift3语法"mystring".writeToFile("filename.txt",atomically:true,encoding:NSUTF8StringEncoding)"mystring".write(toFile:"filename.txt",atomically:true,encoding:NSUTF8StringEncoding)UIFo
- iOS读写文件
少年_如他
iOS中读写文件iOS提供了两种方法对文件进行写入,针对NSData、NSDictionary等都提供了此方法,有Apple官方文档可查-(BOOL)writeToFile:(NSString*)pathatomically:(BOOL)flag-(BOOL)writeToURL:(NSURL*)aURLatomically:(BOOL)atomically对这两种方法的区别,我指的是File和U
- OC语言day08-06NSArray文件读写
liyuhong165
pragmamarkNSArray文件读写pragmamark概念pragmamark代码#import#pragmamark类#import"Person.h"#pragmamarkmain函数intmain(intargc,constchar*argv[]){#pragmamark将数组写到文件当中#warning1.将数组写到文件中(writeToFile:atomically)NSArra
- plist文件的生成
纳木错_grace
一、通过数组生成plist文件NSArray*arr=@[@"hello",@1,@4,@{@"one":@1}];//参数2:YES表示会先将数据放入缓存,然后再写入文件;NO表示直接将数据写入文件BOOLret=[arrwriteToFile:@"文件路径/arr.plist"atomically:YES];if(ret){NSLog(@"success");}else{NSLog(@"fai
- iOS中常见的数据数据存储方式及特点
forvert
iOS中常见的数据数据存储方式及特点方式一:XML属性列表(plist)归档属性列表是一种XML格式的文件,拓展名为plist如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,就可以使用writeToFile:atomically:方法直接将对象写到属性列表文件.方式一:Preference(偏好设置)本质还是通过“plist”来存储数据,
- iOS数据存储-plist(plist存储)
翻这个墙
属性列表(plist)plist的文件名不能叫做“info”、“Info”之类的,这是因为与系统属性文件重名属性列表是一种XML格式的文件,拓展名为plist如果对象是NSString、NSDictionary、NSArray、NSData、NSNumber等类型,就可以使用writeToFile:atomically:方法直接将对象写到属性列表文件中Plist不能存储自定义对象成功后会写入到Do
- 关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题
何必如此
jsp超链接文件下载窗口
生成下载页面是需要选择“录入提交页面”,生成之后默认的下载页面<a>标签超链接为:<a href="<%=root_stimage%>stimage/image.jsp?filename=<%=strfile234%>&attachname=<%=java.net.URLEncoder.encode(file234filesourc
- 【Spark九十八】Standalone Cluster Mode下的资源调度源代码分析
bit1129
cluster
在分析源代码之前,首先对Standalone Cluster Mode的资源调度有一个基本的认识:
首先,运行一个Application需要Driver进程和一组Executor进程。在Standalone Cluster Mode下,Driver和Executor都是在Master的监护下给Worker发消息创建(Driver进程和Executor进程都需要分配内存和CPU,这就需要Maste
- linux上独立安装部署spark
daizj
linux安装spark1.4部署
下面讲一下linux上安装spark,以 Standalone Mode 安装
1)首先安装JDK
下载JDK:jdk-7u79-linux-x64.tar.gz ,版本是1.7以上都行,解压 tar -zxvf jdk-7u79-linux-x64.tar.gz
然后配置 ~/.bashrc&nb
- Java 字节码之解析一
周凡杨
java字节码javap
一: Java 字节代码的组织形式
类文件 {
OxCAFEBABE ,小版本号,大版本号,常量池大小,常量池数组,访问控制标记,当前类信息,父类信息,实现的接口个数,实现的接口信息数组,域个数,域信息数组,方法个数,方法信息数组,属性个数,属性信息数组
}
&nbs
- java各种小工具代码
g21121
java
1.数组转换成List
import java.util.Arrays;
Arrays.asList(Object[] obj); 2.判断一个String型是否有值
import org.springframework.util.StringUtils;
if (StringUtils.hasText(str)) 3.判断一个List是否有值
import org.spring
- 加快FineReport报表设计的几个心得体会
老A不折腾
finereport
一、从远程服务器大批量取数进行表样设计时,最好按“列顺序”取一个“空的SQL语句”,这样可提高设计速度。否则每次设计时模板均要从远程读取数据,速度相当慢!!
二、找一个富文本编辑软件(如NOTEPAD+)编辑SQL语句,这样会很好地检查语法。有时候带参数较多检查语法复杂时,结合FineReport中生成的日志,再找一个第三方数据库访问软件(如PL/SQL)进行数据检索,可以很快定位语法错误。
- mysql linux启动与停止
墙头上一根草
如何启动/停止/重启MySQL一、启动方式1、使用 service 启动:service mysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start3、使用 safe_mysqld 启动:safe_mysqld&二、停止1、使用 service 启动:service mysqld stop2、使用 mysqld 脚本启动:/etc/inin
- Spring中事务管理浅谈
aijuans
spring事务管理
Spring中事务管理浅谈
By Tony Jiang@2012-1-20 Spring中对事务的声明式管理
拿一个XML举例
[html]
view plain
copy
print
?
<?xml version="1.0" encoding="UTF-8"?>&nb
- php中隐形字符65279(utf-8的BOM头)问题
alxw4616
php中隐形字符65279(utf-8的BOM头)问题
今天遇到一个问题. php输出JSON 前端在解析时发生问题:parsererror.
调试:
1.仔细对比字符串发现字符串拼写正确.怀疑是 非打印字符的问题.
2.逐一将字符串还原为unicode编码. 发现在字符串头的位置出现了一个 65279的非打印字符.
 
- 调用对象是否需要传递对象(初学者一定要注意这个问题)
百合不是茶
对象的传递与调用技巧
类和对象的简单的复习,在做项目的过程中有时候不知道怎样来调用类创建的对象,简单的几个类可以看清楚,一般在项目中创建十几个类往往就不知道怎么来看
为了以后能够看清楚,现在来回顾一下类和对象的创建,对象的调用和传递(前面写过一篇)
类和对象的基础概念:
JAVA中万事万物都是类 类有字段(属性),方法,嵌套类和嵌套接
- JDK1.5 AtomicLong实例
bijian1013
javathreadjava多线程AtomicLong
JDK1.5 AtomicLong实例
类 AtomicLong
可以用原子方式更新的 long 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicLong 可用在应用程序中(如以原子方式增加的序列号),并且不能用于替换 Long。但是,此类确实扩展了 Number,允许那些处理基于数字类的工具和实用工具进行统一访问。
 
- 自定义的RPC的Java实现
bijian1013
javarpc
网上看到纯java实现的RPC,很不错。
RPC的全名Remote Process Call,即远程过程调用。使用RPC,可以像使用本地的程序一样使用远程服务器上的程序。下面是一个简单的RPC 调用实例,从中可以看到RPC如何
- 【RPC框架Hessian一】Hessian RPC Hello World
bit1129
Hello world
什么是Hessian
The Hessian binary web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols. Because it is a binary p
- 【Spark九十五】Spark Shell操作Spark SQL
bit1129
shell
在Spark Shell上,通过创建HiveContext可以直接进行Hive操作
1. 操作Hive中已存在的表
[hadoop@hadoop bin]$ ./spark-shell
Spark assembly has been built with Hive, including Datanucleus jars on classpath
Welcom
- F5 往header加入客户端的ip
ronin47
when HTTP_RESPONSE {if {[HTTP::is_redirect]}{ HTTP::header replace Location [string map {:port/ /} [HTTP::header value Location]]HTTP::header replace Lo
- java-61-在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差. 求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5,
bylijinnan
java
思路来自:
http://zhedahht.blog.163.com/blog/static/2541117420116135376632/
写了个java版的
public class GreatestLeftRightDiff {
/**
* Q61.在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差。
* 求所有数对之差的最大值。例如在数组
- mongoDB 索引
开窍的石头
mongoDB索引
在这一节中我们讲讲在mongo中如何创建索引
得到当前查询的索引信息
db.user.find(_id:12).explain();
cursor: basicCoursor 指的是没有索引
&
- [硬件和系统]迎峰度夏
comsci
系统
从这几天的气温来看,今年夏天的高温天气可能会维持在一个比较长的时间内
所以,从现在开始准备渡过炎热的夏天。。。。
每间房屋要有一个落地电风扇,一个空调(空调的功率和房间的面积有密切的关系)
坐的,躺的地方要有凉垫,床上要有凉席
电脑的机箱
- 基于ThinkPHP开发的公司官网
cuiyadll
行业系统
后端基于ThinkPHP,前端基于jQuery和BootstrapCo.MZ 企业系统
轻量级企业网站管理系统
运行环境:PHP5.3+, MySQL5.0
系统预览
系统下载:http://www.tecmz.com
预览地址:http://co.tecmz.com
各种设备自适应
响应式的网站设计能够对用户产生友好度,并且对于
- Transaction and redelivery in JMS (JMS的事务和失败消息重发机制)
darrenzhu
jms事务承认MQacknowledge
JMS Message Delivery Reliability and Acknowledgement Patterns
http://wso2.com/library/articles/2013/01/jms-message-delivery-reliability-acknowledgement-patterns/
Transaction and redelivery in
- Centos添加硬盘完全教程
dcj3sjt126com
linuxcentoshardware
Linux的硬盘识别:
sda 表示第1块SCSI硬盘
hda 表示第1块IDE硬盘
scd0 表示第1个USB光驱
一般使用“fdisk -l”命
- yii2 restful web服务路由
dcj3sjt126com
PHPyii2
路由
随着资源和控制器类准备,您可以使用URL如 http://localhost/index.php?r=user/create访问资源,类似于你可以用正常的Web应用程序做法。
在实践中,你通常要用美观的URL并采取有优势的HTTP动词。 例如,请求POST /users意味着访问user/create动作。 这可以很容易地通过配置urlManager应用程序组件来完成 如下所示
- MongoDB查询(4)——游标和分页[八]
eksliang
mongodbMongoDB游标MongoDB深分页
转载请出自出处:http://eksliang.iteye.com/blog/2177567 一、游标
数据库使用游标返回find的执行结果。客户端对游标的实现通常能够对最终结果进行有效控制,从shell中定义一个游标非常简单,就是将查询结果分配给一个变量(用var声明的变量就是局部变量),便创建了一个游标,如下所示:
> var
- Activity的四种启动模式和onNewIntent()
gundumw100
android
Android中Activity启动模式详解
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。
Android总Activity的启动模式分为四种:
Activity启动模式设置:
<acti
- 攻城狮送女友的CSS3生日蛋糕
ini
htmlWebhtml5csscss3
在线预览:http://keleyi.com/keleyi/phtml/html5/29.htm
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>攻城狮送女友的CSS3生日蛋糕-柯乐义<
- 读源码学Servlet(1)GenericServlet 源码分析
jzinfo
tomcatWebservlet网络应用网络协议
Servlet API的核心就是javax.servlet.Servlet接口,所有的Servlet 类(抽象的或者自己写的)都必须实现这个接口。在Servlet接口中定义了5个方法,其中有3个方法是由Servlet 容器在Servlet的生命周期的不同阶段来调用的特定方法。
先看javax.servlet.servlet接口源码:
package
- JAVA进阶:VO(DTO)与PO(DAO)之间的转换
snoopy7713
javaVOHibernatepo
PO即 Persistence Object VO即 Value Object
VO和PO的主要区别在于: VO是独立的Java Object。 PO是由Hibernate纳入其实体容器(Entity Map)的对象,它代表了与数据库中某条记录对应的Hibernate实体,PO的变化在事务提交时将反应到实际数据库中。
实际上,这个VO被用作Data Transfer
- mongodb group by date 聚合查询日期 统计每天数据(信息量)
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
/* 1 */
{
"_id" : ObjectId("557ac1e2153c43c320393d9d"),
"msgType" : "text",
"sendTime" : ISODate("2015-06-12T11:26:26.000Z")
- java之18天 常用的类(一)
Luob.
MathDateSystemRuntimeRundom
System类
import java.util.Properties;
/**
* System:
* out:标准输出,默认是控制台
* in:标准输入,默认是键盘
*
* 描述系统的一些信息
* 获取系统的属性信息:Properties getProperties();
*
*
*
*/
public class Sy
- maven
wuai
maven
1、安装maven:解压缩、添加M2_HOME、添加环境变量path
2、创建maven_home文件夹,创建项目mvn_ch01,在其下面建立src、pom.xml,在src下面简历main、test、main下面建立java文件夹
3、编写类,在java文件夹下面依照类的包逐层创建文件夹,将此类放入最后一级文件夹
4、进入mvn_ch01
4.1、mvn compile ,执行后会在