JVM原理、path环境变量搭建

这篇博客介绍了JVM的基本概念、JAVA语言的发展历程,重点解析了JVM的跨平台原理。同时,详细讲解了DOS命令的使用,包括常用命令、扩展命令和配置技巧,以及Java开发环境的搭建,特别是JDK与JRE的区别,PATH环境变量的重要性和配置方法。适合初学者了解Java编程和系统环境配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Java编程基础

1.1.1. 基本概念

Ø 什么是软件?

软件是一系列按照特定顺序组织的计算机数据和指令的集合。

系统软件: 系统软件为计算机使用提供最基本的功能。

例如: DOS, Windows, Linux, Unix, Mac OS, Android, iOS

应用软件: 基于操作系统,针对特定应用领域,根据用户和需求提供不同的功能。

例如: Word, Excel, PPT, QQ, FeiQ, 凌波, Editplus, Eclipse

Ø 什么是计算机语言?

人机交流的工具,由数字、字符和语法规范组成的的计算机指令。

软件就是由若干计算机语言所组成的。

Ø 计算机语言分类

机器语言:  

可以被机器直接运行,用二进制代码(01)指令表达的计算机语言,它们有一定的位数,并分成若干段,各段的编码表示不同的含义。

汇编语言: 

除了机器语言是最低级的语言。

汇编语言是使用一些特殊的符号来代替机器语言的二进制码,计算机不能直接运行,需要用一种软件将汇编语言翻译成机器语言。

高级语言

使用普通自然语言进行编写源代码,通过编译器将源代码翻译成计算机直接识别的机器语言,之后再由计算机执行。

例如:JAVACC++

1.1.2. JAVA的由来

·1900年,由James Gosling负责开发的一个分布式代码系统(Oak),最初目的是为家用电子类消费产品(电视机、冰箱)进行编程控制。

·1993年,SUN公司目标转向互联网。SUN公司也是最早研究互联网的一批公司。SUN(Stanford University Network)

·1994年将Oak更名为JavaJava即为爪哇,盛产咖啡。标准读音['dʒa:və]——“扎哇”。

·1995年正式发布。

1.1.3. JAVA语言发展史

·Java Development Kit

1.0.2

1.1.1 \1.1.6 \1.1.7 \1.1.8

1.2.1 :(1.2.1后,不再叫JDK,改称Java2 SDK)

·Java 2 SDK

1.2.2

1.3.0 \ 1.3.1 (Oracle中多用1.3)

1.4.0 \ 1.4.1 \1.4.2(历史上最稳定的一个版本,稳定期长达3年,银行系统多用此版本和1.3 

1.5.0(5.0) 从1.5开始更名5.0,发音上,更名为 JAVAEE    JAVASE    JAVAME

1.6.0(6.0) 

以后工作开发,5.06.0居多

1.7.0(7.0)目前版本

ØJava平台版本

19996月份,SUN公司又将语言重新划分为3个版本

·JavaSE(Java Platform Standard Edition)

Java平台标准版,包含那些构成Java语言核心的类,可以理解为学习Java的基础

·JavaEE(Java Platform Enterprise Edition)

Java平台企业版,包含JavaSE,并且还包含用于开发企业级应用的类。

准确的说JavaEE是一套用于企业开发的技术规范,包含很多组件,13种核心技术,如:XMLJSPServlet JDBCJava Mail

·JavaME(Java Platform Micro Edition) 

Java平台微型版,包含JavaSE的一部分,另外提供一些用于小型设备上的类,例如:手机、机顶盒、汽车导航仪

作为Oak的原始分支,目前已衰弱。

Ø JAVA语言主要特点(优势)

特点是区别于其他同期语言而言的,后期出现的语言必然会具备前期一些语言的特点。

JAVA语言的最大两个特点:开源、跨平台

1.1.4. JAVA的跨平台工作原理——JVM原理(重点)

JVM出现之前,即使是同一款软件,程序员要针对不同系统重新开发,这样做浪费了大量的人力物力。

JVM的出现使Java程序无需针对各种操作系统进行针对性的研发,只需开发一次,即可以在所有操作系统平台下运行。

原理图如下:

Ø 对比C语言,JVM虚拟机工作原理

1.1. DOS命令

1.1.1. 常用DOS命令

跳转到指定盘符: 盘符: 例:C:  D:  E:  

跳转到指定目录: cd 目录 例:cd Itcast\day01  cd Tencent\QQ\Bin

显示当前目录下文件: dir

宽屏显示当前目录下文件:dir/w

跳转到上级目录: cd..

跳转到根目录: cd \

清屏: cls

1.1.2. 扩展DOS命令

创建制定名称目录: md 中文名称也可以

删除制定名称目录: rd 目录名

删除文件: del 文件名

退出DOS控制台: exit

重点DOS命令:help    例:help rd

1.1.3. 一些使用DOS命令的技巧

·DOS窗口下,欲复制命令行,右键——标记——左键划出复制区域——右键,就复制成功了。

·通配符 *例如:cd pro* 等同于 cd program,前提是当前目录下不存在同名,如果存在,需要多打几个字母。

·F2重命名快捷键,可用于复杂文件名 复制。

Ø 思考:DOS指令存放在计算机的那里?

DOS命令是系统自带的——内部指令

开始——运行——notepad(记事本)或者mspaint(画图板)都属于外部指令。

下面即将讲到的javac指令也是外部指令。

 

1.1.4. Java开发环境搭建

JDKJRE

JDK(Java Development Kit)

定义:Java开发工具,包含开发Java程序的所有组件,包含JRE

换言之,JDK=JRE+开发工具

JRE(Java Runtime Environment)

Java运行环境;如果要运行Java程序,就需要安装JRE

JRE=JVM+核心类库

JVM(Java Virtual Machine)

Java虚拟机,就像一个外国翻译,你到日本去,请一个会日文的JVM,到美国去,请一个会英语的JVM

重点理解:JVM原理

Java将自己的程序运行在SUN公司开发的“小系统”——JVM中。

JVM分系统(WindowsJVMMacJVM

意义:使JAVA程序不再依赖于操作系统,从而具有了“跨平台性”!

注:以后我们开发的程序是针对JVM做的。

常用组件:

src.zip Java是一门开源的语言,其源代码都在这个压缩包中

rt.jar Java的基础核心类库,我们编写Java程序时使用的class都在这个jar包中。(删除后将极大影响使用)

javac.exe 启动编译器,将.java源代码编译为可以被JVM识别的字节码.class字文件。格式:javac 文件名.java

java.exe 启动虚拟机,运行Java程序。格式:java 类名

jar.exe 将class文件打成jar包的工具

javadoc.exe 生成帮助文档的工具

Ø 下载地址

http://www.oracle.com/index.html(2009SUN(Stanford University Network)公司被Oracle公司收购之后该地址跳转到Oracle网站

1.1.5. 安装小技巧:

安装完JDK后,可以不必选择安装JRE(因为JDK包含JRE)。

JRE之惑?想获取最新版方式:下载新的JDK或者选择安装JRE

JDK在安装之后是绿色版的,也就意味着,我们以后使用可以不用安装,直接拷贝就可以了!

U盘里放一份JDK是很专业的做法!

1.1.6. PATH环境变量作用

·使path环境变量下配置的所有目录内的操作系统可识别的可执行文件,在操作系统的任意目录内均可运行。配置完成之后可以在命令行输入javac测试,如果显式帮助信息则是配置成功。

·特别注意:path环境变量配置具有先后位置关系。

例如:当你配置了两个不同版本的bin目录到path路径中,运行javac时,系统会优先调用保存路径靠前的bin目录下的javac.exe程序。

1.1.7. “参照型”配置(重点)

格式:%JAVA_HOME%\bin;

环境变量——系统变量——新建:

变量名为:JAVA_HOME  变量值为:你安装的JDK所在目录下bin文件夹的父目录地址。

1.1.8. 疑问?

有同学会有疑问,

问题一:为什么不在JAVA_HOME变量值中加入\bin

答:据我们的讲师BOSS李说,JAVA_HOME是一个后期将会用到的变量名,如果你加入了\bin,可以,但是就不能命名为JAVA_HOME了。

问题二:细心的同学会发现在“系统变量”一栏的上面有“用户变量”,那他们之间是什么关系?

答:系统变量优先级大于用户变量,以系统变量优先。

问题三:有同学说,我电脑里有好几个JRE,运行编译器调用的是哪个javac

答:用哪个,就把JAVA_HOME变量值(bin父目录文件路径)配置成哪个。

1.1.9. 小知识点:

· 右上到左下,正斜杠 。就是计算机里的除号 /

· 左上到右下,反斜杠 。DOS下的路径符。例: C:\program files\java\jre1.7\bin 

DOS窗口下, \ / 都可以做路径分隔符使用,BOOS李说后面的IO里会谈到。

·每次配置完PATH,记得重启DOS,以使配置生效。

·特别注意一点,path环境变量配置不支持“中文命名的文件夹”,这点以后在Oracle中也一样,所以以后命名要尽量使用英文!

·编译器版本查看方式:javac –version

·虚拟机版本查看方式:java –version,虚拟机版本不能低于编译器版本

Ø 临时环境变量配置(掌握配置Ubin目录我觉着即可)

模拟场景:同事二人公用一台PC,甲用JDK5.0,乙用JDK7.0,如何解决问题?

解决方案:设置临时环境变量。

U盘盘符H为例:

DOS窗口——输入: set path=H:\jdk\bin

输入path,查看当前path路径,发现只有刚才配置的path=H:\jdk\bin信息。

改良做法:将目标文件追加到当前已有的path

格式set path=%path%;H:\jdk\bin%path%放在前后都一样)

1.1.10. CLASSPATH配置(3年之内用不到,仅作为了解)

·作用:使classpath环境变量下配置的目录内的.class字节码文件可以再任何目录下运行,功效等同于path

·系统环境变量配置

计算机(右键)→属性→高级系统设置→高级→环境变量→ 系统变量→新建

变量名:classpath

变量值:填写自己要设置的随处运行的class参照目录

1.2. 第一个Java程序——Hello World

Ø 编写源代码

新建文本文档,扩展名改为.java,在文件中写入代码。

1.2.1. Java程序编写执行流程

1.编写java源代码程序,扩展名.java

2.使用javac命令对源代码进行编译,生成字节码文件

javac 源文件名.java

3.使用java命令对class字节码文件进行解释运行,执行时不要添加.class扩展名

java Demo

在第三步中,如果.java源文件中有多个类的话,编译时会被全部编译出来,生成多个.class文件

1.2.2. Hello World中 常遇到的问题

·扩展名隐藏导致的编译失败

·StrintSystemclass大小写或者拼写错误

·类名格式错误 class 123

·类、main方法后大括号不匹配导致的错误。错误提示:进行语法分析时已到达文件结尾

·新手最容易犯的中文全角符号错误 “” 、 ; 

·如果将JDK装载在C盘下,部分系统会出现“系统盘符无法操作”的提示

·static public 可以 ; public void static 就不可以!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值