(1)JDK与JRE
JDK(JAVA Development Kit)不仅包含java运行时环境JRE(JAVA Runtime Environment)的超集,还为开发者还提供了javac、java、javadoc、jar等编译器及其他一些开发工具。
Java Runtime Environment (JRE) 包含执行字节码文件的JVM(JAVA Virtual Machine)、库函数、运行Java应用程序和Applet所必须文件。java运行环境具有加载代码(class loader)、校验代码(bytecode verifier )和 执行代码(runtime interpreter)等功能。
(2)配置环境变量
配置系统环境变量Path:执行dos命令时,系统会在path(静态+临时)指定的路径中寻找该命令的执行文件。需要在最前面追加【.;% JAVA_HOME %\bin;】。其中:JAVA_HOME是jdk安装目录;分号用于将多个目录分开,目录值中不能加分号;点号表示当前目录。
配置CLASSPATH路径:如果使用jdk1.5以上就不需要配置这个环境变量!JRE会自动搜索当前路径下的类文件及相关jar文件。
运行cmd输入命令【java –version】,若出现如下结果,则通过表明JDK安装成功。
(3)JVM虚拟机
JAVA的跨平台实现的核心是为不同的操作系统提供不同的JVM。JVM屏蔽了底层运行平台的差别,为上层提供了统一的字节码(byte-code代码是与平台无关的是虚拟机的机器指令)执行环境,实现了“一次编译,随处运行”。
JVM(JAVA Virtual Machine)一种规范,是指在一台计算机上由软件或硬件模拟的用于虚拟执行字节码文件的计算机,类似一个小巧而高效的CPU。定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域等。IBM、SUN、BEA、Intel等都有为不同的操作系统提供不同的JVM或java芯片(正在研发),甚至自己也可以根据JVM规范编写一个JVM。
JVM负责将java字节码Interpreter(解释)运行,边解释边运行,这样速度就会受到一定的影响。JAVA提供了另一种解释运行的方法JIT(just in time,即时编译),就是由代码生成器将“热点’”字节码一次性解释转换成可以较高速度的运行在特定平台上的本地机器码,并将结果缓存起来,下次直接从内存中调,这样就大大提高了执行JAVA代码的效率。这样就实现了跨平台、可移植的功能。
原文地址:https://www.cnblogs.com/sh086/p/8283186.html