摘要: 上下文切换(进程切换/Task切换)是指CPU从一个进程或线程切换到另一个。 进程(Task)是一个正在运行着的程序。在Linux中,线程是可以并行运行并与主进程共享内存空间和其他资源的轻量级进程。 上下文(context)是指在任意时刻CPU寄存器和程序计数器的内容。寄存器是CPU内部的速度非常... 阅读全文
posted @ 2016-01-21 11:03 superzhao 阅读(749) 评论(0) 推荐(0) 编辑
摘要: Java容器框架提供了多种不同特性的容器方便我们管理任意数量的对象。11.1泛型和类型安全的容器JavaSE5之前的容器允许我们向其中放入不同类型的对象,但是取出的时候需要进行类型强制转换,很容易出现问题。有了泛型之后需要我们只能向集合里添加指定类型及其子类,取出时也不需要类型转换,这个功能是编译器... 阅读全文
posted @ 2015-09-18 18:08 superzhao 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 可以将一个类的定义放在另一个类的内部,这就是内部类。1.可以实现隐藏2.内部类了解外围类,并能与之通信,很多时候可以写出更加优雅和清晰的代码10.1创建内部类public class Outer{ class Inner{ }}如果想从外部类的"非静态方法之外"的任意位置创建某个内部类对象,那么... 阅读全文
posted @ 2015-09-17 18:10 superzhao 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。9.1抽象类和抽象方法如果我们的基类只是希望它被继承从而通过它的接口操作导出类,它本身创建对象没有什么意义,那么我们可以把这个基类设计为抽象类。把在基类中不好实现的方法标记为abstract。这样做可以使类的抽象性更加明确。9.2接口i... 阅读全文
posted @ 2015-09-16 18:16 superzhao 阅读(523) 评论(0) 推荐(0) 编辑
摘要: OOP语言中,多态是封装、继承之后的第三种基本特征。封装:通过合并特征和行为来创建新的数据类型,“实现隐藏”通过细节“私有化”把接口和实现分离。继承:以复用接口方式从已有类型用extends关键字创建新类型,并允许向上转型。多态:消除类型之间的耦合关系(分离做什么和怎么做),基于继承的向上转型功能,... 阅读全文
posted @ 2015-09-15 18:04 superzhao 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 复用代码是Java众多引人注目的功能之一。但仅仅能复制代码并对之加以改变是不够的,还需要做更多的事情。复用代码的两种形式:1.组合,新类中产生现有类对象2.继承,用现有类型创建新类型7.1组合语法7.2继承语法7.2.1初始化基类当创建了一个导出类的对象时,该对象包含了一个基类的子对象。这个子对象与... 阅读全文
posted @ 2015-09-14 18:02 superzhao 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关。很多时候我们需要重构代码使之更可读,更易理解,更具维护性,但是又不能影响到客户端程序员的正常使用。我们根本不知道客户端程序员使用了哪些东西(方法),所以我们也不知道哪些东西可以改,为了解决这个问题,java提供了访问权限修饰词。访问修饰词加上包... 阅读全文
posted @ 2015-09-11 17:00 superzhao 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 随着计算机革命的发展,“不安全”的编程方式已经逐渐成为编程代价高昂的主因之一。初始化和清理,正是涉及安全的俩个问题。5.1 用构造器确保初始化构造器名与类名相同,没有返回值5.2 方法重载构造器的重载与方法重载5.2.1 区分重载的方法参数列表的不同(不同顺序也是重载,但不建议这么做)5.2.2 涉... 阅读全文
posted @ 2015-08-07 17:39 superzhao 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 4.1 true和false所有条件语句都用真和假来判断。4.2 if-elseif(bool-exp) statement; or if(bool-exp) statement; else statement;4.3 迭代while(b){} do{}while(b)for(init;b;step... 阅读全文
posted @ 2015-08-05 17:05 superzhao 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 在最底层,Java中的数据是通过操作符来操作的。3.1更简单的打印语句把System.out.println(x);封装在一个类里,然后用静态导入方式,使得打印不必写那么长。import static net.mingview.util.Print.*;静态导入Print类里所有方法。3.2使用Ja... 阅读全文
posted @ 2015-07-30 18:20 superzhao 阅读(170) 评论(0) 推荐(0) 编辑