编程语言第一:JAVA——java开发环境

createh53个月前 (02-01)技术教程29

一、JAVA编译运行过程

程序员编写完一段代码后一般会经历两个阶段:编译和运行



第一阶段编译。我们要通过javac(java语言编译器,全称java compiler)把编写的java 源文件(.java)编译,生成所谓的字节码文件(.class)。

第二阶段运行。JAVA程序的运行需要JVM(Java虚拟机,Javav Virtual Machines)的支持。JVM是一个软件,安装在操作系统中,为字节码文件(.class)提供运行环境。



Java官方提供了针对不同平台的JVM软件,这些JVM遵循着相同的标准,只要是标准的.class文件,就可以在不同的JVM上运行,而且运行的效果相同,这样就实现了所谓的“一次编程到处使用”。



二、JDK、JRE、JVM的关系

JDK(Java Development Kit):java开发工具包。是针对java开发人员的工具包。JDK是整个java开发的核心,包含了JRE,java开发工具,java基础类库等。

JRE(Java Runtime Environment):java运行环境。与JDK不同,JRE是java运行环境,并不是一个开发环境,不包含任何开发工具,只针对使用java程序的用户。

在JDK的安装目录里可以找到jre,里面有两个文件夹bin和lib。在这里我们可以认为bin里的就是JVM,lib里就是JVM工作所需要的类库。

JVM(Java Virtual Machines):java虚拟机。它是实现java跨平台的核心部分。



二、安装JDK

可以从官网下载安装JDK:



下载安装时,要注意操作系统(OS)版本和JDK版本之间的对应关系:



三、配置环境变量

如果希望用到JDK所提供的编译(javac)、运行(java)等命令,需要让操作系统可以找到这些命令文件所在的路径,我们可以通过PATH环境变量来实现。

PATH环境变量是一系列的目录,在执行命令时,操作系统会依次在PATH环境变量中的每一个目录中查找该命令。



profile文件中的配置信息:

export JAVA_HOME=/opt/jdk

export CLASSPATH=.

export PATH=/opt/jdk/bin:$PATH

JAVA_HOME指向 javaJDK安装目录,通知某些软件如何找到JDK安装目录;

CLASSPATH表示类的搜索路径,简单的可以使用点(.);

PATH指向JDK的bin目录,javac、java等命令就安装在此目录中。

今天这篇文章主要介绍了java 的编译运行过程,JDK、JRE、JVM的关系,JDK的安装以及配置环境变量的相关知识点,在了解了这些知识以后,在后面的文章中,我们将介绍,软件开发工具Eclipse。

相关文章

12月编程语言排行榜:C++首次超越JAVA进入前三

IT之家 12 月 13 日消息,新的数据声称,C++ 是当今开发者使用的最流行的三大编程语言之一。IT之家了解到,全球知名 TIOBE 编程语言社区发布了 2022 年 12 月的编程语言排行榜,在...

编程语言:C语言与Java的细致对比,你知道选谁了吗?

很多同学纠结自己应该学C语言还是学Java,本篇文章带你细致了解C语言与Java的各方面的不同之处,让你能够更全面的把握编程语言!1.Java与C语言各自的优势C语言是面向过程的语言,执行效率高;Ja...

2020 年,网络安全方面 5 大值得学习的编程语言

作者 | Andrew Long译者 | 明明如月,责编 | 夕颜封图 | CSDN下载自视觉中国出品 | CSDN(ID:CSDNnews) 无论你是一名准专业人士,安全爱好者还是经验丰富的资深人士...

编程语言世界大洗牌,Python、Java、C++谁将被淘汰?

编程语言的世界就像是一个繁荣的生态圈,每一种语言都有它的生存空间和发展趋势。在这个生态圈中,有些语言如日中天,有些语言正在崛起,有些语言正在逐渐走向衰落。2023年5月的TIOBE编程语言排行榜就像是...

2015最新编程语言排行榜出炉:Java继续领跑

这是一个时间问题,苹果宣布从Objective-C转向Swift不久,Objective-C进入自由落体。本月Objective-C的Tiobe指数最高下跌10。脚本语言Ruby利用这一下降,进入前1...

编程语言哪家强,不是Java就是C++:Java与C++语法对比分析

JAVA相对于c++而言属于上层语言,因此一般用于应用层系统的开发,比如JAVA最擅长的web服务端开发,而c++偏向底层一些,更合适做一些底层的东西,比如JAVA的jvm就是c++语言开发的,而且J...