SQLite数据库框架之FMDB什么是FMDB?FMDB是iOS平台的SQLite数据库框架,FMDB以OC的方式封装了SQLite的C语言API。对比苹果自带的Core Data框架,更加轻量级和灵活,使用起来更加面向对象,省去了很多麻烦、冗余的C语言代码。并且FMDB提供了多线程安全的数据库操作...
分类:
移动开发 时间:
2015-11-25 10:06:47
阅读次数:
334
课程概要String 字符串String字符串常用方法StringBufferStringBuilderString字符串:1.实例化String对象 直接赋值 String str="Hello"; 推荐这种 使用关键字new String str1=new String("Hello"); .....
分类:
编程语言 时间:
2015-11-12 23:10:29
阅读次数:
362
/*如果同步函数被静态修饰后,使用的锁是什么呢?通过验证,发现不在是this。因为静态方法中也不可以定义this。静态进内存是,内存中没有本类对象,但是一定有该类对应的字节码文件对象。类名.class 该对象的类型是Class静态的同步方法,使用的锁是该方法所在类的字节码文件对象。 类名.clas....
分类:
编程语言 时间:
2015-11-08 19:20:55
阅读次数:
225
/*多线程的安全问题: while(true) { if(tick>0) { //线程0,1,2,3在余票为1时,都停滞在这里,之后分别获得CPU执行权,打印出0,-1,-2等错票 ...
分类:
编程语言 时间:
2015-11-08 19:08:58
阅读次数:
255
上一篇文章通过卖票使用同步代码块的方法解决安全问题本篇文章首先探讨如何找出这样的安全问题,并提出第二种方式(非静态函数synchronized修饰)解决安全问题/*需求: 银行有一个公共账号金库 有两个储户同时对该账户存取,每次存100,共3次目的: 该程序是否有安全问题,如果有,如何解...
分类:
编程语言 时间:
2015-11-08 19:07:17
阅读次数:
273
1.有利必有弊,有得必有失。情景1:StringBuilder与StringBuffer其中StringBuilder不是线程同步的,所以它会出现多线程安全问题;相反的StringBuffer是线程同步的,不会出现线程安全的问题,它是它需要判断锁,所以它的效率要比StringBuilder低。所以一般没有涉及到线程安全问..
分类:
其他好文 时间:
2015-10-15 06:32:31
阅读次数:
202
FMDB是ios平台下解析sqlite的第三方数据库管理框架,使用非常方便,而且提供了多线程安全的数据库操作,相比coredata来说更加灵活和轻量级。 fmdb主要有三个类别: fmdatabase:用来执行sql语句; fmresultset:用来使用fmdatabase执...
分类:
数据库 时间:
2015-10-12 00:43:08
阅读次数:
497
大家知道,Java的多线程安全是基于Lock机制实现的,而Lock的性能往往不如人意。原因是,monitorenter与monitorexit这两个控制多线程同步的bytecode原语,是JVM依赖操作系统互斥(mutex)来实现的。互斥是一种会导致线程挂起,并在较短的时间内又需要重新调度回原线程的...
分类:
编程语言 时间:
2015-08-21 10:47:00
阅读次数:
189
多线程应用程序的存在,在运行打开一个潜在的多线程安全的接入资源。两个线程相同的资源可能会以意想不到的方式改变相互干扰。例如。一个线程可以覆盖有一个线程改变或使应用程序进入一个潜在的无效的状态未知。假设你幸运,毁坏的资源也能导致明显的性能问题或相对easy追踪和修复的崩溃。假设你不幸,然而。毁坏的资源...
分类:
其他好文 时间:
2015-08-20 20:45:09
阅读次数:
214
atomic和nonatomic的区别:atomic:设置成员变量的@property属性时,默认为atomic,提供多线程安全。因为多线程的缘故,所有的对象在操作成员变量时都是同步的,因此,为了防止一个对象在操作数据时还没有结束就被另一个对象抢走进行篡改,atomic为此提供了多线程安全机制,采用...
分类:
其他好文 时间:
2015-08-17 19:05:24
阅读次数:
133