百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术流 > 正文

编程第一语言:JAVA——JDK的安装及环境变量配置

citgpt 2024-07-12 09:56 8 浏览 0 评论

上一篇文章做了java开发环境的介绍。今天主要介绍JDK的安装以及环境变量的配置

我们根据上篇文章的介绍和步骤安装JDK,并配置环境变量,完成java开发环境的构建

编程第一语言:JAVA——JDK的安装及环境变量配置

步骤一:下载并安装JDK

学习java语言要从Java SE平台开始。

Oracle 官方提供了两种针对Java SE平台的产品JRE和JDK,可以从官网免费下载(官网地址在评论中回复)。JRE(Java SE Runtime Environment)称之为Java SE运行环境,提供了运行Java应用程序所必须的软件环境,包含Java 虚拟机(JVM)和丰富的类库(Libraries)。无论是开发Java应用还是仅仅运行一个已经开发好的Java应用都必须安装JRE。JDK中除了包含有JRE的所有内容之外还提供了编写Java程序所必须的编译器和调试工具等,对于编写 Java开发的人士一般需要下载JDK。

Java官方提供了针对不同操作系统平台的JDK版本,如Windows、Linux、Solaris等,在下载JDK时,可以根据自己的需求选择,如图一所示:

以Windows版本的JDK为例,下载完成后需要进行安装,和安装其他Windows下的软件一样,根据安装界面的提示(如图二所示)选择好安装目录,然后“下一步”,再“下一步”,直到完成整个安装过程。

需要注意的是,在上图的JDK安装列表中,Java DB是可以选择不安装的,这是一个JDK自带的纯Java语言实现的关系类型数据库。通常的Java开发时用不到它的。另外对于Windows版的JDK安装程序,除了安装一个已经包含有JRE的JDK之外,还要再安装一个独立的JRE(所谓“公共的JRE”)并在注册列表中对其进行注册。其目的是对于一些需要用到JRE的应用程序可以通过注册信息自动找到JRE。

“公共JRE”是一个可选项,可以选择不安装,毕竟JDK中已经包含有一个完整的JRE(只不过没有在注册列表中注册);如果选择了该项,在安装完JDK之后,安装程序还要提示用户选择公共JRE的安装目录。

除了下载JDK之外,开发人员一般还要下载Java官方文档,这是学习和开发Java语言必备的资料(Java官方文档的下载网址在评论区回复,请查看)下载页面显示如图三:

文档下载解压后以HTML格式呈现,使用浏览器打开文档首页(index.html),可以看到如图四所示的“JDK全貌”,通过单击相关链接可以了解其细节。

由上图可以看出:JDK包含JRE和软件开发工具包(Tools&Tool APIs);而JRE包含Java虚拟机(JVM)和各类库(Libraries).

步骤二:配置环境变量

JDK安装完后,在JDK安装路径下可以看到如下内容:

  • bin目录:用于存放JDK工具命令,比如用于编译Java程序的javac命令,用于启动JVM运行的Java程序的java命令,用于生成文档的javadoc命令和用于打包的jar命令等等。
  • jre目录:用于存放JDK所包含的JRE,其中包含有JDK和核心类库;
  • lib目录:用于存放JDK工具命令所对应的工具包(Tool APIs);
  • demo目录:用于存放一些事例程序;
  • src.zip文件:用于存放核心类库的java源代码。

其中,bin中的javac命令和java命令是我们很快要用到的命令,如果想要用到这些命令,需要让操作系统可以找到这些命令文件所在的路径。在Windows操作系统中,可以通过配置Path环境变量来实现。Path环境变量是一串用分号(;)分割开的目录,在通过控制台运行一个命令时,Windows会依次在Path环境变量中的每一个目录中查找该命令,如果找到就可以执行,否则就会有如下图五示的错误提示:

在Windows系统中通过“控制面板”→“系统”→“高级系统设置”打开如图六所示的对话框:

单击上图中的“环境变量”按钮,并在弹出的对话框中双击系统变量Path,并对其进行编辑。在Path变量的末尾追加JDK开发工具路径(“JDK安装路径\bin”),假设JDK的安装路径为:“D:\Program Files\Java\jdk1.6.0_24”,则需追加的Path路径为:“;D:\Program Files\Java\jdk1.6.0_24\bin”。注意,路径之间需要用分号隔开,效果如图七:

环境变量设置完成以后,通过“附件”→“命令提示符”(或运行cmd命令)打开控制台,键入java或javac命令,看到输出正常的提示信息就表示环境变量配置成功了,效果如图八所示:

需要注意的是,如果在安装JDK时选择安装了公共JRE,则不需要配置Path环境变量也可以运行java命令,这是由于公共JRE路径写入了注册列表的缘故。

关于JDK的安装及配置环境变量今天就先说这么多,欢迎大家留言交流。明天将更新软件开发工具Eclipse的相关知识点。

相关推荐

js中arguments详解

一、简介了解arguments这个对象之前先来认识一下javascript的一些功能:其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数...

firewall-cmd 常用命令

目录firewalldzone说明firewallzone内容说明firewall-cmd常用参数firewall-cmd常用命令常用命令 回到顶部firewalldzone...

epel-release 是什么

EPEL-release(ExtraPackagesforEnterpriseLinux)是一个软件仓库,它为企业级Linux发行版(如CentOS、RHEL等)提供额外的软件包。以下是关于E...

FullGC详解  什么是 JVM 的 GC
FullGC详解 什么是 JVM 的 GC

前言:背景:一、什么是JVM的GC?JVM(JavaVirtualMachine)。JVM是Java程序的虚拟机,是一种实现Java语言的解...

2024-10-26 08:50 citgpt

使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
跨域(CrossOrigin)

1.介绍  1)跨域问题:跨域问题是在网络中,当一个网络的运行脚本(通常时JavaScript)试图访问另一个网络的资源时,如果这两个网络的端口、协议和域名不一致时就会出现跨域问题。    通俗讲...

微服务架构和分布式架构的区别

1、含义不同微服务架构:微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并...

深入理解与应用CSS clip-path 属性
深入理解与应用CSS clip-path 属性

clip-pathclip-path是什么clip-path 是一个CSS属性,允许开发者创建一个剪切区域,从而决定元素的哪些部分可见,哪些部分会被隐...

2024-10-25 11:51 citgpt

HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
Request.ServerVariables 大全

Request.ServerVariables("Url")返回服务器地址Request.ServerVariables("Path_Info")客户端提供的路...

python操作Kafka

目录一、python操作kafka1.python使用kafka生产者2.python使用kafka消费者3.使用docker中的kafka二、python操作kafka细...

Runtime.getRuntime().exec详解

Runtime.getRuntime().exec详解概述Runtime.getRuntime().exec用于调用外部可执行程序或系统命令,并重定向外部程序的标准输入、标准输出和标准错误到缓冲池。...

promise.all详解 promise.all是干什么的
promise.all详解 promise.all是干什么的

promise.all详解promise.all中所有的请求成功了,走.then(),在.then()中能得到一个数组,数组中是每个请求resolve抛出的结果...

2024-10-24 16:21 citgpt

Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解

取消回复欢迎 发表评论: