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. cookies,sessionStorage 和 localStorage 的区别

    请描述一下 cookies,sessionStorage 和 localStorage 的区别? sessionStorage 和 localStorage 是HTML5 Web Storage AP ...

  2. MVC FormCollection 无法获取值的问题

     把action定义为[HttpPost],并且ajax.beginform中ajaxoption中定义为Post,在提交表单时就可以获取FormCollection的值了.httpGet或者后台不定 ...

  3. loadrunner12-运行报错原因及解决办法整理集合

    1.错误:已超过该load generator的CPU使用率80%: 答:机器内存过小,更换配置更好的机器来执行测试. 是因为虚机的内存过小,运行Controller需要消耗的CPU过高,超过了80% ...

  4. 201621123008 《Java程序设计》第六周实验总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图或相关笔记,对面向对象思想进行一个总结. 2. 书面作业 1. clone方法 1.1 在 ...

  5. HDU 4499.Cannon 搜索

    Cannon Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total Subm ...

  6. UEdit百度富文本编辑器

    1.下载地址:http://ueditor.baidu.com/website/download.html 2.引入js/css/语言包 3.表单id设置 3.js代码

  7. process概念

    multiprocess: multiprocess.cpu_count():统计cpu核数 multiprocess.active_chirdren():获取所有的子进程 multiprocess. ...

  8. 图片素材类Web原型制作分享-Pexels

    Pexels是一个高清图片下载服务站点,为用户提供海量共享图片素材的网站,每周都会定量更新. 菜单栏和底部栏都是悬浮在固定位置,内容区域滚动.首页图片排列采用瀑布流的方式,多图片滚动.包含的页面有:浏 ...

  9. mvc的表单发送ajax请求,太强大了!!!!

  10. socket domain 样例

    服务端 #include<stdio.h> #include <sys/stat.h> #include <sys/socket.h> #include <s ...