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

createh51个月前 (02-01)技术教程17

一、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...

编程语言:Java与C语言C++的区别是什么?知道该学什么了吧

从每个月的编程语言排行榜我们可以了解。目前世界范围内Java开发语言与C语言C++基本长期占领开发语言榜单的前几位。那这三门语言之间有什么区别呢?首先我们先了解一下三种语言的概念  C语言是一门面向过...

2015年11月编程语言排行榜出炉:Java再超20%

Java在TIOBE指数仍然持续上涨,现已达到20%(2009年7月以来Java再次超过20%)。因为10月底成功召开的JavaOne大会,它的受欢迎程度有可能进一步上升。目前Java和C两大语言与其...

2月编程语言排行出炉!没意外(2021 8月编程语言排行榜)

2月TIOBE编程排行榜新鲜出炉啦!这个月的排行在你意料之中吗?TIOBE 2月编程排行榜TOP10TIOBE 编程TOP10指数走势从排行榜中可以看出,后端编程语言竞争依旧激烈,Python、C语言...

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

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