软件系统结构与开发环境
来源:互联网 发布:unity3d android 编辑:程序博客网 时间:2024/05/29 11:12
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并发控制(同步)
采用等待唤醒机制,划分出主(调用notify唤醒从线程)从(调用wait阻塞自己,等待唤醒)线程,优于锁机制。
wait/notify必须在synchronized(anObj)块内,意味着执行这些操作前,必须获得anObj的对象锁,从而保证这些操作之间的互斥。此外一个线程调用wait时,会释放anObj的锁,防止死锁。从wait返回时,需要再次获得锁才能继续执行。主线程调用notify并退出synchronized块之后从线程才能真正从wait返回,即被唤醒。
Chapter 5 中间件与分布式软件架构
中间件是在客户机和服务器之外的公共服务器上运行的第三方软件。更一般的,任何独立的系统软件和服务程序,只要介于操作系统和应用软件之间,就是中间件。J2ee 中间件
EJB服务器端组件
JMS消息服务技术
CORBA中间件技术
Web Services 中间件技术
- 软件系统结构与开发环境
- 第02章 系统开发基础 之 软件开发环境与工具
- 软件架构与开发环境--最新进展
- 软件架构与开发环境序列
- Linux 软件安装与Java开发环境
- 《软件开发工具与环境》课程教学大纲
- Qt开发环境安装与软件下载
- Linux系统安装软件的原理与系统结构
- 简单的C/S结构软件开发笔记(1)——环境与c#链接数据库
- 软件开发与系统(CC2E)
- 【软件设计师考试】系统开发与运行
- 解析华为MAS EIE系统硬件与软件结构
- 嵌入式系统----环境搭建与开发初步
- 嵌入式系统----环境搭建与开发初步
- 第二章 软件开发平台与软件系统架构
- Windows系统 为 QT5软件 搭建 OpenCV2 开发环境
- Windows系统 为 Visual Studio软件 搭建 OpenCV2 开发环境
- 软件开发文档结构
- Dijkstra算法之 Java详解
- 挑战最强大脑——来自全球的14个编码社区
- linux 进程的最大线程个数
- linux中与Oracle有关的内核参数详解
- 蹂躏D&F学习之一
- 软件系统结构与开发环境
- 创业公司 股权分配| 从西少爷股权纷争看初创公司找合伙人与股权分配
- #Factorial Trailing Zeros#
- HTTP协议基础和TOMCAT环境配置
- 初识CDN
- 一个使用servlet随机生成双色球的代码
- partition List Leetcode Python
- 对 HTTP 304 的理解
- http响应Last-Modified和ETag