当前位置: 首页 > news >正文

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

本节书摘来异步社区《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中加入“.”,即当前路径。

相关文章:

  • 《好学的C++程序设计》——2.3 循址访问是怎样的
  • 《Adobe Fireworks CS5中文版经典教程》——1.5 使用多个文档
  • 《Android 应用案例开发大全(第3版)》——第2.6节绘制相关类
  • 《编写高质量代码:改善c程序代码的125个建议》——建议14-4:尽量避免在同一个数据上执行位操作与算术运算...
  • 《51单片机应用开发范例大全(第3版)》——1.4 【实例19】P1口控制直流电动机实例...
  • 《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》——2.3 本章小结...
  • 《Adobe Photoshop CS6中文版经典教程(彩色版)》—第1课1.1节开始在Adobe Photoshop中工作...
  • MySQL 大数据量快速插入方法和语句优化
  • 《C++入门经典(第5版•修订版)》——6.8 作业
  • 《Adobe Premiere Pro CC经典教程(彩色版)》——1.4 Premiere Pro界面概述
  • 《树莓派开发实战(第2版)》——2.4 为树莓派配置网络名称
  • 《实施Cisco统一通信管理器(CIPT2)》一1.5 可用性方面面临的挑战
  • 《跨境电商 —— 阿里巴巴速卖通实操全攻略》一一2.4 淘代销
  • 《社会智能与综合集成系统》—第1章1.1节认知科学的发展
  • 《像计算机科学家一样思考Python》——3.13 使用from导入模块
  • 〔开发系列〕一次关于小程序开发的深度总结
  • 77. Combinations
  • dva中组件的懒加载
  • Effective Java 笔记(一)
  • java概述
  • JS实现简单的MVC模式开发小游戏
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • PermissionScope Swift4 兼容问题
  • Python socket服务器端、客户端传送信息
  • Python利用正则抓取网页内容保存到本地
  • React-redux的原理以及使用
  • Travix是如何部署应用程序到Kubernetes上的
  • 多线程事务回滚
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 精彩代码 vue.js
  • 入门级的git使用指北
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 手机端车牌号码键盘的vue组件
  • 学习笔记:对象,原型和继承(1)
  • 一道面试题引发的“血案”
  • 阿里云移动端播放器高级功能介绍
  • ​520就是要宠粉,你的心头书我买单
  • # C++之functional库用法整理
  • # include “ “ 和 # include < >两者的区别
  • # 数论-逆元
  • #android不同版本废弃api,新api。
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (一)Neo4j下载安装以及初次使用
  • (转)shell调试方法
  • .gitignore
  • .NET实现之(自动更新)
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @软考考生,这份软考高分攻略你须知道
  • [22]. 括号生成
  • [Angularjs]ng-select和ng-options