- 数据结构与算法(十一) 排序算法一
ぃ扶摇ぅ
排序算法算法数据结构
intnArray[]={8,5,3,2,7};如下一个数组,现对其进行从小到大排序选择排序选择排序:将小的依次放在前面具象化如下:voidswap(int*nSValue,int*nDValue)交换函数{intnTempValue=0;nTempValue=*nSValue;*nSValue=*nDValue;*nDValue=nTempValue;}voidselectSort(int*pA
- 怎样使用performSelector传入3个以上参数,其中一个为结构体。
natewang
多参数可组装为字典。结构体可封装为NSValue进行传递。NSValue*value=[NSValuevalueWithBytes:&testSobjCType:@encode(testStrout)];
- 4.3 KVC/KVO —— KVC的实现原理,如何避免产生崩溃
哈库呐玛塔塔__
?xmlversion="1.0"encoding="UTF-8"?KVC中最常见的异常就是不小心使用了错误的Key,或者在设值中不小心传递了nil的值因为KVC传递进去的值和取出来的值都是id类型,取值时KVC为结构体和变量类型是值类型的都会被封装为NSNumber或者NSValue返回回来,但是设置值的时候就需要自己去做这个转换了,也就是说开发者需要自己担保类型的正确性,运行时OC会在发送消息
- 03--KVC/KVO本质04--KVC 注意事项
修_远
总结KVC使用的一些注意事项KVC注意事项KVC自动转换类型使用string存基本类型,系统会存为__NSCFNumber[personsetValue:@"20"forKey:@"age"];结构体类型的值,系统会存为NSConcreteValue设置空值重写setNilValueForKey方法给NSNumber和NSValue类型的属性设置空值时,会走上面的方法其他类型不走这个方法找不到的k
- Block、Protocol、结构体、NSString、NSArray、NSFileManager、NSSet、NSDictionary、NSNumber、NSDate、NSValue
Andy_Livings
收集Block、Protocol、结构体、NSString、NSArray、NSFileManager、NSSet、NSDictionary、NSNumber、NSDate、NSValue等的基本用法。Blockblock要掌握的东西1>如何定义block变量int(^sumBlock)(int,int);void(^myBlock)();2>如何利用block封装代码^(inta,intb){r
- iOS Socket练习
我不白先生
1.创建两个工程一个是服务器一个是客户端2.在服务器端写好服务器接收数据的代码(监听端口和实现接收数据的方法)3.在客户端运行起来时和服务器建立连接4.在客户端点击屏幕的时候得到用户触摸屏幕的CGPoint把CGPoint转成NSValue再通过归档把NSValue转成NSData发给对方5.在服务器端接收到数据的时候把NSData解档转成NSValue在转回CGPoint在此位置创建Mouse对
- 1.6 ios NSNumber详解
草根小强
NSArray、NSDictionary、NSSet等集合对象只能保存对象,如果要保存char、short、int、float、double、BOOL或指向结构的指针等基础数据类型,则可以先将这些基本数据类型封装成NSNumber对象,再存入集合对象。NSNumber类用来包装基本数据类型。NSValue是NSNumber的父类。不能直接用NSNumber对象做计算,只能提取值。一般用法://包装
- Masonry 高度约束的三种方法
shareMind
UIView高度约束的三种方法(这里只是讨论equalTo(),这个block执行的结果)make.height.equalTo(@20);(@20可认为是一个NSValue代表)make.height.equalTo(self.view);make.height.equalTo(self.view.mas_height);执行equalTo()block,会有以下函数调用针对self.secon
- 利用递归解决服务器返回的null对象的问题
久远的回忆
1.解析后获得的字典调用此方法,会返回一个新的处理好的字典2.新的字典里所有的null对象被替换为@""3.也可以在此方法中做别的处理(比如说把NSValue对象也统一转化为字符串)4.github地址https://github.com/wangyebin上代码#import"NSObject+WYBExtension.h"@implementationNSObject(WYBExtension
- NSValue
至于么_ni
#importtypedefstruct{intx;inty;}TRPoint;typedefstruct{charch;doubled;}TRMyData;intmain(intargc,constchar*argv[]){@autoreleasepool{TRPointp;p.x=10;p.y=15;NSLog(@"%d%d",p.x,p.y);//1015NSValue*value=[NSV
- iOS 开发正则匹配字符串中固定字符 如搜索高亮显示 返回所有range
雷海洋
常规方法://获取一个字符在字符串中出现的所有位置返回一个被NSValue包装的NSRange数组-(NSArray*)rangeOfSubString:(NSString*)subStrinString:(NSString*)wholeString{if(subStr==nil&&[subStrisEqualToString:@""]){returnnil;}NSMutableArray*aRa
- 将所有坐标存到数组集合中
Qy_iOS
//将所有圆点的坐标存到数组中NSValue*nsValue=[NSValuevalueWithCGPoint:point];[_btnPointArraddObject:nsValue];//将NSValue转换成CGRect原来类型的数值CGRectrect=[[arrayobjectAtIndex:0]CGRectValue];UILabel*lableTest=[[UILabelalloc
- iOS开发中的集合类型NSSet, NSArray, NS,OrderedSet, NSDictionary, NSPointerArray, NSMapTable, NSHashTable
MiniCoder
iOS中有很多种集合类型,最为常见的可能就NSArray、NSDictionary、NSSet,但其实还有NSPointerArray、NSMapTable、NSHashTable等类型,虽然后面三个类型不常见,但是它们能在关键时刻,「救你一命」先来看看传统的集合类型都有哪些短板:放到集合中的对象,只能强引用如果想要弱引用,要先用NSValue打包不能放入nil而对于NSPointerArray、
- NSMapTable、NSHashTable和NSPointerArray
xiao_k龙
在iOS使用集合主要是NSArray、NSDictionary和NSSet,这三个集合的特点有这几个:可是这些都是对元素做强引用的,引用计数器+1。不可以使用弱引用,如果要使用弱引用,就要用NSValue包装不可以放入nil可是有时候需要集合的引用为弱引用,上面的这些集合就用不了了。而接下来介绍的集合就是解决这个问题的。NSPointerArray先来看看NSPointerArray的特点有哪些和
- iOS 集合如何弱引用对象
Caolongs
一.使用NSValueNSValue可以弱引用保存一个对象,我们可以使用这种方法间接的引用。NSMutableArray*array=@[].mutableCopy;//添加NSObject*obj=[NSObjectnew];[arrayaddObject:[NSValuevalueWithNonretainedObject:obj]];//读取NSValue*value=array[0];NS
- IOS动画简单知识
lg大大
1.layer的CATransform3D属性.//旋转CATransform3DMakeRotation(M_PI,1,1,0);//平移CATransform3DMakeTranslation(x,y,z)//缩放CATransform3DMakeScale(x,y,z);//kvc设置属性NSValue*value=[NSValuevalueWithCATransform3D:CATrans
- 结构体转成对象
HCL黄
比如要将CATransform3DMakeRotation(M_PI,1,1,0)这个结构体转为对象,这个时候就要用到NSValue对象了NSValue*value=[NSValuevalueWithCATransform3D:CATransform3DMakeRotation(M_PI,1,1,0)];[self.view.layersetValue:valueforKeyPath:@"tran
- iOS中的NSNumber与NSValue
皆为序幕_so
NSNumber(只能包装数字类型)NSNumber*num1=[NSNumbernumberWithInt:10];NSNumber*num2=[NSNumbernumberWithFloat:10.1];NSNumber*num3=[NSNumbernumberWithBool:YES];NSNumber*num4=@10;NSValue(可以包装结构体)+(NSValue*)valueWit
- iOS OC基本数据类型~封装和拆包
石虎132
//联系人:石虎QQ:1224614774昵称:嗡嘛呢叭咪哄一、封装和拆包的概念我们将C和OC中的基本数据类型(值类型)转换成对象(引用类型)的过程,叫做封装。相对应的也有一个将对象转变成基本数据类型,此过程叫做拆包。功能:将OC和C当中的基本数据类型转换成实例对象,即将'值类型'转换成'引用类型'二、NSValue类型封装、拆包1.NSRange包含了两个成员,location以及length。
- NSNumber与NSInteger
IOS_Wek
NSInteger、CGFloat是基本数据类型,而NSValue、NSNumber是包装类,NSValue是NSNumber的父类。NSNumber是个对象,不能直接通过(int)来转换,而只能通过[NumberintegerValue]方法来获取值。
- GeekBand Objective-C 集合类型
东忙忙西茫茫
1.数组数组是一个有序的元素序列,其内部只能存放对象类型,对于基本数据类型需要用NSNumber包装成对象后存放,对于C语言的Struct类型,需要用NSValue包装对象后存放。它的索引是从0开始,其索引大小大于数组长度时,会抛出索引越界运行时异常。1.1NSArray(固定数组)NSArray具有常量性,其长度和元素均不能被更改。但元素对象指针指向的内容可以修改。遍历方式://forin方式,
- 数组笔记(极客班)
SkyFang2016
NSArray有三种方法初始化:1,工厂方法:arrayWithObjects,加nil结束;2,初始化器方式:initWithObjects,加nil结束;3,@[]直接在里面加元素,不用加nil结束;NSArray里面的元素必须是NSObject子类;结构体组成对象方法:NSValue*temp=[NSValuevalue:&pointwithObjCType:@encode(Point)];
- (四) IOS学习之--NSNumber & NSValue
CodingEleven
-NSNumber现在有一个问题,如果想把基本数据(比如NSInteger,float,char,bool...)放进NSArray\NSDictionary中,但是NSArray\NSDictionary只能存放OC对象,不能存放基本数据,因此需要把数据转成OC对象,NSNumber正好承担了这一封装任务.NSIntegernum=100;CGFloatf=9.01;BOOLflag=YES;1
- NSNumber与NSValue
struggle3g
NSNumber与NSValue的作用由于在OC的结合当中NSdictionary,NSSet集合中只能添加一些对象而不能存储一些基础数据NSNumber只能包装基础类型数据,比如char,int,float,double,BOOL等。NSValue可以包含任何一个对象,并可以包含系统自定义的一些结构体,数据结构等,
- iOS NSValue&NSNumber&NSDecimal
青椒辣不辣
NSValue存储结构体typedefstructParameterStruct{inta;intb;}MyStruct;//存储MyStructmystruct={10,20};NSValue*value=[NSValuevalueWithBytes:&mystructobjCType:@encode(MyStruct)];//获取MyStructstruceBack;[valuegetValu
- iOS 7.0.4 和 7.1 上计算文字高度有误差的解决方法
栋飞同学
iOS
最近写项目计算文字高度那里在7.0.4和7.1上遇见文字高度有误差的问题,一般写我就直接用系统提供的方法,计算高度,如下://得到文字的高度+(NSValue*)getStringWithRect:(NSString*)aStringviewWidth:(NSInteger)widthfont:(float)font{CGSizesize;if(ISIOS7){NSDictionary*attri
- 第五章:面向对象(下)
xiaoxiaobukuang
疯狂iOS(上)
一、Objective-C的包装类c语言中包括的基本数据类型(int,short,long,float,double等)都不是对象,OC提供了NSValue,NSNumber来封装C语言的基本类型。1、他们不是包装类(1)、NSInteger:大致等于long型整数;(2)、NSUInteger:大致等于unsignedlong型整型;(3)、CGFloat:在64为平台上大致相当于double;
- iOS 中集合如何弱引用对象
weixin_33921089
1.使用NSValueNSValue可以弱引用保存一个对象,我们可以使用这种方法间接的引用。NSValue*value=[NSValuevalueWithNonretainedObject:@selector(class)];[arrayaddObject:value];2.使用NSPointerArray,NSMapTable,NSHashTable以上三个类型的用法分别对应NSMutableA
- iOS如何在容器类(如NSMutableSet)中使用弱引用(weak reference)
jeffasd
iOS_OC
http://blog.sina.com.cn/s/blog_48d4cf2d0102v1jh.html在项目中有某个功能需要用到多个delegate对象,这就需要把delegate放到容器中,但又不想保存强引用导致delegate对象不能被释放。所以希望能在容器中只保存delegate对象的弱引用。搜索发现大家常用的方法应该是采用NSValue的valueWithNonretainedObjec
- iOS 中集合如何弱引用对象
D_SJ
1.使用NSValueNSValue可以弱引用保存一个对象,我们可以使用这种方法间接的引用。NSValue*value=[NSValuevalueWithNonretainedObject:@selector(class)];[arrayaddObject:value];复制代码2.使用NSPointerArray,NSMapTable,NSHashTable以上三个类型的用法分别对应NSMuta
- 统一思想认识
永夜-极光
思想
1.统一思想认识的基础,才能有的放矢
原因:
总有一种描述事物的方式最贴近本质,最容易让人理解.
如何让教育更轻松,在于找到最适合学生的方式.
难点在于,如何模拟对方的思维基础选择合适的方式. &
- Joda Time使用笔记
bylijinnan
javajoda time
Joda Time的介绍可以参考这篇文章:
http://www.ibm.com/developerworks/cn/java/j-jodatime.html
工作中也常常用到Joda Time,为了避免每次使用都查API,记录一下常用的用法:
/**
* DateTime变化(增减)
*/
@Tes
- FileUtils API
eksliang
FileUtilsFileUtils API
转载请出自出处:http://eksliang.iteye.com/blog/2217374 一、概述
这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开发中对文件的操作,几乎都可以在这个框架里面找到。 非常的好用。
- 各种新兴技术
不懂事的小屁孩
技术
1:gradle Gradle 是以 Groovy 语言为基础,面向Java应用为主。基于DSL(领域特定语言)语法的自动化构建工具。
现在构建系统常用到maven工具,现在有更容易上手的gradle,
搭建java环境:
http://www.ibm.com/developerworks/cn/opensource/os-cn-gradle/
搭建android环境:
http://m
- tomcat6的https双向认证
酷的飞上天空
tomcat6
1.生成服务器端证书
keytool -genkey -keyalg RSA -dname "cn=localhost,ou=sango,o=none,l=china,st=beijing,c=cn" -alias server -keypass password -keystore server.jks -storepass password -validity 36
- 托管虚拟桌面市场势不可挡
蓝儿唯美
用户还需要冗余的数据中心,dinCloud的高级副总裁兼首席营销官Ali Din指出。该公司转售一个MSP可以让用户登录并管理和提供服务的用于DaaS的云自动化控制台,提供服务或者MSP也可以自己来控制。
在某些情况下,MSP会在dinCloud的云服务上进行服务分层,如监控和补丁管理。
MSP的利润空间将根据其参与的程度而有所不同,Din说。
“我们有一些合作伙伴负责将我们推荐给客户作为个
- spring学习——xml文件的配置
a-john
spring
在Spring的学习中,对于其xml文件的配置是必不可少的。在Spring的多种装配Bean的方式中,采用XML配置也是最常见的。以下是一个简单的XML配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.or
- HDU 4342 History repeat itself 模拟
aijuans
模拟
来源:http://acm.hdu.edu.cn/showproblem.php?pid=4342
题意:首先让求第几个非平方数,然后求从1到该数之间的每个sqrt(i)的下取整的和。
思路:一个简单的模拟题目,但是由于数据范围大,需要用__int64。我们可以首先把平方数筛选出来,假如让求第n个非平方数的话,看n前面有多少个平方数,假设有x个,则第n个非平方数就是n+x。注意两种特殊情况,即
- java中最常用jar包的用途
asia007
java
java中最常用jar包的用途
jar包用途axis.jarSOAP引擎包commons-discovery-0.2.jar用来发现、查找和实现可插入式接口,提供一些一般类实例化、单件的生命周期管理的常用方法.jaxrpc.jarAxis运行所需要的组件包saaj.jar创建到端点的点到点连接的方法、创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法. w
- ajax获取Struts框架中的json编码异常和Struts中的主控制器异常的解决办法
百合不是茶
jsjson编码返回异常
一:ajax获取自定义Struts框架中的json编码 出现以下 问题:
1,强制flush输出 json编码打印在首页
2, 不强制flush js会解析json 打印出来的是错误的jsp页面 却没有跳转到错误页面
3, ajax中的dataType的json 改为text 会
- JUnit使用的设计模式
bijian1013
java设计模式JUnit
JUnit源代码涉及使用了大量设计模式
1、模板方法模式(Template Method)
定义一个操作中的算法骨架,而将一些步骤延伸到子类中去,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而步骤的实现可以在子类中完成。
 
- Linux常用命令(摘录)
sunjing
crondchkconfig
chkconfig --list 查看linux所有服务
chkconfig --add servicename 添加linux服务
netstat -apn | grep 8080 查看端口占用
env 查看所有环境变量
echo $JAVA_HOME 查看JAVA_HOME环境变量
安装编译器
yum install -y gcc
- 【Hadoop一】Hadoop伪集群环境搭建
bit1129
hadoop
结合网上多份文档,不断反复的修正hadoop启动和运行过程中出现的问题,终于把Hadoop2.5.2伪分布式安装起来,跑通了wordcount例子。Hadoop的安装复杂性的体现之一是,Hadoop的安装文档非常多,但是能一个文档走下来的少之又少,尤其是Hadoop不同版本的配置差异非常的大。Hadoop2.5.2于前两天发布,但是它的配置跟2.5.0,2.5.1没有分别。 &nb
- Anychart图表系列五之事件监听
白糖_
chart
创建图表事件监听非常简单:首先是通过addEventListener('监听类型',js监听方法)添加事件监听,然后在js监听方法中定义具体监听逻辑。
以钻取操作为例,当用户点击图表某一个point的时候弹出point的name和value,代码如下:
<script>
//创建AnyChart
var chart = new AnyChart();
//添加钻取操作&quo
- Web前端相关段子
braveCS
web前端
Web标准:结构、样式和行为分离
使用语义化标签
0)标签的语义:使用有良好语义的标签,能够很好地实现自我解释,方便搜索引擎理解网页结构,抓取重要内容。去样式后也会根据浏览器的默认样式很好的组织网页内容,具有很好的可读性,从而实现对特殊终端的兼容。
1)div和span是没有语义的:只是分别用作块级元素和行内元素的区域分隔符。当页面内标签无法满足设计需求时,才会适当添加div
- 编程之美-24点游戏
bylijinnan
编程之美
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
public class PointGame {
/**编程之美
- 主页面子页面传值总结
chengxuyuancsdn
总结
1、showModalDialog
returnValue是javascript中html的window对象的属性,目的是返回窗口值,当用window.showModalDialog函数打开一个IE的模式窗口时,用于返回窗口的值
主界面
var sonValue=window.showModalDialog("son.jsp");
子界面
window.retu
- [网络与经济]互联网+的含义
comsci
互联网+
互联网+后面是一个人的名字 = 网络控制系统
互联网+你的名字 = 网络个人数据库
每日提示:如果人觉得不舒服,千万不要外出到处走动,就呆在床上,玩玩手游,更不能够去开车,现在交通状况不
- oracle 创建视图 with check option
daizj
视图vieworalce
我们来看下面的例子:
create or replace view testview
as
select empno,ename from emp where ename like ‘M%’
with check option;
这里我们创建了一个视图,并使用了with check option来限制了视图。 然后我们来看一下视图包含的结果:
select * from testv
- ToastPlugin插件在cordova3.3下使用
dibov
Cordova
自己开发的Todos应用,想实现“
再按一次返回键退出程序 ”的功能,采用网上的ToastPlugins插件,发现代码或文章基本都是老版本,运行问题比较多。折腾了好久才弄好。下面吧基于cordova3.3下的ToastPlugins相关代码共享。
ToastPlugin.java
package&nbs
- C语言22个系统函数
dcj3sjt126com
cfunction
C语言系统函数一、数学函数下列函数存放在math.h头文件中Double floor(double num) 求出不大于num的最大数。Double fmod(x, y) 求整数x/y的余数。Double frexp(num, exp); double num; int *exp; 将num分为数字部分(尾数)x和 以2位的指数部分n,即num=x*2n,指数n存放在exp指向的变量中,返回x。D
- 开发一个类的流程
dcj3sjt126com
开发
本人近日根据自己的开发经验总结了一个类的开发流程。这个流程适用于单独开发的构件,并不适用于对一个项目中的系统对象开发。开发出的类可以存入私人类库,供以后复用。
以下是开发流程:
1. 明确类的功能,抽象出类的大概结构
2. 初步设想类的接口
3. 类名设计(驼峰式命名)
4. 属性设置(权限设置)
判断某些变量是否有必要作为成员属
- java 并发
shuizhaosi888
java 并发
能够写出高伸缩性的并发是一门艺术
在JAVA SE5中新增了3个包
java.util.concurrent
java.util.concurrent.atomic
java.util.concurrent.locks
在java的内存模型中,类的实例字段、静态字段和构成数组的对象元素都会被多个线程所共享,局部变量与方法参数都是线程私有的,不会被共享。
- Spring Security(11)——匿名认证
234390216
Spring SecurityROLE_ANNOYMOUS匿名
匿名认证
目录
1.1 配置
1.2 AuthenticationTrustResolver
对于匿名访问的用户,Spring Security支持为其建立一个匿名的AnonymousAuthenticat
- NODEJS项目实践0.2[ express,ajax通信...]
逐行分析JS源代码
Ajaxnodejsexpress
一、前言
通过上节学习,我们已经 ubuntu系统搭建了一个可以访问的nodejs系统,并做了nginx转发。本节原要做web端服务 及 mongodb的存取,但写着写着,web端就
- 在Struts2 的Action中怎样获取表单提交上来的多个checkbox的值
lhbthanks
javahtmlstrutscheckbox
第一种方法:获取结果String类型
在 Action 中获得的是一个 String 型数据,每一个被选中的 checkbox 的 value 被拼接在一起,每个值之间以逗号隔开(,)。
所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。
以下是实现的代码:
前台 HTML 代码:
- 003.Kafka基本概念
nweiren
hadoopkafka
Kafka基本概念:Topic、Partition、Message、Producer、Broker、Consumer。 Topic: 消息源(Message)的分类。 Partition: Topic物理上的分组,一
- Linux环境下安装JDK
roadrunners
jdklinux
1、准备工作
创建JDK的安装目录:
mkdir -p /usr/java/
下载JDK,找到适合自己系统的JDK版本进行下载:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
把JDK安装包下载到/usr/java/目录,然后进行解压:
tar -zxvf jre-7
- Linux忘记root密码的解决思路
tomcat_oracle
linux
1:使用同版本的linux启动系统,chroot到忘记密码的根分区passwd改密码 2:grub启动菜单中加入init=/bin/bash进入系统,不过这时挂载的是只读分区。根据系统的分区情况进一步判断. 3: grub启动菜单中加入 single以单用户进入系统. 4:用以上方法mount到根分区把/etc/passwd中的root密码去除 例如: ro
- 跨浏览器 HTML5 postMessage 方法以及 message 事件模拟实现
xueyou
jsonpjquery框架UIhtml5
postMessage 是 HTML5 新方法,它可以实现跨域窗口之间通讯。到目前为止,只有 IE8+, Firefox 3, Opera 9, Chrome 3和 Safari 4 支持,而本篇文章主要讲述 postMessage 方法与 message 事件跨浏览器实现。postMessage 方法 JSONP 技术不一样,前者是前端擅长跨域文档数据即时通讯,后者擅长针对跨域服务端数据通讯,p