协程是协同程序的简称,顾名思义,就是协同工作的程序。协程拥有自己独立的桟、局部变量和PC计数器,同时又与其他协同程序共享全局变量和其他大部分东西;
协程与线程的主要区别在于,一个多线程程序可以同时运行几个线程(并发执行、抢占),而协同程序却需要彼此协作地运行,即一个多协程程序在任意时刻只能运行一个协程,并且正在执行的协程只会在其显式地要求挂起(suspend)时,它的执行才会暂停(无抢占...
分类:
其他好文 时间:
2014-09-21 17:21:01
阅读次数:
232
Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等 指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时 动态分配...
分类:
编程语言 时间:
2014-09-19 23:51:46
阅读次数:
303
Java尽力保证:所有变量在使用前都能够恰当的初始化。
1)方法的局部变量。Java以编译时错误来贯彻这种保证
2)类的数据成员。如果是基本类型,他们都会有一个初始值;如果是对象引用,那么这个引用将会被初始化为null。
总结下对象创建的过程。假如有一个名为Dog的类:
1)即使没有显式的使用static关键字,构造器实际上也是静态方法。因此,当首次创建类型为Dog的对象时(构造器可以看成是静态方法),或者Dog类的静态方法,静态域首次被访问的时候,Java解释器必须查找路径,以定位Dog.class...
分类:
移动开发 时间:
2014-09-19 15:43:55
阅读次数:
319
基类BaseOutput显式继承了一个接口IOutput,之后类TrackOutput继承BaseOutput,同时又继承了IOutput接口,假定IOutput有方法Output,这样在TrackOutput中就有两个Output方法,一个源于基类BaseOutput,于个源于接口IOutput。这样就引发了混乱,要怎么办?先看下面的一段代码
interface IOutput...
分类:
其他好文 时间:
2014-09-19 10:12:37
阅读次数:
204
先说下原理,之前我们的启动service就是用startService来启动的,这是显式启动。启动后我们无法得到service中的数据,也无法知道它执行的状态,如果我们要启动它的activity和它建立一个联系,获得他的数据或者是执行其内部的方法时就需要隐式启动了。关键原理在于使用一个binder来...
分类:
其他好文 时间:
2014-09-19 09:58:35
阅读次数:
145
update-database指定“-Verbose”标志以查看应用于目标数据库的 SQL 语句。正在应用显式迁移: [201409180500514_yu3]。正在应用显式迁移: 201409180500514_yu3。无法将数据库更新为与当前模型匹配,因为存在挂起的更改并且禁用了自动迁移。将挂起...
分类:
其他好文 时间:
2014-09-18 14:41:34
阅读次数:
435
在《接口的显式实现与隐式实现》中讲到了接口的显式实现,那有什么作用呢?我们来看一段代码。
class Program
{
static void Main(string[] args)
{
SimpleOutput s = new SimpleOutput();
IOutput io = s;
...
分类:
其他好文 时间:
2014-09-18 11:33:23
阅读次数:
138
1. 对于类的成员变量,不管程序有没有显式的进行初始化,Java虚拟机都会先自动给它初始化为默认值。默认值如下: Boolean false Char '\u0000'(null) byte (byte)0 short (short)0 int 0 long 0L float 0.0f doubl....
分类:
编程语言 时间:
2014-09-16 15:37:00
阅读次数:
191
我们在实现接口时,常常是类继承接口,然后在接口中实现相应的方法。代码如下:
interface IOutput
{
void output();
}
class SimpleOutput : IOutput
{
public void output()
{
Console.WriteLin...
分类:
其他好文 时间:
2014-09-16 09:17:50
阅读次数:
142
除了重载的函数调用运算符operator()之外,其他重载运算符不能含有默认实参。
当以个重载的运算符是成员函数时,this绑定到左侧运算对象。成员运算符函数的(显式)参数比运算对象的数量少一个。
当运算符作用于内置类型的运算对象时,我们无法改变运算的含义。
:: .* . ?: 这四个运算符不能被重载。...
分类:
编程语言 时间:
2014-09-12 11:59:23
阅读次数:
347