一、Java技术体系架构
- Java SE(Java Platform,Standard Edition)。也称为J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的Java应用程序。Java SE包含了支持Java Web服务开发的类,并为Java Platform,Enterprise Edition(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 Platform,Micro Edition)。也称为 J2ME。 JavaME为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于JavaME规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
总结:JavaSE是Java标准版,主要做一般的Java应用,比如应用软件/ QQ之类的通信软件等;JavaEE是企业版,主要做企业应用,比如公司网站,企业解决方案等;JavaME是微型版,主要面向嵌入式等设备应用的开发,比如手机游戏等
二、Java语言特性
- 简单性:相对于C++来说,Java是简单的,不需要再操作复杂的指针,继承方面也是只支持单继承
- 面向对象: Java中提供了封装、继承、多态等面向对象的机制。
- 健壮性: Java语言引入了自动垃圾回收机制(GC机制),Java程序启动了一个单独的垃圾回收线程,时刻监测内存使用情况,在特定时机会回收/释放垃圾数据,这样会让内存时刻处于最好的状态。
- 多线程:支持多个线程同时并发执行,也提供了多线程环境下的安全机制。
- 可移植性/跨平台:Java语言只需要编写/编译一次,即可处处运行。Java虚拟机(JVM)机制,操作系统上先安装了一个JVM,把Java程序放到了JVM当中运行,JVM屏蔽了各操作系统之间的差异,这样就完成了跨平台。
- ……
三、JDK、JRE、JVM三者关系
- JDK包含JRE,JRE又包含JVM。换句话说,只要安装了JDK,JRE和JVM则自动就安装了。
- JDK:(Java Development Kit)是 Java 语言的软件开发工具包(SDK),JDK安装之后,它会自带一个JRE。
- JRE:(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
- JVM:是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM是实现Java语言跨平台的法宝。
四、Java的加载与执行
- java源代码:java 命令。java代码这种普通文本(你编写的代码是源代码)。
- 字节码:xxx.class文件。是编译源代码而得到的。
- 编译:javac 命令。将java代码这种普通文本变成字节码的过程,因为源代码不能直接执行。
- 运行:java 命令。在JVM上运行编译后的字节码文件。JVM负责将字节码文件解释为二进制码交给操作系统,操作系统执行二进制码和硬件进行交互。