JVM(Java Virtual Machine)Java虚拟机

JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

JAVA语言非常重要的特点就是与平台的无关性,而使用JAVA虚拟机是实现这一特点的关键。

Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。

JRE(Java Runtime Environment) Java运行环境

JRE是Java Runtime Environment缩写,指Java运行环境。

JRE包含JVM(JAVA虚拟机)和JAVA程序所需的核心类库、支持文件。

*如果想要运行一个开发好的JAVA程序,只需要安装JRE即可。

JDK(Java Development Kit) Java开发包

JDK是JAVA语言的软件开发包,是提供给JAVA开发人员使用的。

JDK包含了JRE(JVM+JAVA核心类库)和JAVA工具(编译工具javac.exe、打包工具jar.exe、文档生成器javadoc、查错工具jdb – debugger)

JAVA的各个版本:

JavaSE:standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。

J2EE:enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。

J2ME:micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。

什么叫环境变量?

比如系统自带的记事本程序notepad,在命令提示符窗口,任何路径下输入notepad,都能打开记事本程序。

这就是因为notepad有设定了环境变量。

故需要在系统中设置javac编译器的环境变量,使之在任何目录都能运行javac工具。

Java环境配置步骤:

1.Oracle官网下载JDK适合的版本并安装;

2.在系统属性中打“环境变量”窗口;

3.新建JAVA_HOME变量;-->自定义系统变量

变量值即JDK的安装路径,如:C:\Program Files\Java\jdk1.8.0_211

4.编辑Path变量;-->修改Path变量

添加变量值:%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin

*其实也可以直接将JDK的安装路径添加到Path变量中来,但这样一来一旦JDK的目录变了,那path变量也要跟着变化。

而Path变量是系统最重要的变量,一旦出错了将导致许多程式不能运行,存在一定的风险。

5.新建CLASSPATH变量;-->定义类文件的目录,告诉JVM去什么地方执行Java程序

变量值:变量值:.;%JAVA_HOME%\lib;JAVA_HOME%\lib\tools.jar (注意最前面有一个点,不要漏了)

CLASSPATH的作用有于将Java的类文件的目录告诉系统,使之在任何目录下都能运行类文件。

最前面加点的作用在于,既会去指定的目录查找类文件,也会在当前目录查找类文件。如果没有那个点,那JVM只会查找指定目录。

Java程序执行过程:

1.将Java源代码编写到源文件中,源文件的扩展名为.java。(可使用各种文本编辑工具编写源文件,比如notepad,只要最后修改扩展名即可)

2.使用javac.exe工具对源文件进行编译,生成.class文件。(.class文件的文件名即为类名) -->使用javac命令调用JDK中的编译工具,并检查语法错误

 编译源文件的时候记得 一定要加上后缀.java才行。

3.使用java命令运行.class文件生成结果输出。-->使用java命令启动JVM虚拟机,然后将.class文件加载进内存

 记住,这里不同上面,运行.class文件的时候不需要加后缀名。

 * 任何一个应用程序都要进内存中运行。

Java的入门知识和环境配置的更多相关文章

  1. RabbitMQ消息队列入门篇(环境配置+Java实例+基础概念)

    一.消息队列使用场景或者其好处 消息队列一般是在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量. 在项目启 ...

  2. Java基础入门知识

    Java编程入门知识   知识概要: (1)Java入门基本常识 (2)Java的特性跨平台性 (3)Java的编程环境的搭建 (4)Java的运行机制 (5)第一个Java小程序入门 (1)Java ...

  3. Java web 入门知识 及HTTP协议详解

     Java  web  入门知识 及HTTP协议详解 WEB入门 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资 ...

  4. PHP入门及服务环境配置(Nginx+PHP)

    PHP入门及服务环境配置(Nginx+PHP) PHP入门 PHP维基百科: PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一 ...

  5. win7+64位+Java学习基本软件安装+环境配置+eclipse(IDE)

    一.下载安装JDK 1.安装包下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.h ...

  6. 视频+图文教程 | Java之安装JDK与环境配置

    演示所用软件JDK 8与Eclipse(Java开发工具)软件下载链接: 链接:https://pan.baidu.com/s/1Vg9ulrQH8WlGRAE89Y02UA提取码:swwl 视频介绍 ...

  7. PHP入门介绍与环境配置

    浏览目录: 一.PHP的背景和优势: 二.PHP原理简介: 三.PHP运行环境配置: 四.编写简单的PHP代码以及测试. 一.PHP的背景和优势 1.1   什么是PHP? PHP是能让你生成动态网页 ...

  8. Java基础(57):Eclipse中环境配置(视图字体颜色行号调试快捷键等等)

    1:Eclipse的基本配置 A:程序的编译和运行的环境配置(一般不改) window -- Preferences -- Java 编译环境:Compiler 默认选中的就是最高版本. 运行环境:I ...

  9. Core Java 学习笔记——1.术语/环境配置/Eclipse汉化字体快捷键/API文档

    今天起开始学习Java,学习用书为Core Java.之前有过C的经验.准备把自己学习这一本书时的各种想法,不易理解的,重要的都记录下来.希望以后回顾起来能温故知新吧.也希望自己能够坚持把自己学习这本 ...

随机推荐

  1. kbmMWEncodeEscapes 中汉字编码的问题及解决办法

    kbmMWEncodeEscapes 是kbmmw 里面的一个函数,用来对URL 中的汉字进行编码,例如 http://127.0.0.1/getname?name=春节,由于'春节'是汉字,浏览器向 ...

  2. UVa 11292 Dragon of Loowater (水题,排序)

    题意:有n个条龙,在雇佣勇士去杀,每个勇士能力值为x,只能杀死头的直径y小于或等于自己能力值的龙,只能被雇佣一次,并且你要给x赏金,求最少的赏金. 析:很简单么,很明显,能力值高的杀直径大的,低的杀直 ...

  3. spring的IOC/DI功能实践

    一.写在前面: 做这个Demo主要是为了能够更好的理解Spring的原理,看再多的文章,听再多的讲解最终都最好自己去实现一遍,可以将Spring的功能分块实现,最终自然比较容易将各个功能组合起来. 这 ...

  4. python 判断是否是空行或注释行

    #coding:utf-8 '''''cdays-4-exercise-6.py 文件基本操作 @note: 文件读取写入, 列表排序, 字符串操作 @see: 字符串各方法可参考hekp(str)或 ...

  5. 9) 依赖查询 & 镜像站

    依赖查询 http://mvnrepository.com/ Maven仓库查询 http://search.maven.org 仓库 加上这两个,如果使用中央仓库 Eclipse 极有可能会卡死 & ...

  6. gulp布局构建小结

    一.工具选择CSS预处理语言LESS 构建工具gulp(基于node环境)gulp插件:gulp-connect——主要是用来运行一个webserver npm install --save-dev ...

  7. Business Cards

    Problem Description Running a paper shop is not an easy job, especially with harsh customers. Today ...

  8. Quartus II中使用脚本转换sof到rbf文件

    1.  新建一个文本文件,保存为任意但有意义的名字,如:sof_to_rbf.bat,注意,保存时请不要使用默认的格式,应该手动从.txt切换为all files 2.  在文本中输入以下内容: %Q ...

  9. Paxos与zookeeper

    1,什么是Paxos算法? Paxos算法是分布式计算领域中一个非常重要的算法,主要解决分布式系统如何就某个值(决议)达成一致的问题.一个典型的场景是分布式数据库的一致问题:如果分布式数据库的各个节点 ...

  10. JdbcTemplate详解

    1.JdbcTemplate操作数据库 Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中.同时,为了支 ...