·一、

1.JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html

二、Java的加载与执行

1.Java程序运行包括:

(1)编译阶段:检查Java源程序是否符合Java语法,符合语法就生成正常的字节码文件(xxxx.class),字节码文件中不是纯粹的二进制,这种文件无法在操作系统中直接执行

i.需要用JDK中自带的javac.exe命令进行java程序编译

ii.用法:doc窗口,规则:javac java源程序路径

iii.javac是一个java编译工具

iv.一个java程序可以编译生成多个.class文件

v.字节码文件是最终要执行的文件,所以说class文件生成之后,java源文件删除并不会影响java程序的执行。

vi.编译结束之后,可以将.class文件拷贝到其他操作系统中执行。

(2)运行阶段:JDK安装之后,除了自带一个javac.exe之外,还有另一个工具/命令,java.exe负责运行阶段

java.exe在dos窗口使用,规则为:

例如:存在一个文件A.class,则命令为:java A

注意:不要写为:java A.class,且不要接文件地址,接的是类名

运行过程:

i.Dos窗口

ii.输入 java A

iii.java.exe命令会启动JVM,JVM会启动类加载器Classloader。

iv.Classloader会在硬盘上搜索A.class文件,找到之后,装载到JVM

v.JVM将A.class字节码解释为二进制文件

vi.操作系统会执行二进制文件与底层的硬件平台交互。

三、JDK,JRE,JVM关系

四、第一个Java程序


public class HelloWorld{

  public static void main(String[] args){

    System.ou.printtln("HelloWordl");

  }

}

适配环境变量,将javac.exe和java.exe在dos环境中可以运行

方法:我的电脑-右键-属性-高级系统设置-环境变量-path-编辑-新建-添加javac.exe和java.exe的地址。

目的:dos命令窗口是按照环境变量来查找可运行的程序的,因此必须添加目标程序的路径。

五、我们编译这个程序

编译成功之后Dos窗口不报错,在文件的旁边生成一个.class文件

注意:

(1)选取相对路径的快捷键:(适用于相对路径时快速部署)

打开一个目标文件夹,在地址栏直接输入cmd+回车,则直接Dos命令到这个文件夹下

(2)在Dos窗口下,不在目标程序的目录,我们可以直接输入javac,然后拖动这个文件到dos窗口

五、运行程序

注意:必须先切换到.class文件所在的目录,在使用命令行才能运行,即使我们的环境变量设置好了,也不行。

六、ClassLoder是在哪个位置上搜索HelloWorld.class的字节码文件的?

(1)默认情况下,ClassLoader从当前路径下加载xxx.class字节码文件

(2)配置classpath来指定搜索位置,classpath属于Java语言中的环境变量,不属于windows。

(3)方法:classpath=绝对路径(在windows中配置,名称要用classpath)

(4)一旦指定了classpath,那么类加载器只会去指定的路径下加载.class文件,不过这不是问题,我们在windows下配置多个路径不就行了。

(5)路径中的“.”代表当前目录;路径中的“..”代表上级目录。

七、源码:HelloWorld

地址:https://github.com/ruigege66/Java/blob/master/HelloWorld/

2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,后台回复”礼包“,获取大数据学习资料

Java连载3-编译与运行阶段详解&JRE,JDK,JVM关系的更多相关文章

  1. Java程序在内存中运行详解

    目录 Java程序在内存中运行详解 一.JVM的内存分布 二.程序执行的过程 三.只有一个对象时的内存图 四.两个对象使用同一个方法的内存图 五.两个引用指向同一个对象的内存图 六.使用对象类型作为方 ...

  2. 【转帖】windows命令行中java和javac、javap使用详解(java编译命令)

    windows命令行中java和javac.javap使用详解(java编译命令) 更新时间:2014年03月23日 11:53:15   作者:    我要评论 http://www.jb51.ne ...

  3. Java 反射 设计模式 动态代理机制详解 [ 转载 ]

    Java 反射 设计模式 动态代理机制详解 [ 转载 ] @author 亦山 原文链接:http://blog.csdn.net/luanlouis/article/details/24589193 ...

  4. 牛客网 Java 工程师能力评估 20 题 - 详解

    牛客网 Java 工程师能力评估 20 题 - 详解 不知在看博客的你是否知道 牛客网,不知道就太落后了,分享给你 : 牛客网 此 20 题,绝对不只是 20 题! 免责声明:本博客为学习笔记,如有侵 ...

  5. Java 中的异常和处理详解

    Java 中的异常和处理详解 原文出处: 代码钢琴家 简介 程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常.异常发生时,是任程序自生自灭,立刻退出终止,还是输出错误 ...

  6. 《Java基础——break与continue用法详解》

    Java基础--break与continue用法详解       1. break语句: 规则: 1. 仅用于循环语句和switch语句当中,用于跳出循环. 2. 当只有一层循环时,则直接跳出循环,不 ...

  7. linux PHP 编译安装参数详解

    linux PHP 编译安装参数详解 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...

  8. java的集合框架最全详解

    java的集合框架最全详解(图) 前言:数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作 ...

  9. Java学习-007-Log4J 日志记录配置文件详解及实例源代码

    此文主要讲述在初学 Java 时,常用的 Log4J 日志记录配置文件详解及实例源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:20 ...

随机推荐

  1. HDU 4279 Number(2012天津网络游戏---数论分析题)

    转载请注明出处:http://blog.csdn.net/u012860063? viewmode=contents 题目链接:pid=4279">http://acm.hdu.edu ...

  2. ArcGIS Engine 中的多线程使用[转载]

    一直都想写写AE中多线程的使用,但一直苦于没有时间,终于在中秋假期闲了下来.呵呵,闲话不说了,进入正题!         大家都了解到ArcGIS中处理大数据量时速度是相当的慢,这时如果你的程序是单线 ...

  3. sql server中使用链接服务器访问oracle数据库

    一.  安装配置oracle客户端 要访问orcale数据,必须在访问的客户端机器上安装oracle客户端. Orcale有两种形式的客户端: l         完整的客户端 包括访问服务器端数据库 ...

  4. WPF中画虚线

    原文:WPF中画虚线 在WPF中,画线的方法十分简单,只要声明一个Line然后添加到指定的位置就可以了,但Line并不仅仅只能画一条直线,还可以对直线进行修饰. 1.Line.StrokeDashAr ...

  5. C 语言main 函数终极探秘(&& 的含义是:如果 && 前面的程序正常退出,则继续执行 && 后面的程序,否则不执行)

           所有的C程序必须定义一个称之为main的外部函数,这个函数是程序的入口,也就是当程序启动时所执行的第一个函数,当这个函数返回时,程序也将终止,并且这个函数的返回值被看成是程序成功或失败的 ...

  6. WPF中使用amCharts绘制股票K线图

    原文:WPF中使用amCharts绘制股票K线图 本想自己用GDI绘图, 通过数据直接绘制一张蜡柱图, 但觉得这样子的功能比较少, 所以到网上搜索一些能画出K线图的控件. 发现DynamicDataD ...

  7. asp .net 文件浏览功能

    达到的目的是,发布站点后,在站点某个目录下的图片文件可以通过url访问 步骤 1.新建一个网站 注意,不要建立在需要较高访问权限的地方,不要建立空网站 如果是需要较高访问权限的目录,而IIS本身账号的 ...

  8. INCORRECT PERMISSIONS ON /USR/LIB/PO1KIT-AGENT-HELPER-1(NEEDS TO BE SETUID ROOT)

    INCORRECT PERMISSIONS ON /USR/LIB/PO1KIT-AGENT-HELPER-1(NEEDS TO BE SETUID ROOT) # sudo chmod +s /us ...

  9. WPF 中style文件的引用

    原文:WPF 中style文件的引用 总结一下WPF中Style样式的引用方法: 一,内联样式: 直接设置控件的Height.Width.Foreground.HorizontalAlignment. ...

  10. Windows 10开发基础——网络编程

    主要内容: HttpClient类 Socket通信 WCF通信 HttpClient类      在UWP中可以用来进行网络通信的HttpClient类有两个,System.Net.Http.Htt ...