多线程有4种NSObject---NSObject自带的,但是他不能对数据进行保护NSThread---过于复杂,使用起来不够方便NSOperationQueue---操作队列,管理线程,内部有一个线程池,负责对现有的线程进行管理/重用GDC(grandcentraldispatch);----基于C的多线程解决方案队列有两种(串行/并行)MainV..
分类:
编程语言 时间:
2014-09-23 20:18:25
阅读次数:
236
多线程程序设计的困难
难以重现失败,bug难以追踪
并发错误难以追踪和消除
独立任务的拆分并不总是那么明朗
线程同步、通信引入的复杂
多线程引发的竞争、死锁、可见性问题(难以调试、追踪)
测试困难,简单的测试并不能覆盖生产环境的问题
设计不当,并不能充分提升性能(不控制线程数量,造成无谓上下文切换和Cache失效)
see Amdahl's law,阿姆达尔定律,...
分类:
编程语言 时间:
2014-09-23 19:25:45
阅读次数:
300
说到面向对象,就应该说说它的那几个核心的机制:继承,重写,多态,抽象,接口。它们是判断是否运用了面向对象编程的核心。接下来
用几个例子,看看它们的演变过程和它们之间的关系。
继承:简单来说,子类自动拥有父类的所有方法和属性。
举例:狗和猫都继承了动物的叫声。子类继承父类。
class Animal {
private String name;
publi...
分类:
编程语言 时间:
2014-09-23 20:30:30
阅读次数:
234
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存
在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。
堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器...
分类:
编程语言 时间:
2014-09-23 19:53:55
阅读次数:
262
本文举了几个例子,用代码来说明原先需要借助Guava来实现的功能,如何用Java7或Java8实现。...
分类:
编程语言 时间:
2014-09-23 19:45:53
阅读次数:
1210
http://download.csdn.net/detail/qq285016127/7963747
Java对文件的操作API一般分为字节流 字符流 其为文件的读写API框架也是通过这个思想去扩展的.另外,在流的流向中也分为源流和宿流.如图(流的主体是根据流向决定,如输入InputStream/输出流OutPutStream)
从整个框架上看,io流的主要知识点分为:
1.字节流...
分类:
编程语言 时间:
2014-09-23 19:34:37
阅读次数:
296
?? C语言基础课程 第一课 Linux环境配置小实战httpserver 首先环境需要的是redhat虚拟机操作系统打开redhat 防火墙2.将WWW(HTTP)勾选上3.点击apply 点击是4.切换到root用户输入正确的root密码5. 启动http服务6.输入ifconfig 查看当前ip痛7.通过分析我们知道 他是一个局域网的ip windows可以通过net 或者...
分类:
编程语言 时间:
2014-09-23 20:06:45
阅读次数:
292
Java代码:package com.dishu;import com.dishu.org.R;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;impo...
分类:
编程语言 时间:
2014-09-23 19:46:35
阅读次数:
227
python 遍历字典几种方法脚本:#!/usr/bin/python dict={"a":"apple","b":"banana","o":"orange"} print "##########dict######################" for i in dict: ...
分类:
编程语言 时间:
2014-09-23 19:12:15
阅读次数:
308
最近为了找工作参加了许多公司的笔试和面试,发现了以前的知识虽然学了很多,但是并不深入和系统。所以准备把一些书重新读一读,并且打算做一些总结,毕竟老祖宗教导我们“学而时习之,不亦说乎”。1.把程序分成模块 当我们做程序一般都是分成许多模块去做,因为这样可以保证模块之间的独立性,不会因为一个模块的...
分类:
编程语言 时间:
2014-09-23 19:09:25
阅读次数:
294
TJSONArray* jar = (TJSONArray*)TJSONObject::ParseJSONValue(Memo3->Text); jar->Count; for (int i = 0; i Size(); i++) { TJSONValue *...
分类:
编程语言 时间:
2014-09-23 20:25:55
阅读次数:
210
1、首先引入easyui包在jsp页面上引用以下文件:注意:jquery-1.8.0.min.js要在jquery.easyui.min.js之前引入。2、以下为jsp页面代码:"> My JSP 'index.jsp' starting page ...
分类:
编程语言 时间:
2014-09-23 20:42:25
阅读次数:
389
Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。file_object = open('thefile.txt')try: all_the_text = file_object.read( )...
分类:
编程语言 时间:
2014-09-23 19:51:55
阅读次数:
315
一、注释 1. 注释类型 [a]. 单行注释// 单行注释String type = "单行注释"; [b]. 多行注释/* * 多行注释 */String type = "多行注释"; [c]. 文档注释/** * 文档注...
分类:
编程语言 时间:
2014-09-23 19:50:35
阅读次数:
268
线程是一个程序的多个执行路径,执行调度的单位,依托于进程存在。 线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间也叫做线程栈,是在建立线程时由系统分配的,主要用来保存线程内部所使用的数据,如线程执行函数中所定义的变量。注意:Java中的多线程是一种抢占机制而不是分时机制。抢...
分类:
编程语言 时间:
2014-09-23 19:16:05
阅读次数:
221
jQuery片段:[javascript]view plaincopy(function(){//这里忽略jQuery所有实现})(); 半年前初次接触jQuery的时候,我也像其他人一样很兴奋地想看看源码是什么样的。然而,在看到源码的第一眼,我就迷糊了。为什么只有一个匿名函数又没看到运行(当然是....
分类:
编程语言 时间:
2014-09-23 19:48:35
阅读次数:
285