目录
1 Linux安装JDK 1
1.1 安装JDK 1
1.1.1进入linux 获得管理员权限用户。 1
1.1.2 查看本机自带JDK 1
1.1.3删除本机自带JDK 1
1.1.4在本地安装JDK1.8 2
1.1.5 解压缩并配置环境变量 2
1.1.6 配置JDK全局变量 4
1.1.7 检查是否配置成功 5
2 Linux安装Tomcat 6
2.1 下载Tomcat 6
2.2 安装并配置 7
2.3 打开Tomcat服务器并运行 8
2.4 查看服务器是否配置成功 9
3 JDK、Tomcat技术原理 10
3.1 JDK在不同操作系统的工作方式 10
3.1.1 JDK工作原理 10
3.1.2 Windows下运行java 12
3.1.3 Linux下运行java 12
3.2 Tomcat工作原理 13
3.2.1 Windows下部署服务器 13
3.2.2 Linux下部署服务器 15
3.3 两者其他相同点 16
3.4 两者其他不同点 17
4 JDK、Tomcat的应用 18
4.1 JDK的应用场所 18
4.2 Tomcat的应用场所 18
参考文献: 19

1 Linux安装JDK
1.1 安装JDK
一般初始安装Linux后会自带JDK,我们需要将它卸载。
1.1.1进入linux 获得管理员权限用户。

查看本机默认JDK版本 java -version

发现有1.7在本机上。
1.1.2 查看本机自带JDK
输入命令 rpm -qa | grep java 可以查看JDK安装文件的相关信息。
rpm   管理套件
-qa   使用询问模式,查询所有套件
grep  查找文件里符合条件的字符串
java   查找包含java字符串的文件
1.1.3删除本机自带JDK
输入:
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.51-2.4.5.5.el7.x86_64
这两条命令是去除本机JDk
结果如下:

这时候,本机自带的jdk已删除,接着安装新的JDK
1.1.4在本地安装JDK1.8
下载好后的JDK默认放在当前用户的下载目录。

右击打开终端,查看当前目录文件详细信息 ls -all,查看当前目录:pwd。这两个下面将会用到。
修改权限:[root@localhost 下载]#chmod 755 jdk-linux-x64.tar.gz

1.1.5 解压缩并配置环境变量
将下载好的JDK复制到 /usr/java 下 可以使用命令:
[root@localhost 下载]# cp jdk-linux-x64.tar.gz /usr/java/
接着在进行解压缩处理:
[root@localhost java]# tar -zxvf jdk-linux-x64.tar.gz (z指gz文件、x是解压、-v :压缩的过程中显示文件、f指定文件):
将当前文件夹的压缩包删除:
[root@localhost java]#rm -f jdk-linux-x64.tar.gz
进入全局变量编辑:
[root@localhost java]#vim /etc/profile。
Vim:文本编辑 /etc/profile:全局变量文件。进入文本编辑状态下,光标走到文件最后一行,键盘按下:i(小写字母)。

此时,处于编辑状态。在文本的最后一行:
export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=.: J A V A H O M E / j r e / l i b / r t . j a r : {JAVA_HOME}/jre/lib/rt.jar: JAVAH​OME/jre/lib/rt.jar:{JAVA_HOME}/lib/dt.jar: J A V A H O M E / l i b / t o o l s . j a r e x p o r t P A T H = {JAVA_HOME}/lib/tools.jar export PATH= JAVAH​OME/lib/tools.jarexportPATH=PATH:${JAVA_HOME}/bin
这段程序的意思是:配置JAVA_HOME 环境变量 目标指向/usr/java/jdk1.8.0_131,并配置类路径CLASSPATH 基于JAVA_HOME路径下的jre/lib/rt.jar 、dt.jar、tools.jar。路径为:JAVA_HOME下的bin目录下。
输入完成后,在键盘上输入 shift+: 然后输入 wq! 保存并离开。
配置了 java_home 等需要的类库文件。

然后,刷新缓存,配置生效。
[root@localhost 桌面]# source /etc/profile

1.1.6 配置JDK全局变量
提示:有的用户安装好JDK后,必须频繁source /etc/peofile 才能使配置文件生效,这里做一下简单配置:
[root@localhost etc]# vim bashrc
export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=.: J A V A H O M E / j r e / l i b / r t . j a r : {JAVA_HOME}/jre/lib/rt.jar: JAVAH​OME/jre/lib/rt.jar:{JAVA_HOME}/lib/dt.jar: J A V A H O M E / l i b / t o o l s . j a r e x p o r t P A T H = {JAVA_HOME}/lib/tools.jar export PATH= JAVAH​OME/lib/tools.jarexportPATH=PATH:${JAVA_HOME}/bin

接着按 i(小写)编辑,然后按 esc 接着输入 shift+: ,接着输入wq! 完成编辑保存并退出。
然后
[root@localhost etc]# source /etc/bashrc
刷新资源。即使全局配置文件生效,在哪个地方都可用。
1.1.7 检查是否配置成功
输入命令:java
[root@localhost bin]#java
显示如下:

输入命令:javac
[root@localhost bin]#javac
显示如下:

输入命令:java -version
[root@localhost bin]# java -veriosn
显示如下,表示成功!
自此,JDK安装完成。

2 Linux安装Tomcat
Tomcat是基于JDK运行环境的,所以,JDK安装好后,就可以安装Tomcat。只有在JDK在本机环境中没有任何问题的条件下,才能启动Tomcat
2.1 下载Tomcat
访问Tomcat官网。https://tomcat.apache.org 如图1所示。

图 1
图片不太清楚,这里简要说明。
 tar.gz:Linux环境下的压缩包,免安装
 Windows.zip:Windows压缩包,免安装,解压即用,同时注意根据自己电脑是64位系统还是32位系统下载对应的压缩包
 Windows Service Installer:Windows安装包,32位和64位版本的Windows系统都适用。
选择tar.gz 结尾的文件。这个文件格式是linux下的压缩包。如何你需要开发更多的功能,可以选择 开发者包。当然你还想需要更多的功能,可以选择源码下载。

这个就是tomcat的压缩版。
2.2 安装并配置
把下载好的Tomcat压缩包复制到 /usr/tomcat 目录下:
[root@localhost下载]#cp apachetomcat8.5.tar.gz /usr/tomcat
获得所有权:
[root@localhost tomcat]#chmod 777 apachetomcat8.5.tar.gz
解压这个压缩包:
[root@localhost tomcat]#tar -zxvf apachetomcat8.5.tar.gz
得到的解压缩后的文件:

删除原有的压缩包:
[root@localhost tomcat]#rm -f apachetomcat8.5.tar.gz
有写用户解压后无法访问,这是权限不够导致的,解决方案是:
[root@localhost tomcat]# sudo chmod -R 777 apache-tomcat-8.5.8/
2.3 打开Tomcat服务器并运行
先到tomcat的目录:cd /usr/bin
输入命令:
[root@localhost bin]# ./startup.sh
接着显示如下信息:
Using CATALINA_BASE: /usr/tomcat/apache-tomcat-8.5.8
Using CATALINA_HOME: /usr/tomcat/apache-tomcat-8.5.8
Using CATALINA_TMPDIR: /usr/tomcat/apache-tomcat-8.5.8/temp
Using JRE_HOME: /usr/java/jdk1.8.0_131
UsingCLASSPATH: /usr/tomcat/apache-tomcat-8.5.8/bin/bootstrap.jar:/usr/tomcat/apache-tomcat-8.5.8/bin/tomcat-juli.jar
Tomcat started.

注意,没有获得管理员权限的用户的先进入管理员权限!
[thunder@localhost bin]$ su
密码(输入密码)
这样就进入管理员权限下。
2.4 查看服务器是否配置成功
打开浏览器输入: http://127.0.0.1:8080/

自此,Tomcat服务器配置完成。

3 JDK、Tomcat技术原理
3.1 JDK在不同操作系统的工作方式
3.1.1 JDK工作原理
JDK:JSun公司开发的,JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
它的基本组成:
javac 编译器,将源程序转成字节码
jar 打包工具,将相关的类文件打包成一个文件
javadoc 文档生成器,从源码注释中提取文档
jdb – debugger debugger,查错工具
java 运行编译后的java程序(.class后缀的)
appletviewer 小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
Javah 产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jconsole Java进行系统调试和监控的工具
jdk结构图
这些功能组成了JDK的基本架构。它是以虚拟机的形式运行在操作系统上的。这样一来,就“屏蔽”了操作系统。不论在什么操作系统上,它都会同样的运行出一样的效果。即一次编译,处处运行。java语言的跨平台性,保证了它的稳定性好。正因为这样,java所有的生态链的东西,蓬勃的发展。那么windows和linux就保证了一致性。具体的运行流程如下:

一个源程序经过编译后,产生了不同的机器码,即在windows与linux。这是JVM的功劳。
java.exe 是 java class 文件的执行程序,但实际上 java.exe 程序只是一个执行的外壳,它会装载 jvm.dll ( windows 下) linux 下和 solaris 下其实类似,为:libjvm.so,这个动态连接库才是 java 虚拟机的实际操作处理所在。
3.1.2 Windows下运行java
来看如下实例:
Windows:
E盘新建Test.java
代码如下:
public class Test{
public static void main(String[] args){
System.out.println(“Hello World”);
}
}
用javac编译源码得到字节码:
Test.class

运行如下:

3.1.3 Linux下运行java
那么把 这个字节码移植到Linux下:

接着输入命令:
[root@localhost 文档]# javac Test.java
[root@localhost 文档]# java Test
输出 Hello World

备注:如何让本地虚拟机访问到本机的共享文件夹或磁盘。
首先安装VMware Tools工具
VMwareTools-9.6.0-1294478.tar.gz
解压压缩包:
[root@localhost data]# tar -zxvf VMwareTools-9.6.0-1294478.tar.gz
得到文件夹

计入,打开并执行命令:
[root@localhost vmware-tools-distrib]# ./vmware-install.pl
或者使用:
[root@localhost data]#yum install -y open-vm-tools
都可以。然后在/mnt/ 下有个hgfs文件夹,这个文件夹就是linux挂载额外设备的地方。
接着就可以访问本机文件。
通过以上实例,可以得知,JDK的平台无关性。

3.2 Tomcat工作原理
3.2.1 Windows下部署服务器
我们再来看看Tomcat的情况。
我们在windows下建立一个WEB程序。并打包。
如下实例,计算一个三角形的面积程序。输入三条边计算。
Index.jsp:
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

计算 <% String sizeA = request.getParameter("sizeA"); String sizeB = request.getParameter("sizeB"); String sizeC = request.getParameter("sizeC"); try { double a = Double.parseDouble(sizeA); double b = Double.parseDouble(sizeB); double c = Double.parseDouble(sizeC); double p = (a + b + c) / 2, area = 0; area = Math.sqrt(p * (p - a) * (p - b) * (p - c)); out.println("
三角形面积" + area); }catch (NumberFormatException e){ out.print("
请输入字符"); } %> Computer.jsp: <%@ page contentType="text/html;charset=UTF-8" language="java" %> 计算 <% String sizeA = request.getParameter("sizeA"); String sizeB = request.getParameter("sizeB"); String sizeC = request.getParameter("sizeC"); try { double a = Double.parseDouble(sizeA); double b = Double.parseDouble(sizeB); double c = Double.parseDouble(sizeC); double p = (a + b + c) / 2, area = 0; area = Math.sqrt(p * (p - a) * (p - b) * (p - c)); out.println("
三角形面积" + area); }catch (NumberFormatException e){ out.print("
请输入字符"); } %>

在IDE中将此打包为war包(HomeWork.war)。放在Tomcat下运行。
运行的结果是:

点击提交按钮之后:

到此,这是windows下的运行效果。
3.2.2 Linux下部署服务器
我们再把,它放在Linux下运行。

然后,打开浏览器输入:
http://127.0.0.1:8080/HomeWork /request/3-1/index.jsp
显示如下界面:

让后点击提交:

显示面积为24

综上,在不同的操作系统上,JDK、Tomcat都能以同样的姿态运行在目标机器上面。
这就是它的强大之处。然而,JDK在其他方面例如底层设计的时候,考虑到以下几点:
3.3 两者其他相同点
源代码可移植性
作为一种编程语言,JAVA提供了一种最简单同时也是人们最熟悉的可移植性–源代码移植。这意味着任意一个JAVA程序,不论它运行在何种CPU、操作系统或JAVA编译器上,都将产生同样的结果。那么Tomcat运行在JDK之上,那么它的特性也伴随着JDK。在设计的时候严格定义,如:未初始化变量的值、对已释放的内存的存取、浮点运算的尾数值等等。另外,JAVA对程序的行为的定义严格,使用内存自动回收功能(Garbage Collection),使程序不能访问越界内存;它对未初始化的变量提供确定值等等。
CPU可移植性
大多数编译器产生的目标代码只能运行在一种CPU上(如Intel的x86系列),即使那些能支持多种CPU的编译器也不能同时产生适合多种CPU的目标代码。如果你需要在三种CPU(如x86、SPARC和MIPS)上运行同一程序,就必须编译三次。 但JAVA编译器就不同了。JAVA编译器产生的目标代码(J-Code)是针对一种并不存在的CPU–JAVA虚拟机(JAVA Virtual Machine),而不是某一实际的CPU.JAVA虚拟机能掩盖不同CPU之间的差别,使J-Code能运行于任何具有JAVA虚拟机的机器上。当今主流的操作系统如OS/2、MacOS、Windows95/NT都已经或很快提供对J-Code的支持。然而,将源程序编译为J-Code的好处在于可运行于各种机器上,而缺点是它不如本机代码运行的速度快。
操作系统可移植性
JAVA采用了提供一套与平台无关的库函数(包括AWT、UTIL、LANG等等)的方法来解决这个问题。就象JVM提供了一个虚拟的CPU一样,JAVA库函数提供了一个虚拟的GUI环境。JAVA程序仅对JAVA库函数提出调用,而库函数对操作系统功能的调用由各不同的虚拟机来完成。JAVA也在它的OS/GUI库中使用了一种“罕见名称符”(least-commom-denominator)来提供对某种特定操作系统的功能调用,即此功能只在特定环境下生效而在其它操作系统下则被忽略。
3.4 两者其他不同点
在其他设计之处的不同:
FileSystem类
JDK 里面抽象出了一个 FileSystem 来表示文件系统,不同的操作系统通过继承该类实现各自的文件系统,比如 Windows NT/2000 操作系统则为 WinNTFileSystem,而 unix-like 操作系统为 UnixFileSystem。
需要注意的一点是,WinNTFileSystem类 和 UnixFileSystem类并不是在同一个 JDK 里面,也就是说它们是分开的,你只能在 Windows 版本的 JDK 中找到 WinNTFileSystem,而在 unix-like 版本的 JDK 中找到 UnixFileSystem,同样地,其他操作系统也有自己的文件系统实现类

4 JDK、Tomcat的应用
4.1 JDK的应用场所
1、安卓应用(APP)
打开你的安卓手机和任何一款App,它们是使用Java语言,基于GoogleAPI(和JDK类似)开发的。安卓使用不同的Java虚拟机、不同的包,但是代码仍是用Java写的。
2、金融业服务器的应用
在金融服务中Java有很重要的作用。很多银行使用Java来开发前台和后台电子交易系统,提供解决方案和确认系统以及数据处理项目等等。
3、Java Web应用
Java在电子商务和Web应用领域也是有很多的应用。现在有很多使用Spring MVC、Structs2.0、SpringBoot、SpringCloud和类似框架开发的RESTful风格的服务。甚至建一个简单的依赖SSM框架开发的Web应用在各行各业很受欢迎。
4、嵌入式领域
在嵌入式领域,Java也是有很大应用的。你只需要很小的存储空间就可以操控例如洗衣机、空调、微波炉等。
5、大数据技术
Hadoop和其他大数据技术以这样的或那样的方式使用者Java,例如Apache依赖Java的HBse和Accumulo(开源)以及ElasticSearch。

4.2 Tomcat的应用场所
1、WEB服务器应用
大都数中小型企业的服务器都用的是Tomcat。它的高性能获得大众的青睐。笔者在今年的寒假期间,发现的“淮上通”后台服务器是Tomcat,以及“学习通”后台也是Tomcat服务器。可见它的应用之广。
2、个人及学习
像这种开源的服务器,最适合初学者以及开发人员的调试。

虚拟机中Linux下安装JDK、Tomcat相关推荐

  1. linux下安装jdk+tomcat+eclipse+mysql

    linux下安装jdk+tomcat+eclipse+mysql 这个星期一部门老大忽然冒出一句:"小祝,你对linux怎么样啊,用过没?",于是俺就老实的回答:"在学校 ...

  2. linux 部署java的胡那就,心得之:linux下安装jdk tomcat oracle10g

    最近一直在研究linux环境的操作,其实之前一直没有实际需求要用到linux,因项目需要,突然接受,显得很局促和苦闷,因我对linux的操作太不熟悉了,基本命令使用起来都很苦逼.现在突然需要搭建lin ...

  3. Linux下安装JDK,Tomcat,Mysql详细教程

    1. 概述 今天教大家在linux下安装jdk,mysql以及tomcat.在javaweb开发中,最后完成的项目代码,一般都是布在linux服务器下的.因为linux服务器可以说是安全性稳定性都比w ...

  4. linux jdk1.7 tomcat mysql_RedHat Linux 下安装JDK 1.7+MySQL 5.0+Tomcat 7.0.27过程

    RedHat Linux 下安装JDK 1.7+MySQL 5.0+Tomcat 7.0.27过程记录: tar -zxvf jdk-7u3-linux-i586.tar.gz /解压gz文件 rpm ...

  5. Linux下安装JDK笔记与Linux安装Tomcat笔记

    项目需要,又要折腾Linux了,使用了VMware装一下linux,配置java运行环境,首先是配置JDK... OS:CentOS 64bit 一:到Oracle下载最新版的JDK http://w ...

  6. linux上安装java失败,Linux下安装jdk失败怎么办

    有时出于需要(比如安装最新的eclipse),我们需要安装指定版本的JDK.然而,安装完成之后,再次键入命令查询JDK版本却发现版本号没有更新.那么,这应该如何解决呢?下面就让学习啦小编教大家Linu ...

  7. Linux下安装jdk

    不需要删除旧的jdk,安装新版本的jdk,再更新环境变量即可. Linux下安装jdk,步骤如下 1:下载jdk包:如jdk-8u111-linux-x64.tar.gz 2: 把jdk文件保存至Li ...

  8. linux下安装jdk, mysql,tomcat等application示例,并且开启MySQL远程访问权限

    Linux软件安装 jdk,mysql,tomcat 软件安装:软件在阿里云盘下载:30天内有效,如果过期,请联系我 https://www.aliyundrive.com/s/mKjz8t8oF9M ...

  9. Linux上安装JDK+Tomcat

    一.下载JDK             1.登录Sun的JDK官方下载网址:http://java.sun.com/javase/downloads/index.jsp 2.下载jdk1.6.0_35 ...

最新文章

  1. 华为精益敏捷专家:DevOps转型中的那些坑
  2. 涨姿势 |你所不知道的5 个AR增强现实新趋势
  3. 《HFSS电磁仿真设计从入门到精通》一第2章 入门实例——T形波导的内场分析和优化设计...
  4. 不用for 也能实现按照某索引排好某序列
  5. Linux下用Xdebug调试php
  6. 电机与拖动,直流他励电动机的特性测试实验报告,江南大学自动化
  7. 终于,我读懂了所有Java集合——map篇
  8. 苹果账号:个人,公司,企业,教育,
  9. jQuery中的join方法
  10. 【NDSS 2021】On the Insecurity of SMS One-Time Password Messages against Local Attackers 论文笔记
  11. wep破解——模拟chopchop攻击
  12. 多版本环境管理工具sdkman
  13. 流行和声(2)Major6和弦
  14. vue组件可视化_Vue HTML5音频可视化组件
  15. Sentence Centrality Revisited for Unsupervised Summarization
  16. 闪存类型测试软件,轻松测闪存类型 测试软件P10Check上架谷歌商店
  17. PHP简单实现“相关文章推荐”功能的方法
  18. python 收发微信之二:获取微信上行信息(利用 flask 框架实现 Web API,获取 WxPusher 上行微信)
  19. 软件工程选择与判断题
  20. 高频功率放大器工作原理总结(高频和低频功率放大器的区别)

热门文章

  1. 决策树——预剪枝和后剪枝
  2. ICCV 2019,中国力量不容小觑,中科院、清华领跑
  3. 删除数据库表中重复数据的总结(oracle)
  4. matlab连续时间系统复频域分析,连续信号与系统复频域分析的MATLAB实现
  5. 解决ubuntu开机循环输入密码无法进入桌面的问题
  6. 想做就马上做,喜欢就坚持做 —— 我的编程之路
  7. Spring源码分析之——getBean细节
  8. 复现BART finetune历程
  9. Java笔记二十四——Spring开发
  10. 读书笔记:《人力资源管理》- 1