background image

8,System Management(系统管理)
9,Threading(多线程处理)
10,Message-oriented Middleware 面向消息的中间件(异步的调用编程)
11,Component Life Cycle(组件的生命周期管理)
12,Resource pooling(资源池)
13,Security(安全)
14,Caching(缓存)

四、什么是典型的软件三层结构?软件设计为什么要分层?软件分层有
什么好处?
   答:(1) Presentation layer(表示层)
 (1) 表示逻辑(生成界面代码)
(2) 接收请求
(3) 处理业务层抛出的异常
(4) 负责规则验证(数据格式,数据非空等)
(5) 流程控制
(2) Service layer(服务层/业务层)
(1) 封装业务逻辑处理,并且对外暴露接口
(2) 负责事务,安全等服务
(3) Persistence layer(持久层)
(1) 封装数据访问的逻辑,暴露接口
(2) 提供方便的数据访问的方案(查询语言,API,映射机制等)
Domain layer(域层)
(1) 业务对象以及业务关系的表示
(2) 处理简单的业务逻辑
(3) 域层的对象可以穿越表示层,业务层,持久层
软件分层结构使得代码维护非常方便,设计明确,各层独立,专注自己擅长
的领域。

五、什么是 OOPOOP 相对于面向过程编程有哪些优点?
OOP,Object-Oriented Programming,面向对象编程不同于面向过程编程:

(1)OOP 关注对象和角色,也就是事物的本质
1)OOP 把客观世界中的对象抽象成对应的类;
2)通过类构造实例;
3)通过依赖、继承、实现等形式建立对象间的通信关系
(2)OOP 易于扩展,增加或改变业务的功能,无需大幅改动改变源代码
(3)OOP 易于建模,OOP 就是软件架构师在计算机高级语言中对客观世界
的抽象和再现,人们可以很好地理解和建立起计算机中的抽象模型

六、谈谈 Overload 和 Override 的区别。
  答:方法的重写 Overriding 和重载 Overloading 是 Java 多态性的不同表现。
重写 Overriding 是父类与子类之间多态性的一种表现,重载 Overloading 是
一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称