1.4 Java语言运行机制及运行过程

lJava两种核心机制

ØJava虚拟机 (Java Virtal Machine)

Ø垃圾收集机制 (Garbage Collection)1.4 Java语言运行机制及运行过程

核心机制—Java虚拟机

lJVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指

令,管理数据、内存、寄存器

l对于不同的平台,有不同的虚拟机。

l只有某平台提供了对应的java虚拟机,java程序才可在此平台运行

lJava虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”

1.4 Java语言运行机制及运行过程

核心机制垃圾回收

l不再使用的内存空间应回收—— 垃圾回收。

Ø在C/C++等语言中,由程序员负责回收无用内存。

ØJava 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空

间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。

l垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。

lJava程序还会出现内存泄漏和内存溢出问题吗?Yes!1-5 Java语言的环境搭

1.5 Java语言的环境搭建

7?8?9?10?11?

1.5 Java语言的环境搭建

l明确什么是JDK, JRE

l下载 JDK

l安装 JDK

l配置环境变量

Øpath:windows系统执行命令时要搜寻的路径。

l验证是否成功:javac java

l选择合适的文本编辑器或 IDE 开发

1.5 Java语言的环境搭建

什么是JDKJRE

JDK(Java Development Kit Java开发工具包)

JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了

JRE。所以安装了JDK,就不用在单独安装JRE了。

Ø 其中的开发工具:编译工具(javac.exe) 打包工具(jar.exe)等

JRE(Java Runtime Environment Java运行环境)

包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,

如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

简单而言,使用JDK的开发工具完成的java程序,交给JRE去运行。

1.5 Java语言的环境搭建:JDKJREJVM关系

Java 8.0 Platform

1.5 Java语言的环境搭建:JDKJREJVM关系

• JDK = JRE + 开发工具集(例如Javac编译工具等)

• JRE = JVM + Java SE标准类库

1.5 Java语言的环境搭建:下载并安装JDK

l官方网址:

Øwww.oracle.com

Øjava.sun.com

l安装JDK

Ø傻瓜式安装,下一步即可。

Ø建议:安装路径不要有中文或者空格等特殊符号。

Ø如果操作系统是64位的,软件尽量选择支持64位的(除非软件本身不区分)。

Ø当提示安装 JRE 时,正常在JDK安装时已经装过了,但是为了后续使用Eclipse等开发

工具不报错,建议也根据提示安装JRE。

1.5 Java语言的环境搭建

配置环境变量 path

l在dos命令行中敲入javac,出现错误提示:

l错误原因:当前执行的程序在当前目录下如果不存在,windows系统会在系

统中已有的一个名为path的环境变量指定的目录中查找。如果仍未找到,会

出现以上的错误提示。所以进入到 jdk安装路径\bin目录下,执行javac,会

看到javac参数提示信息。

1.5 Java语言的环境搭建

配置环境变量 path

每次执行 java 的工具都要进入到bin目录下,是非常麻烦的。可不可以在任何目

录下都可以执行java的工具呢?

l根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到

path 环境变量中,让系统帮我们去找运行执行的程序。

l配置方法:

Ø我的电脑--属性--高级系统设置--环境变量

Ø编辑 path 环境变量,在变量值开始处加上java工具所在目录,后面用 “ ; ”和其他值分隔

开即可。

Ø打开DOS命令行,任意目录下敲入javac。如果出现javac 的参数信息,配置成功。

注: 具体操作流程,参看JDK8下载_安装_配置.docpath

D:\developer_tools\Java\jdk1.8.0_131\bin;

path:window操作系统执行命令时,所要搜寻的路径

目的:希望D:\developer_tools\Java\jdk1.8.0_131路径下的命令可以在任何文件

路径下执行

JAVA_HOME=

D:\developer_tools\Java\jdk1.8.0_131

%JAVA_HOME%\bin;

1.5 Java语言的环境搭建

配置完path环境变量以后的验证1-dl步骤:

1. 将 Java 代码编写到扩展名为 .java 的文件中。

2. 通过 javac 命令对该 java 文件进行编译

3. 通过 java 命令对生成的 class 文件进行运行

.java文件

.class文件

结 果

javac.exe

编 译

java.exe

运 行

源文件

1.6 开发体验 — HelloWorld

字节码文件

1.6 开发体验 — HelloWorld

l 步骤一:编写

Ø 选择最简单的编辑器:记

事本。

Ø 敲入代码 class Test{ }

将文件保存成Test.java,这个

文件是存放java代码的文件,

称为源文件。

取消勾选

1.6 开发体验 — HelloWorld

• 第一个Java程序

public class Test{

public static void main(String[] args) {

System.out.println(“Hello World!”);

}

}

1.6 开发体验 — HelloWorld

l 步骤二:编译

Ø 有了java源文件,通过编译器将其编译成JVM可以识别的字节码文件。

Ø 在该源文件目录下,通过javac编译工具对Test.java文件进行编译。

Ø 如果程序没有错误,没有任何提示,但在当前目录下会出现一个Test.class文

件,该文件称为字节码文件,也是可以执行的java的程序。

1.6 开发体验 — HelloWorld

l 步骤三:运行

Ø 有了可执行的java程序(Test.class字节码文件)

Ø 通过运行工具java.exe对字节码文件进行执行。

Ø 出现提示:缺少一个名称为main的方法。

Ø 因为一个程序的执行需要一个起始点或者入口,所以在Test类中的加入public static void

main(String[] args){ }

Ø 对修改后的Test.java源文件需要重新编译,生成新的class文件后,再进行执行。

Ø 发现没有编译失败,但也没有任何效果,因为并没有告诉JVM要帮我们做什么事情,也就是

没有可以具体执行的语句。

Ø 想要和JVM来个互动,只要在main方法中加入一句System.out.println(“Hello World");因为程

序进行改动,所以再重新编译,运行即可。1-7 常

1.7 常见问题及解决方法

Ø 源文件名不存在或者写错

Ø 当前路径错误

Ø 后缀名隐藏问题

Ø 类文件名写错,尤其文件名与类名不一致时,要小心

Ø 类文件不在当前路径下,或者不在classpath指定路径下

1.7 常见问题及解决方法

Ø声明为public的类应与文件名一致,否知编译失败

Ø 编译失败,注意错误出现的行数,再到源代码中指定位置改错

1.7 常见问题及解决方法

总结:

学习编程最容易犯的错是语法错误。Java要求你必须按照语法规则编写代码。

如果你的程序违反了语法规则,例如:忘记了分号、大括号、引号,或者拼

错了单词,java编译器都会报语法错误。尝试着去看懂编译器会报告的错误

信息。

Java语言运行机制及运行过程相关推荐

  1. 【Java开发语言 01】第一章 Java语言概述(基础常识+Java语言概述+Java程序运行机制及运行过程+Java语言环境的搭建+开发体验hello world+错误:编码GBK的不可映射字符)

    java入门-第一章Java语言概述 1基础常识 软件开发 人机交互方式 常用的DOS命令(win系统,有一些直接通过命令执行的) 2 Java语言概述 什么是计算机语言 关于面向对象和面向过程 Ja ...

  2. java运行机制及运行过程

    java运行机制及运行过程 JVM:java核心机制-java虚拟机(JVM java virtual machine) JDK:java开发工具包(java Development Kit) JRE ...

  3. Java运行机制及运行组件

    Java运行机制及运行过程 _.java文件编译(javac命令)为___.class字节码文件 在不同的操作系统的安装的jdk中包含的虚拟机(对于不同的系统也有不同的虚拟机)中运行.class字节码 ...

  4. java运行机制以及 运行流程

    目录 java运行机制以及运行流程 java运行机制以及运行流程 总结:先创建一个java后缀的文件,里面编写helloword 使用javac生成.class文件   在使用java 运行文件

  5. java语言运行机制与运行过程

    核心机制:JVM与垃圾收集机制 JVM:java程序运行在JVM上,JVM在具体的操作系统上 垃圾回收:Java语言提供系统级线程跟踪存储空间的分配情况,在JVM空闲时检查并释放那些可被释放的存储空间 ...

  6. java入门(1) 程序运行机制及运行过程

    首先我们来看一下java程序在底层是怎么工作的: JAVA有两种核心机制: Java虚拟机(Java Virtual Machine): 1.java虚拟机可以理解成一个以字节码为机器指令的CPU. ...

  7. Java程序运行机制及其运行过程

    java两种核心机制:java虚拟机跟垃圾回收机制.本文主要讲的是jvm运行java程序. (一)终端中如何运行一个java程序(这个是我在mac下运行的,windows下原理是一样的,大同小异) 做 ...

  8. Java 运行机制及运行过程

    目录 一. Java 概述 1.java发展史 2.Java 技术体系平台 3.Java 重要特点 二. Java 语言的特点:跨平台性 Java 核心机制-Java 虚拟机 三. 什么是 JDK,J ...

  9. Java运行机制和运行过程基础知识

    一.Java语言的特点 二.核心机制--垃圾回收 三.JDK.JRE

最新文章

  1. 使用NATAPP.cn测试微信支付回调接口
  2. php 求数组组合数,php实现求数组全排列,元素所有组合的方法
  3. mariadb 和mysql主从_MariaDB主从同步
  4. 火币网的macd怎么算的_黄金投资中MACD的计算方式
  5. 在Java 8中使用不带静态导入的Mockito
  6. linux 运行jar main,Maven打包生成jar包并在linux下启动main方法
  7. 基于JAVA+SpringBoot+Mybatis+MYSQL的疾病报销管理系统
  8. Linux下进程信息的深入分析
  9. html限制显示字数其余用...代替,html实现钝角效果;html实现限制一行字数的显示,超出的部分用省略号(....)来代替...
  10. python urllib3离线安装_离线安装spyder的Python环境
  11. at91rm9200移植u-boot
  12. Python绘制XRD图谱和对应pdf卡片堆叠图
  13. kali 镜像下载(免费下载)
  14. Yii Framework 开发教程(41) Zii组件-Tabs示例
  15. 一个流和百亿级的表的join
  16. Python自动覆盖录屏软件——NIRE工作室开源软件(参数自动校正)(欢迎白嫖)
  17. 中国在6G专利上再进一步,申请量占比达五成,遥遥领先,美国的希望落空
  18. 【数字信号处理】序列傅里叶变换(FT)的物理意义
  19. 爆火交友一元脱单、盲盒、微信公众号制作【源码】
  20. mmap 与 cache 的回收

热门文章

  1. QT5通过FTP下载上传文件
  2. 在Vue框架中通过a标签实现下载本地资源的功能
  3. c语言 伪随机,C语言基础:伪随机数
  4. 剖析探寻Karmada 云原生多云
  5. android11微信分享图片黑色,Android 微信分享图片问题集锦
  6. 东方证券分析报告(0607)
  7. java利用Freemarker模板生成格式友好的doc或者docx文档
  8. 计算机表演赛创造栗,第27届计算机表演赛——优秀作品(2)
  9. 网络爬虫软件有哪些?
  10. 债券摊销怎么用计算机算,债券溢价摊销额怎么算?