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. Spirng 循环依赖报错:Requested bean is currently in creation: Is there an unresolvable circular reference?

    1:前言 最近在项目中遇到了一次循环依赖报错的问题,虽然解决的很快,但是有些不明白的地方,特此记录. 在此我把 bean 的结构和 注入方式单独拎出来进行演示 1.1:报错提示 1.2:错误日志 Ex ...

  2. Python爬虫系统化学习(2)

    Python爬虫系统学习(2) 动态网页爬取 当网页使用Javascript时候,很多内容不会出现在HTML源代码中,所以爬取静态页面的技术可能无法使用.因此我们需要用动态网页抓取的两种技术:通过浏览 ...

  3. javaMail (java代码发送邮件)

    第一在邮件账户设置开启以下两个 需要发送短信获取  授权码. 代码如下: package com.hjb.javaMail; import javax.mail.*; import javax.mai ...

  4. go语言-csp模型-并发通道

    [前言]go语言的并发机制以及它所使用的CSP并发模型 一.CSP并发模型 CSP模型是上个世纪七十年代提出的,用于描述两个独立的并发实体通过共享的通讯 channel(管道)进行通信的并发模型. C ...

  5. 最近没事DIY了个6通道航模遥控器

    在网上买了个外壳,挖空后换成自己的电路版. 开机后图: 液晶屏是320x240的,没有合适的贴纸,直接就这么用了 遥控器的内部电路有点乱哈,没办法,低成本就只能全靠跳线了 还好都能正常工作. 接收器也 ...

  6. 后端程序员之路 2、nginx、php

    nginx是由俄罗斯人开发的一种实现web服务器的工具,主要是为俄罗斯的第三大门户网站实现反向代理加速的服务器. Linux(CentOS)下,下载安装Nginx并配置 - jtlgb - 博客园ht ...

  7. 《C++ Primer》笔记 第13章 拷贝控制

    拷贝和移动构造函数定义了当用同类型的另一个对象初始化本对象时做什么.拷贝和移动赋值运算符定义了将一个对象赋予同类型的另一个对象时做什么.析构函数定义了当此类型对象销毁时做什么.我们称这些操作为拷贝控制 ...

  8. 翻译:《实用的Python编程》04_03_Special_methods

    目录 | 上一节 (4.2 继承) | 下一节 (4.4 异常) 4.3 特殊方法 可以通过特殊方法(或者称为"魔术"方法(magic method))自定义 Python 行为的 ...

  9. go语言实现数组去重

    import ( "fmt" ) func main() { a := []int{2, 1, 2, 5, 6, 3, 4, 5, 2, 3, 9} z := Rm_duplica ...

  10. python之pillow模块学习--验证码的生成和破解

    一.基础学习 在Python中,有一个优秀的图像处理框架,就是PIL库,pip install pillow 示例1 from PIL import Image # 读取当前图片 im = Image ...