面向对象就是把数据结构和操作数据结构的函数捆绑在一起,方便复用。
应用编程的世界现在是smalltalk的天下。GUI,OO,MVC。
Alan Kay在Smalltalk的早期历史中指出,面向对象的思想就是把每个对象看成一台计算机,这些计算机用高速网络连接起来,对象之间互相发送消息。每一台计算机都包含许多更小的计算机,形成一个递归的系统。
面向对象的起源,Simula离散事件模拟系统。
在OO中,整个程序就是一个数据类型。数据类型不断嵌套,形成整个程序。
面向对象也可以说成是面向类型。
一切皆对象类型体现在所有类都从Object类继承。
编程就是在定义和引用名字。第一次写一个名字时是定义,第二次时是引用。语言在语法上要区分定义和引用名字。
使用对象的3个步骤:建立对象,引用对象,给对象发消息。通过消息来获取或改写对象的状态。
接口是单向的,接口提供服务使用者和服务提供者的中介,客户和服务者之间的契约。使用服务时调用接口,提供服务时实现接口。
对于web与java之间的接口servlet,java层是服务提供者,要实现或者继承servlet接口。
对于db与java之间的借口jdbc,java层是服务使用者,直接调用jdbc接口。
Tomcat 系统架构 源代码分析
Apache 系统架构 源代码分析
http 协议 RFC文件
sql 标准文档
尽可能把函数写小,每个函数完成的功能尽可能少,一堆小功能通过组合可能实现非常多的功能。而一个大函数则缺乏这种灵活性。尽量把函数(function)原子化,每个函数实现最基本的功能,不可拆分的功能,大的功能通过组合小函数实现。模拟自然界复杂系统的实现。功能原子化,系统灵活性增加,可以实现的功能越多。
整个oo系统应该是有不同的设计模式实现的,设计模式是如何组织函数的方式。函数的内部实现属于实现模式,函数的划分,设计属于设计模式。设计一些什么函数由设计模式决定,每个函数如何实现不属于设计模式。设计模式决定如何划分函数的功能,如何分解系统,要些什么类,每个类有些什么函数,类与类之间如何联系。设计模式属于子系统设计方法。
架构模式设计模块,整个系统由多少模块组成,由些什么模块组成。模块下面是子系统,由设计模式指导。子系统下面是类和方法。是最小的模块,直接实现。
修改实际上就是指演化,进化,只有一个能够修改的系统才有可能进化成一个优秀的系统。好的架构应该是灵活的,方便修改的,这样软件才能进化,一旦僵硬软件就会死亡。软件也像生物体,必须能不断演化。不能演化的系统是死的系统。软件要有实现尽可能多的功能的可能性。可靠性,性能,灵活性。软件的三大特性。第一要实现,第二要性能优良,占用尽可能少的时间和空间,第三要灵活,能够不断增加新功能,不断演进。
任何问题都可以通过增加中间层解决。
操作系统——形式语言翻译器(解释器和编译器):脚本语言,配置文件,高级语言——用户(程序员,最终用户)
JVM--java API--Java Language
javac jar ant
包结构反映了执行代码的目录结构。
源代码目录结构和目标码目录结构没有关系。
目标代码目录结构由package关键字指定。
java基础结构:
Thread
I/O Stream
Generic and Collection
Security
Network
Exception
Assert
Logging
Debug
Core API:
GUI:
awt
Swing
Database Connective
Naming and directory Interface
XML parse
Distributed Objects and Remote Method Invokation
Bean
Enterprise API:
Servlet
JSP
JSF框架
Transaction
Message Service
Mail
权限
Enterprise Bean 编程模型
Component and container
The Java Programming Language
Class and Interface
Input/Output and Net
Collection and Generic
Exception and Assert
Thread
Reflection and Proxy
GC and memory
java.lang.*
java.util.*
java.util.logging.*
java.io.*
java.net.*
java.sql.*
java.awt.*
refA == refB 比较对象引用相等
refA.equals(refB) 比较对象值相等 需要正确的实现equals方法 自反性 传递性 等
声明:给出一个名字,但是它的值未知。声明有这样一个东西。
定义:给名字赋一个值。给了名字一个解释,一个定义。
每种操作耗费的时间:单位 纳秒
本地赋值 i=n; 1.0
实例赋值 this.i=n; 1.2
int增值 i++; 1.5
byte增值 b++; 2.0
short增值 s++; 2.0
float增值 f++; 2.0
double增值 d++; 2.0
空循环 while(true) n++; 2.0
三元表达式 (x<0) ?-x : x 2.2
算术调用 Math.abs(x); 2.5
数组赋值 a[0] = n; 2.7
long增值 l++; 3.5
方法调用 funct(); 5.9
throw或catch异常 try{ throw e; }或catch(e){} 320
同步方法调用 synchMehod(); 570
新建对象 new Object(); 980
新建数组 new int[10]; 3100
分享到:
相关推荐
Java面向对象程序设计是计算机编程领域中的核心主题,它基于面向对象编程(OOP)理念,使得代码更具有模块化、可复用性和易于维护的特点。以下是对标题和描述中涉及的知识点的详细阐述: 1. **第1章:Java入门** -...
Java面向对象程序设计是计算机科学中的一个重要领域,它基于面向对象编程(OOP)的概念,是一种强大的编程范式。在Java中,OOP的核心概念包括类、对象、封装、继承、多态等。这本书"Java面向对象程序设计"由耿祥义和...
Java面向对象程序设计是计算机科学中的一个重要主题,尤其在Java编程中。邢国波的《Java面向对象程序设计》一书旨在帮助读者理解和掌握Java语言的核心特性,特别是面向对象编程的概念。以下是根据提供的内容和标签...
Java面向对象程序设计是计算机科学中的一个重要领域,尤其在软件开发中占据核心地位。第二版的《Java面向对象程序设计》课件旨在深入浅出地介绍这一关键概念,帮助学习者掌握Java语言的基础以及面向对象编程的核心...
JAVA面向对象程序设计知识点总结 JAVA面向对象程序设计是 Java 编程语言的核心 contents,涵盖了面向对象编程的基本概念、语法规则、编程技术和实际应用等方面的知识。本文总结了 JAVA面向对象程序设计的知识点,...
Java面向对象程序设计是计算机科学中的一个重要领域,它基于面向对象编程(OOP)原则,为开发者提供了构建复杂软件系统的方法。本资源包含了该课程所有章节的课后习题答案,帮助学习者深入理解Java语言的面向对象...
不过,我可以基于《Java面向对象程序设计(第二版)》这个标题和标签,来详细说明Java面向对象程序设计中可能涵盖的知识点。 在深入介绍之前,首先需要明确面向对象程序设计(OOP)是一种编程范式,它使用“对象”...
在Java面向对象程序设计实验课的学习过程中,我深入体验了Java语言的强大特性和它在软件开发中的重要地位。Java作为一种面向对象的语言,它的核心概念包括抽象、封装、继承和多态,这些特性使得Java在软件工程中具有...
Java面向对象程序设计是编程领域中的核心概念,尤其在企业级应用开发中占据了主导地位。耿祥义版的课程着重讲解了这一主题,通过PPT和源码的形式,旨在帮助学习者深入理解并掌握Java的面向对象特性。下面将详细阐述...
资源名称:上海交大Java面向对象程序设计视频教程(全31集)资源目录:【】[上海交大][面向对象技术java]上(01-05集)【】[上海交大][面向对象技术java]上(06-10集)【】[上海交大][面向对象技术java]下(21-25集)【】...
《Java面向对象程序设计(第3版)》是人民邮电出版社出版的一部经典教材,由杨晓燕和李选平两位专家共同编著。该书深入浅出地讲解了Java编程语言的核心概念和面向对象编程思想。PPT课件是教学辅助资料,通常包含了...
这个压缩包文件"JAVA面向对象程序设计(期末考试试题及答案).zip"包含了学习和复习Java OOP的关键资源,包括一份详细的资源说明文档和期末考试试题及答案的PDF。 资源说明.docx可能涵盖了学习Java OOP的基础概念、...
Java 面向对象程序设计(董小园版)收集.pdf 本资源总结了 Java 面向对象程序设计的基本概念和技术,涵盖了面向对象的基本概念、对象的属性和行为、继承和多态、异常处理、图形界面编程和多线程机制等方面的知识。 ...
Java面向对象程序设计是计算机科学中的一个重要领域,它基于面向对象编程(OOP)的理念,强调将现实世界的问题抽象为类和对象,从而更高效、更直观地进行软件开发。这个压缩包包含了一系列的Java源代码示例,由...
《Java面向对象程序设计》是Java编程学习的重要教材,作者张亦辉以其深入浅出的讲解方式,引领读者进入面向对象的世界。这份压缩包包含了书中各个章节的例题源代码,是学习和理解Java面向对象编程概念的宝贵资源。...