第一章 对象导论
1.1 抽象过程
1)万物皆无对象;
2)程序是对象的集合,通过发送消息告知彼此所要做的;
3)每个对象都有自己的由其他对象所构成的存储;
4)每个对象都拥有其类型;
5)某一特定类型的所有对象都可以接收同样的消息;
1.2每个对象都有一个接口
1.3每个对象都提供服务
1)调用其对象提供服务
1.4被隐藏的具体实现
1)访问控制存在的原因:
i)让客户端程序员无法触及他们不应该触及的地方
II)允许库设计者可以改变类内部的工作方式而不用担心会影响到客户端程序员
2)三个关键字在类的内部设定边界:public、private、protected
3)java还有一种默认访问权限:当没有使用上述指定词时发挥作用(包访问权限)
1.5复用具体实现
1.6继承、覆盖
1.6.1”是一个“与”像是一个“关系
1.7 伴随多态的可互换对象
1.8单根继承结构
1)终极基类的名字就是Object
1.9容器
1.9.1参数化类型 (向下转型--泛型)
1.10对象的创建和生命期
1)为了追求最大的执行速度,对象的存储空间和生命周期可以在编写程序时确定,通过将对象置于堆栈(有时被称为自动变量或限于变量)或静态存储区域来实现;
2)在堆的内存池中动态的创建对象;但需要大量的时间在堆中分配存储空间,这可能远远大于在堆栈中创建存储空间的时间;
3)java完全采用了动态内存分配方式;
4)java提供了”垃圾回收器“,提供了更高层的保障,可以避免暗藏的内存泄露问题;
1.11异常处理、处理错误
1)异常提供了一种从错误状况进行可靠恢复的途径;
1.12并发编程
1)线程只是一种为单一处理器分配执行时间的手段。但是如果操作系统支持多处理器,那么每个任务都可以指派给不同的处理器,并且他们可以真正的并行执行。
2)隐患就是:共享资源;
1.13java与internet
1.13.1web是什么
1)客户/服务器计算技术
客户/服务器系统的核心思想:系统具有一种中央信息存储池用来存储某种数据,它通常存在于数据库中,你可以根据需要将它分发给某些人或机器集群。客户/服务器概念的关键在于信息存储池的位置集中于中央,这使得它可以被修改,并这些修改被传播给信息消费者。总之,信息存储池、用于分发信息的软件以及信息与软件所驻足的机器或机群被总称为服务器。驻留在用户机器上的软件与服务器进行通信,已获取信息、处理信息,然后将他们显示在被称为客户机的用户机器上。
2)事务处理:保证一个客户插入的数据不会覆盖另一个客户插入的新数据,也不会在将其添加到数据库的过程中丢失被称为事务处理;
3)web就是一个巨型服务器
1.13.2客户端编程
1)插件、脚本语言、java、备选方案、.net和C#、internet与intranet(企业内部网)
1.13.2服务器端编程