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. springmvc中@RequestMapping的使用

    通过RequestMapping注解可以定义不同的处理器映射规则. 1.1 URL路径映射 @RequestMapping(value="/item")或@RequestMappi ...

  2. Python和JavaScript间代码转换4个工具-乾颐堂

    Python 还是 JavaScript?虽然不少朋友还在争论二者目前谁更强势.谁又拥有着更为光明的发展前景,但毫无疑问,二者的竞争在 Web 前端领域已经拥有明确的答案.立足于浏览器平台,如果放弃 ...

  3. 带你认识那些App可靠性设计

    可靠性是软件一个重要的质量属性,它关注的是软件功能持续的可用性,以及出现故障之后是否能够容错,是否能快速的恢复使用. 可靠性六条基本准则 1.故障应在第一时间被检测和感知: 2.能避免的故障都不应该发 ...

  4. 一款非常好用的boostrap的验证插件、再也不用自己手写正则表达式和js了

    基于jquery.bootstrap数据验证插件bootstrapValidator教程 bootstrap:能够增加兼容性的强大框架. 因为项目需要数据验证,看bootstrapValidator ...

  5. 如何更改myecelipse、eclipse的Project Explorer的背景颜色

    这个是我研究了很久发现的,因为myecelipse.eclipse本身是随着系统的颜色改变而改变的,windows系统都会随着系统改变而改变的,所以找了很多资料都没能改变它的背景色,今天发现了一个不错 ...

  6. nlms_step_get

    module nlms_step_get(   rst ,   clk ,   nd ,      din01_i,   din01_q,   din02_i,   din02_q,      dou ...

  7. modelsim编译altera的库

    http://www.cnblogs.com/LJWJL/p/3515586.html 在modelsim的安装目录下,把配置文件modelsim.ini的只读属性去掉,然后在modelsim中运行T ...

  8. (KMP 暴力)Corporate Identity -- hdu -- 2328

    http://acm.hdu.edu.cn/showproblem.php?pid=2328 Corporate Identity Time Limit: 9000/3000 MS (Java/Oth ...

  9. (最短路 dijkstra)昂贵的聘礼 -- poj -- 1062

    链接: http://poj.org/problem?id=1062 昂贵的聘礼 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions ...

  10. 用Lucene实现分组,facet功能,FieldCache

    假如你像用lucene来作分组,比如按类别分组,这种功能,好了你压力大了,lucene本身是不支持分组的. 当你想要这个功能的时候,就可能会用到基于lucene的搜索引擎solr. 不过也可以通过编码 ...