《Java程序员面试秘笈》—— 面试题3 Linux操作系统下如何安装Java SE开发环境

简介: 考点:由于大部分的计算机用户都使用Windows作为操作系统,而Java语言是具有跨平台优势的,不同企业有不同的开发环境,本试题考察求职者是否有在Linux下开发Java的经验。Linux环境下的Java安装是一个基础问题。

本节书摘来异步社区《Java程序员面试秘笈》一书中的第1章,第1.3节,作者:常建功,更多章节内容可以访问云栖社区“异步社区”公众号查看。

面试题3 Linux操作系统下如何安装Java SE开发环境

考点:由于大部分的计算机用户都使用Windows作为操作系统,而Java语言是具有跨平台优势的,不同企业有不同的开发环境,本试题考察求职者是否有在Linux下开发Java的经验。Linux环境下的Java安装是一个基础问题。

出现频率:

【面试题解析】该问题有两个关键点,一个是Linux版本Java SDK的文件类型,另外一个是Linux环境变量的配置。

参考答案:

Oracle发布的Linux操作系统Java包有JDK和JRE两种版本。JDK(Java Development Kit,Java开发包)是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。

JRE(Java Runtime Envirnment,Java运行环境)是JDK的一个部分,仅仅提供了运行Java程序的环境,如果开发Java程序,必须安装JDK。

(1)首先到Sun的网站上去下载JDK,截止本书编写时最新版本为Java 7 update 21,下载jdk-7u21-linux-i586.tar.gz文件。

(2)把安装文件解压出来。假设下载的文件保存在/opt下。打开终端,运行以下命令:

cd /opt 
tar zxvf jre-7u21-linux-i586.tar.gz
Java文件将安装在/opt目录中的jdk1.7.0_21内。

(3)测试是否安装成功,可以在控制台中输入如下命令:

java –version

如果安装成功,控制台会显示当前JDK的版本信息。

(4)配置JAVA_HOME环境变量:一般Java开发者需要在操作系统的环境变量中配置JAVA_HOME,这样才能使其他Java项目,例如Struts、Tomcat等能够正常运行。这里以最常用的bash命令解释器为例,编辑用户目录下的.bashrc或.profile文件。如果需要在所有用户的shell下都生效,就编辑/etc/profile文件。同样都是加入以下内容:

export JAVA_HOME=/opt/ jdk1.7.0_21
export JRE_HOME=/opt/jdk1.7.0_21 /jre 
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH 
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:.

注意:
在Windows操作系统中安装JDK更加简单,只需要配置好JAVA__HOME和CLASSPATH这2个环境变量即可。Linux配置中,多个路径直接使用“:”连接,而Windows操作系统中则使用“,”来连接。为了方便Java程序的编译,特别是使用javac来进行编译的情况下,需要在CLASSPATH中加入“.”,即当前路径。

相关文章
|
12月前
|
人工智能 Kubernetes Java
回归开源,两位 Java 和 Go 程序员分享的开源贡献指引
Higress是一个基于Istio和Envoy的云原生API网关,支持AI功能扩展。它通过Go/Rust/JS编写的Wasm插件提供可扩展架构,并包含Node和Java的console模块。Higress起源于阿里巴巴,解决了Tengine配置重载及gRPC/Dubbo负载均衡问题,现已成为阿里云API网关的基础。本文介绍Higress的基本架构、功能(如AI网关、API管理、Ingress流量网关等)、部署方式以及如何参与开源贡献。此外,还提供了有效的开源贡献指南和社区交流信息。
1985 33
|
12月前
|
Java 程序员 应用服务中间件
【高薪程序员必看】万字长文拆解Java并发编程!(2 2-2)
📌 核心痛点暴击:1️⃣ 面了8家都被问synchronized锁升级?一张图看懂偏向锁→重量级锁全过程!2️⃣ 线程池参数不会配?高并发场景下这些参数调优救了项目组命!3️⃣ volatile双重检测单例模式到底安不安全?99%人踩过的内存可见性大坑!💡 独家亮点抢先看:✅ 图解JVM内存模型(JMM)三大特性,看完再也不怕指令重排序✅ 手撕ReentrantLock源码,AQS队列同步器实现原理大揭秘✅ 全网最细线程状态转换图(附6种状态转换触发条件表)
239 0
|
12月前
|
存储 缓存 Java
【高薪程序员必看】万字长文拆解Java并发编程!(5):深入理解JMM:Java内存模型的三大特性与volatile底层原理
JMM,Java Memory Model,Java内存模型,定义了主内存,工作内存,确保Java在不同平台上的正确运行主内存Main Memory:所有线程共享的内存区域,所有的变量都存储在主存中工作内存Working Memory:每个线程拥有自己的工作内存,用于保存变量的副本.线程执行过程中先将主内存中的变量读到工作内存中,对变量进行操作之后再将变量写入主内存,jvm概念说明主内存所有线程共享的内存区域,存储原始变量(堆内存中的对象实例和静态变量)工作内存。
348 0
|
12月前
|
设计模式 缓存 安全
【高薪程序员必看】万字长文拆解Java并发编程!(8):设计模式-享元模式设计指南
🌟 ​大家好,我是摘星!​ 🌟今天为大家带来的是并发编程中的经典对象复用设计模式-享元模式,废话不多说让我们直接开始。
239 0
|
12月前
|
存储 安全 Java
【高薪程序员必看】万字长文拆解Java并发编程!(7):不可变类设计指南
🌟 ​大家好,我是摘星!​ 🌟今天为大家带来的是并发编程中Java不可变类设计指南,废话不多说让我们直接开始。
228 0
|
12月前
|
机器学习/深度学习 消息中间件 存储
【高薪程序员必看】万字长文拆解Java并发编程!(9-2):并发工具-线程池
🌟 ​大家好,我是摘星!​ 🌟今天为大家带来的是并发编程中的强力并发工具-线程池,废话不多说让我们直接开始。
420 0
Java程序员必学:JVM架构完全解读
Java 虚拟机(JVM)是 Java 编程的核心,深入理解其架构对开发者意义重大。本文详细解读 JVM 架构,涵盖类加载器子系统、运行时数据区等核心组件,剖析类加载机制,包括加载阶段、双亲委派模型等内容。阐述内存管理原理,介绍垃圾回收算法与常见回收器,并结合案例讲解调优策略。还分享 JVM 性能瓶颈识别与调优方法,分析 Java 语言特性对性能的影响,给出数据结构选择、I/O 操作及并发同步处理的优化技巧,同时探讨 JVM 安全模型与错误处理机制,助力开发者提升编程能力与程序性能。
Java程序员必学:JVM架构完全解读
|
10月前
|
Oracle Java 关系型数据库
新手必看:Java 开发环境搭建之 JDK 与 Maven
本文分享了 Java 学习中 JDK 安装配置与 Maven 使用的入门知识,涵盖 JDK 下载安装、环境变量设置、Maven 安装配置及本地仓库与镜像设置,帮助新手快速搭建 Java 开发环境。
1290 0
|
监控 数据可视化 Java
调试技巧 - 用Linux命令排查Java问题
总的来说,使用Linux命令来排查Java问题,需要一定的实践经验和理论知识。然而,只要我们愿意花时间深入了解这些工具,我们就能够熟练地使用它们来分析和解决问题。此外,这些工具只是帮助我们定位问题,真正解决问题需要我们对Java和JVM有深入的理解,并能够读懂和分析代码。
604 13