Java语言运行机制及运行过程
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语言的环境搭建
什么是JDK,JRE
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语言的环境搭建:JDK、JRE、JVM关系
Java 8.0 Platform
1.5 Java语言的环境搭建:JDK、JRE、JVM关系
• 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语言运行机制及运行过程相关推荐
- 【Java开发语言 01】第一章 Java语言概述(基础常识+Java语言概述+Java程序运行机制及运行过程+Java语言环境的搭建+开发体验hello world+错误:编码GBK的不可映射字符)
java入门-第一章Java语言概述 1基础常识 软件开发 人机交互方式 常用的DOS命令(win系统,有一些直接通过命令执行的) 2 Java语言概述 什么是计算机语言 关于面向对象和面向过程 Ja ...
- java运行机制及运行过程
java运行机制及运行过程 JVM:java核心机制-java虚拟机(JVM java virtual machine) JDK:java开发工具包(java Development Kit) JRE ...
- Java运行机制及运行组件
Java运行机制及运行过程 _.java文件编译(javac命令)为___.class字节码文件 在不同的操作系统的安装的jdk中包含的虚拟机(对于不同的系统也有不同的虚拟机)中运行.class字节码 ...
- java运行机制以及 运行流程
目录 java运行机制以及运行流程 java运行机制以及运行流程 总结:先创建一个java后缀的文件,里面编写helloword 使用javac生成.class文件 在使用java 运行文件
- java语言运行机制与运行过程
核心机制:JVM与垃圾收集机制 JVM:java程序运行在JVM上,JVM在具体的操作系统上 垃圾回收:Java语言提供系统级线程跟踪存储空间的分配情况,在JVM空闲时检查并释放那些可被释放的存储空间 ...
- java入门(1) 程序运行机制及运行过程
首先我们来看一下java程序在底层是怎么工作的: JAVA有两种核心机制: Java虚拟机(Java Virtual Machine): 1.java虚拟机可以理解成一个以字节码为机器指令的CPU. ...
- Java程序运行机制及其运行过程
java两种核心机制:java虚拟机跟垃圾回收机制.本文主要讲的是jvm运行java程序. (一)终端中如何运行一个java程序(这个是我在mac下运行的,windows下原理是一样的,大同小异) 做 ...
- Java 运行机制及运行过程
目录 一. Java 概述 1.java发展史 2.Java 技术体系平台 3.Java 重要特点 二. Java 语言的特点:跨平台性 Java 核心机制-Java 虚拟机 三. 什么是 JDK,J ...
- Java运行机制和运行过程基础知识
一.Java语言的特点 二.核心机制--垃圾回收 三.JDK.JRE
最新文章
- 使用NATAPP.cn测试微信支付回调接口
- php 求数组组合数,php实现求数组全排列,元素所有组合的方法
- mariadb 和mysql主从_MariaDB主从同步
- 火币网的macd怎么算的_黄金投资中MACD的计算方式
- 在Java 8中使用不带静态导入的Mockito
- linux 运行jar main,Maven打包生成jar包并在linux下启动main方法
- 基于JAVA+SpringBoot+Mybatis+MYSQL的疾病报销管理系统
- Linux下进程信息的深入分析
- html限制显示字数其余用...代替,html实现钝角效果;html实现限制一行字数的显示,超出的部分用省略号(....)来代替...
- python urllib3离线安装_离线安装spyder的Python环境
- at91rm9200移植u-boot
- Python绘制XRD图谱和对应pdf卡片堆叠图
- kali 镜像下载(免费下载)
- Yii Framework 开发教程(41) Zii组件-Tabs示例
- 一个流和百亿级的表的join
- Python自动覆盖录屏软件——NIRE工作室开源软件(参数自动校正)(欢迎白嫖)
- 中国在6G专利上再进一步,申请量占比达五成,遥遥领先,美国的希望落空
- 【数字信号处理】序列傅里叶变换(FT)的物理意义
- 爆火交友一元脱单、盲盒、微信公众号制作【源码】
- mmap 与 cache 的回收