JVM/JRE/JDK

JVM
Java虚拟机(Java Virtual Machine)它是运行所有Java程序的虚拟计算机
有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行

JRE
JRE是java runtime environment(java运行环境)
光有JVM还不能让class文件执行,因为在解释class的时候JVM需要调用解释所需要的类库li在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和lib和起来就称为jre

JDK
JDK是java development kit(java开发工具包)
程序员做Java开发时所需要的一些工具Javac.exe/jar.exe Java基础的类库/API

关系:

JDK包含JRE,而JRE包含JVM

软件下载地址
:https://www.oracle.com/technetwork/java/javase/archive-139210.html

环境变量配置

配置环境变量的目的
当查找一个命令的时候,会默认到当前目录当中去查找执行
如果当前目录当中没有,就会到系统的环境变量当中查找

我们安装完Java后,所有的命令都在你安装根目录的bin当中

必须要在当前目录当前才能执行上面的命令,我们如果想要在任意盘当中使用上面命令的话,就需要先配置一下环境变量. 配置完成后, 就可以在任意盘符当中使用了.配置步骤如下:

第一步:

第二步:

第三步:

第四步:

配置完成后, 就可以在任意目录当中输入java命令了

第一个Java程序

新建一个文本文件.txt的,在文本文件当中输入如下内容:

class Hello{    
    public static void main(String[] args){
       System.out.print("Hello World");
    }
}

过程:

1.将Java代码编写到扩展名为.java的文件当中
2.通过javac命令对该java文件进行编译,并生成一个扩展名为.class的文件
3.通过java命令对生成的class文件进行运行
我们生成字节码的名称它是跟class的名称一样的。
如果我们在calss前添加了一个public,那么你的文件名称必须得要跟class的名称保持一致

编写完成后, 在把扩展名改为.java 输入命令行进入到当前目录,执行如下命令

执行完成后, 我们会看到生成了一个.class的字节码

再继续执行以下命令:

执行完后, 就会看到输出的结果.
以上的内容仅作为学习演示过程, 我们在开发的过程当中, 不会直接在记事本当中进行开发的, 会有专门的开发工具. 上面的过程是让大家知道Java的执行过程.

Java编译过程:

Java编程语言学习01-编写第1个Java程序的更多相关文章

  1. java虚拟机学习-JVM内存管理:深入Java内存区域与OOM(3)

    概述 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来. 对于从事C.C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又 ...

  2. Java基础学习总结(70)——开发Java项目常用的工具汇总

    要想全面了解java开发工具,我们首先需要先了解一下java程序的开发过程,通过这个过程我们能够了解到java开发都需要用到那些工具. 首先我们先了解完整项目开发过程,如图所示: 从上图中我们能看到一 ...

  3. 《深入Java虚拟机学习笔记》- 第1章 Java体系结构

    一.体系结构组成 当编写并运行一个Java程序时,就同时体验了这四种技术.用Java语言编写源代码,编译成Java Class文件,然后再在Java虚拟机上运行class文件.当编写程序时,通过调用类 ...

  4. Java基础学习总结(68)——有关Java线程方面的面试题

    不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎.大多数待遇丰厚的 Java 开发职位都要求开发者 ...

  5. Java工程师学习指南第5部分:Java网络编程与NIO

    本文整理了微信公众号[Java技术江湖]发表和转载过的Java网络编程相关优质文章,想看到更多Java技术文章,就赶紧关注本公众号吧. 深度解读 Tomcat 中的 NIO 模型 [Java基本功]浅 ...

  6. Java工程师学习指南第4部分:Java并发编程指南

    本文整理了微信公众号[Java技术江湖]发表和转载过的Java并发编程相关优质文章,想看到更多Java技术文章,就赶紧关注本公众号吧吧. [纯干货]Java 并发进阶常见面试题总结 [Java基本功] ...

  7. 《深入Java虚拟机学习笔记》- 第5章 Java虚拟机

    一.JVM的生命周期 当启动一个Java程序时,一个Java虚拟机实例就诞生了:当该程序关闭退出时,这个Java虚拟机也就随之消亡: JVM实例通过调用某个初始类的main方法来运行一个Java程序: ...

  8. java基础学习01

    学习主意:边看视频,边编写代码,学习成果体现在代码

  9. <java基础学习>01环境变量配置

    安装完JDK开始配置系统环境变量,在path变量里面添加java的bin目录 方法二: 配置完成后 在命令下输入javac查看是否配置成功 第一个java程序 hello world! class H ...

随机推荐

  1. IntelliJ IDEA 还能画思维导图,果然最强 IDE!

    最近栈长发现 IntelliJ IDEA 居然还能画思维导图,太牛逼了! 当然这得借助 IDEA 的 UML 插件,因为它本身也是一个 UML 图,所以这篇就从 UML 图开撕,看 IDEA 怎么画思 ...

  2. Bitter.NotifyOpenPaltform : HTTP 异步消息接收调度中心--开源贡献 之 一:简介

    现在互联网的系统越来越趋向于复杂,从单体系统到现在的微服务体系演变.公司与公司的分工也越来越明确. 大数据公司提供了大数据服务 人脸识别公司提供了人脸识别服务 OCR 公司提供了专业的OCR 服务 车 ...

  3. nacos服务注册与发现之客户端

    服务注册 1.1 NamingService.registerInstance的方法为客户端提供的服务注册接口 1.2 客户端通过调用NamingService.registerService上报到n ...

  4. springboot源码(4)

    我们上3个篇章写了springboot的自动装配.servlet组件的注入以及web容器实现内嵌的原理,现在我们来看springboot启动过程中到底做了些什么,也就是打开我们的run方法: 这里我们 ...

  5. PAT-1099(Build A Binary Search Tree)Java实现+二叉排序树的中序遍历和层次遍历

    Build A Binary Search Tree PAT-1099 本题有意思的一个点就是:题目已经给出了一颗排序二叉树的结构,需要根据这个结构和中序遍历序列重构一棵二叉排序树. 解法:可以根据中 ...

  6. AJAX 相关参数详细说明

    最近ajax的使用十分频繁,对其许多参数还不是很了解,特此总结. 通用写法 1 $.ajax({ 2 url: "http://www.hzhuti.com", //请求的url地 ...

  7. C#类中的成员

    @ 目录 字段 属性 方法 构造函数 类和对象的简单解释 创建类和对象 类中成员的归属问题 字段 字段的声明与声明变量类似,可以添加访问修饰符,通常情况下字段设置为私有的,然后定义属性对字段的读写进行 ...

  8. 比较String 字符串的字节大小

    package com.ittx.edi.erp;import java.io.File;import java.io.FileWriter;import java.io.IOException;pu ...

  9. PHP配置 3. 配置open_basedir

    open_basedir将网站限定在指定的目录,做目录的隔离 先在php.ini中设置open_basedir: # vim /usr/local/php/etc/php.ini //搜索open_b ...

  10. Flutter资源

    目录 文章 一开始 HOWTO文档 网站/博客 高级 视频 组件 演示 UI 材料设计 图片 地图 图表 导航 验证 文字和富文本 分析.流量统计 自动构建 风格样式 媒体 音频 视频 语音 存储 获 ...