java运行环境和运行机制

王朝学院·作者佚名  2016-05-28
窄屏简体版  字體: 小  |  中  |  大  |  超大  

java运行环境和运行机制先来介绍三个概念:

JVM----JAVA virtual machine

java虚拟机:对字节码提供相同的接口,对操作系统提供不同的接口,以适应各个OS

JRE----JAVA runtime environment

java运行时环境

JDK----java SE Development kit

java 标准版开发包

这是学习java最基础的三个概念,他们的关系如下

JDK(开发必备)

-|-----JAVA 类库

|-----JAVA编译器

|-----JRE(运行Java必装)

-|-----JVM

|-----类加载器

-|

|-----字节码校验器

|---运行java程序的其它环境支持

|-----基础类库

_|

如图,平常跑跑java 程序 安装对应的JRE即可,如果需要开发 则需要jkd,单纯的jvm是没意义的(官方也没有对应的下载)

java从代码到运行:

java源文件(.java 文件)----->java编译器(使用javac编译)----->字节码文件(.class文件)---|

特定平台的机器码(OS可以运行的)<--java虚拟机运行(使用java解释执行)<---|

java编译器生成的是与各个平台无关的字节码,这些字节码不面向任何的平台,他们只面向JVM,与此同时不同平台的JVM都是不同的,但是他们都提供了相同的接口来处理字节码,于此同时产生不同的接口对应不同的平台(linux/win)JVM可以说就是一个转换器。

另外jar包:

我们还会遇到.jar包。 jar (JavaArchiveFile 译为java 存档文件)。直白点说就是一个压缩.class的zip包,但是由于他里边包含一个文件

META-INF/MANIFEST.MF(生成jar包时就有),使得里边的.class文件之间具有一定的结构。我们的程序就可以直接引用这些jar包(这里有点像C#中的dll文件),或者直接运行这个jar包

此处要注意

(1).java文件的名字是随意起的,但是倘若java 文件中有public 类,则.java文件的名字必须与这个类名保持一致,所以最多只能有一个public class。

(2)1、命名时大小写是敏感的(同时请记住,所有的关键字都是小写)。

2、默认的路径(jdk默认的路径)是 PRogram files 中间有空格,最好选择无空格的路径(以及不要有中文字符,以免莫名其妙的错误)

环境变量:

为什么要设置环境变量呢?

在我们装好jdk后,如果不设置:在我们敲入java 或者javac命令时会提示:java、javac不是内部或外部命令,也不是可以运行的程序或批处理文件。这是因为:虽然我们已经在计算机上安装了JDK,而且JDK的路径下野有java和javac 这两个命令,但是计算机并不知道去哪里找这两个命令(换句话说计算机并不知道自己有这两个功能),所以我们需要设置一个指引(路径),告诉OS可以去这里看看。

Path:java编译运行工具的目录

ClassPath:java调用需要工具类所在的地址

JAVA_Home java安装目录的公有名字(就是JDK的安装目录)

java的内存回收机制(GC)

这个与C#的大同小异,这里就不多加赘述。只简单提下

(1)不及时回收内存--->可以用内存的数量空间就会变小--->回收的频率就会变高--->性能下降

(2)java始终都无法强制回收内存,只能建议jvm回收。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航