java虚拟机
虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
其实刚入门java的时候还并不理解这种机制,随着学完JAVA SE到 JAVA EE的过渡时,才理解到JVM的一些特性。
刚入门java的时候都是从java se学起的
1.2.1 Java语言的三种技术架构
J2EE(Java 2 Platform Enterprise Edition)企业版
是为开发企业环境下的应用程序提供的一套解决方案。 该技术体系中包含的技术如Servlet Jsp等,主要针对于Web应用程序开发。 J2SE(Java 2 Platform Standard Edition)标准版
是为开发普通桌面和商务应用程序提供的解决方案。 该技术体系是其他两者的基础,可以完成一些桌面应用程序的开发。 比如Java版的扫雷。 J2ME(Java 2 Platform Micro Edition)小型版
是为开发电子消费产品和嵌入式设备提供的解决方案。 该技术体系主要应用于小型电子消费类产品,如手机中的应用程序等。
Java5.0版本后,更名为JAVAEE JAVASE JAVAME
Java语言的特点:跨平台性
什么是跨平台性?
通过Java语言编写的应用程序在不同的系统平台上都可 以运行。
原理是什么?
只要在需要运行java应用程序的操作系统上, 先安装一个Java虚拟机(JVM Java Virtual Machine)即可 。
由JVM来负责Java程序在该系统中的运行。
Java语言的特点:跨平台性(图解)
错误原理:当前执行的程序在当前目录下如果不存在,windows系统 会在系统中已有的一个名为path的环境变量指定的目录中查找。如果 还没有找到,就出现以上的错误提示。
所以进入到
jdk安装路径\bin目录下,执行javac。看到javac参数提示
信息。
Java程序开发体验–编写
步骤一:编写
• 选择最简单的编辑器记事本。
• 敲入代码 class Demo {}
• 将文件保存成Demo.java,这个文件是存放java代 码的文件,称为源文件。
Java程序开发体验–编译
步骤二:编译
• 有了java源文件,将其编译成JVM可以识别的文件。
• 在该源文件目录下,通过javac编译工具对Demo.java文 件进行编译。
• 如果程序没有错误,没有任何提示,但在当前目录下会 出现一个 Demo.class文件,该文件称为字节码文件,也 是可以执行的 java的程序。
Java程序开发体验–运行
步骤三:运行 • 有了可执行的java程序(Demo.class字节码文件) • 通过运行工具java.exe对字节码文件进行执行。 • 出现提示:缺少一个名称为main的方法。
源文件名不存在或者写错,或者当前路径错误。
编译失败,注意错误出现的行数,在到源代码中指定位置排错。
JVM还得从安装JDK开始,JDK(java Development Kit)中包括 jre(java runtime environment),jre中又包含JVM,所以在Windows上安装JDK时,就会代表着JVM也会一起安装在Windows上。
java之所以跨平台性,就是因为多了个JVM机制,JVM是底层的工具。JVM在不同平台上(主要指操作系统)都是不一样的,所以在其他的操作系统上JVM都是充当其可移植性的底层工具而已。
因为有了JVM,所以同一个java程序在三个不同的操作系统(Windows Linux MacOS)中都可以执行。这样就实行了java程序的跨平台性。也称为java具有良好的可移植性。