一、Java Platform
Java技术不仅是一门编程语言而且是一个平台。同时Java语言是一门有着特定语法和风格的高级的面向对象的语言,Java平台是Java语言编写的特定应用程序运行的环境。Java平台有很多种,很多的Java工程师,即使是干了很长时间的工程师也不是很理解不同平台之间的区别和关联是什么。Java编程语言一共有四个官方的平台:
Java Platform, Standard Edition (Java SE)
Java Platform, Enterprise Edition (Java EE)
Java Platform, Micro Edition (Java ME)
JavaFX
1、Java SE
When most people think of the Java programming language, they think of the Java SE API. Java SE’s API provides the core functionality of the Java programming language. It defines everything from the basic types and objects of the Java programming language to high-level classes that are used for networking, security, database access, graphical user interface (GUI) development, and XML parsing. In addition to the core API, the Java SE platform consists of a virtual machine, development tools, deployment technologies, and other class libraries and toolkits commonly used in Java technology applications.
当大家说Java编程语言的时候,他们说的都是Java SE API, Java SE API 提供Java编程语言的核心功能。它定义了Java编程语言的一切从基本的类型和对象到更高级的被用于网络和安全以及数据库的类,GUI,XML解析的类。除了核心的API, Java SE平台由一个虚拟机,开发工具和其他的类库以及通常被Java应用程序使用的工具箱组成。
2、Java EE
The Java EE platform is built on top of the Java SE platform. The Java EE platform provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications.
Java EE平台构建于Java SE平台之上,Java EE平台提供一组API和运行环境来开发和运行大规模的,多层的,可扩展的,可靠的和安全的网络应用程序。
二、JDK、JRE、JVM
1、JDK(Java Development Kit)
JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品。JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。
JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)
2、Java Runtime Environment(JRE)
是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。RE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。
3、JVM(java virtual machine)
就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。
三、Apatch Tomcat configuration 遇到的问题
太高的版本经常有未解决的问题,太低的版本也会常常有未解决的问题。所以还是选择中偏上版本吧。tomcat7表示用起来还算顺手。
1、JAVA_HOME 的环境变量配置为jdk的路径而不是jre的路径。
环境变量没有配置好,将会使其tomcat.exe一闪而过。
2、配置好了环境变量后在重新打开运行->cmd->进入到tomcat的bin目录下运行:
service.bat install
安装好之后就可以运行tomcat7w.exe (图形界面)
3、修改端口号8080->80 据说可以解决很多问题,不过这个方式并没有解决掉我的问题。但是window默认localhost的80端口是IIS界面,需要在控制面板里/任务管理器/能改端口的地方 将这个端口停掉。这样就不冲突了。