Javase 2.java技术分类及版本,java虚拟机

来源:互联网 发布:旅游业发达的国家知乎 编辑:程序博客网 时间:2024/04/30 07:56
Java分为三个体系:
JavaSE(Java2 Platform Standard Edition,java平台标准版),
JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),
JavaME(Java 2 Platform Micro Edition,java平台微型版)。

Java SE
   Java SE(Java Platform,Standard Edition)。Java SE 以前称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java 应用程序。Java SE 包含了支持Java Web 服务开发的类,并为Java Platform,Enterprise Edition(Java EE)提供基础。

Java EE
     Java EE(Java Platform,Enterprise Edition)。这个版本以前称为J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在Java SE 的基础上构建的,它提供Web 服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和Web 2.0 应用程序。
Java ME
     Java ME(Java Platform,Micro Edition)。这个版本以前称为J2ME,也叫K-JAVA。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。


JDK  (Java Development Kits)针对Java开发员的java开发工具包 ,JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。

JRE  (Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。

j2se(jdk) 1.0 1.1  |  1.2 1.3 1.4  | 1.5(5.0) 1.6(6.0) 1.7(7.0)
j2ee 1.3 1.4 1.5 1.6


java虚拟机
Java虚拟机概念
   Java虚拟机(Java Virtual Machine)是在真实机器中用软件模拟实现的一种想象机器 。
   Java虚拟机中有自己的想象硬件,和实际的计算机一样,它具有指令集并使用不同的存储区域。它负责执行指令,管理数据、内存、寄存器。

Java虚拟机功能
提供运行时环境
提供垃圾回收功能
提供中立的体系结构

Java虚拟机结构,即运行时环境





Java虚拟机提供运行时环境
一:Class loader类加载器
加载程序执行所需要的全部类
使用命名空间分隔本地文件系统的类和网络导入的类
全部类被加载后,可执行文件的内存就确定下来,防止未授权的访问
二:Byte code verifier字节码校验器
代码是否符合JVM规定的文件格式
没有访问权限的违例
代码未引起操作数的堆栈溢出
参数类型是正确的
无转型错误发生
三:JIT code generator JIT代码生成器
JIT编译器:Just In Time实时编译器
JIT编译器是Java 虚拟机的一部分,它的主要用途是将字节码指令集转换为针对某一特定微处理器的机器代码指令。
通过使用JIT编译器提高了Java代码的执行速度。


Java虚拟机提供运行时环境执行三大任务
加载代码-由类加载器执行
校验代码-由字节码校验器执行
执行代码 -由运行时的解释器执行

Java虚拟机垃圾回收
其它语言,回收已分配内存是程序员的责任
Java编程语言提供了一种系统级线程来跟踪内存的分配情况
程序员不需要指令回收已的分配内存
自动完成检查和释放不再需要的内存


JAVA
程序分类
Java application和Java applet
Application和Applet是两个概念,前者指的是一个完整程序,后者指的是一个小程序,作为一个完整程序他具有一定的独立性,玩过手机游戏都知道一个手机游戏对应一个jar文件,这个jar文件就相当于一个Application,你运行游戏只需要选中它运行即可,不需要先启动另外一个程序后才能启动它。而Applet则需要先启动浏览器后才能运行它。Applet因为小可以被看作一个软件组件,他可以作为一个动态网站的一个组成部分,Applet的主要用途是完成复杂的逻辑,这个是在JAVASCRIPT等脚本语言和JSP和ASP等动态网页技术还没出现时负责动态的显示数据的作用,类似微软的ActiveX组件。




原创粉丝点击