软件系统结构与开发环境

Chapter 2 软件开发平台与软件系统架构 之 JAVA

JVM的框架结构和解释执行代码流程

jvm包括

J2ee 框架

注意LDAP目录服务协议和JNDI(java名字和目录服务接口)架构(如对象上传和下载、目录搜索),RMI协议(远程调用),HTTP扩展的SOAP协议(以xml为中立化信息交换语言),三层(服务层(EJB),中间层,web层...)

Servlet 和  HttpServletRequest, RequestDispatcher(包含其他Servlet或重定向http request URL), HTTPSession(为无状态的http协议定义和管理会话机制,该机制跨越HTTP请求完成信息共享),ServletContext(Servlet运行时环境)  P91

Java 传递参数

传值和传地址两种。注意String一旦修改就会重新申请内存并拷贝,所以String做参数时相当于传值。

Java 反射机制: 

JVM为每个加载(即类字节码Load进JVM)的类SomeClass生成一个特别的Class类实例 XXX。

对象SomeClassObj运行时可利用基类Object提供的方法getClass()获取该特别的实例 XXX; (Class XXX=SomeClassObj.getClass). 另外Class类还提供了静态函数forName(String),给定类SomeClass的名字,可以返回该类对应的Class类实例XXX。( Class XXX = Class.forName("SomeClass") )

这个特别的Class类可以动态地创建对应的类的实例:XXX.newInstance()将创建XXX对应的类SomeClass的实例。

Java 对象序列化技术

注意JDK/JRE会为实现了Serializable的类生成一个UID,相当于hash值,用于鉴别一个序列化的对象是不是属于某类。

Java 线程 

Java线程不是内核级别的线程,而是Jvm解释运行环境自己提供的一种用户级别线程,所以它对cpu是不可见的。cpu只能看到它所在的jvm进程,后者才是内核级别线程/进程。

1 继承Thread。 注意Thread其实实现了Runnable接口;  2 自定义一个类,实现Runnable接口。

Java并发控制(同步)

http://www.111cn.net/jsp/Java/63543.htm

采用等待唤醒机制,划分出主(调用notify唤醒从线程)从(调用wait阻塞自己,等待唤醒)线程,优于锁机制。

wait/notify必须在synchronized(anObj)块内,意味着执行这些操作前,必须获得anObj的对象锁,从而保证这些操作之间的互斥。此外一个线程调用wait时,会释放anObj的锁,防止死锁。从wait返回时,需要再次获得锁才能继续执行。主线程调用notify并退出synchronized块之后从线程才能真正从wait返回,即被唤醒。 


Chapter 5 中间件与分布式软件架构

中间件是在客户机和服务器之外的公共服务器上运行的第三方软件。更一般的,任何独立的系统软件和服务程序,只要介于操作系统和应用软件之间,就是中间件。
传统中间件:1  远程过程/方法调用中间件,2  消息服务中间件,3 数据库连接中间件,4 事务处理中间件(最初用于联机交易系统,因此也被称为交易中间件)。
1 如stub-skeleton模型,中间件提供名字服务,代理服务。 如基于IDL的应用开发模型,服务程序和客户程序通过能够解析IDL接口的IDL编译器而间接关联。
远程调用始终是同步阻塞的。所以一般用异步的消息服务代替它。
2 如消息队列模型,pub/sub消息服务模型。生产者和消费者都是和中间件建立连接,而不需要和对方直接连接。
3 数据连接中间件基于数据源-连接池模型。连接池存放了中间件与多个数据库系统建立的会话连接,适当的时候中间件的数据源可以把连接池里的连接租借给用户程序使用。利用连接池避免了用户程序反复和远程数据库建立和断开连接。
4 主要为了实现分布式数据库系统,分布式事务处理,(并满足ACID数据库事务四原则);它在分布式系统中非常关键。三个标准: 1 OMG‘s OTS for CORBA, 2 MS's MTS, 3 JAVA's JTS/JTA, similar with OTS. 以上标准的基础是X-Open DTM, 包含了一个分布式事务处理架构模型和一个两阶段提交协议(2-PC)原型。
两阶段提交协议: 投票和决策执行。

J2ee 中间件

RMI : 序列化, 远程类(可以借助LDAP进行远程传递对象)。

EJB服务器端组件
JMS消息服务技术

CORBA中间件技术

Web Services 中间件技术

特点是根据服务接口WSDL文件,用soap/http在服务器和客户端之间传递信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章