一、引言:
初学java的时候会充满各种疑惑,对java的体系及其使用的不了解,往往导致开发环境部署的失败,亦或者后面继续学习蹦出一些问题。现在记录一下自己所学,以便后面捡起java从头复习。
1、java不仅仅是一门编程语言,还是一个由计算机软件和规范组成的技术体系。这个技术体系包含这几个组成部分:
- java程序语言设计
- 各种硬件平台上的java虚拟机实现
- class文件格式
- java类库API
- 来自商家机构和开源社区的第三方类库
2、从java各组层部分的功能划分:
JDK(Java Development Kit):我们通常用jdk来代指整个java的技术体系,它里面包含了 java语言程序设计、java虚拟机、java类库 这三部分,它是用于支持java开发的最小环境,也是我们在windows或者linux下学习需要下载的java环境。另外还有一个概念是JRE(Java Runtime Enviroment),它是不带编译器的支持java程序运行的标准环境,包含 java虚拟机、java类库API中java SE API子集这两部分。
3、按技术服务领域来划分的:
只说我目前常接触的两种:
Java SE (Standard Editon):标准版,支持面向桌面级应用,例如windows下的应用程序,它提供了完整的java核心的API,这条产线它在JDK6以前被称为J2SE。内含标准开发和运行环境(JDK+JRE),我们平常学的基础java开发就是这个。
Java EE(Enterprise Edition):企业版,支持使用多层架构的企业应用的java平台,多用于企业级开发,包括web开发等。除了提供java SE API外,还对其做了大量有针对性的扩充,并提供了相关的部署支持,这条产线在JDK以前被称为J2EE,在JDK10以后被Oracle放弃,捐给了Ecplise基金会管理,此后被称为Jakarta EE。内含 java的web 开发和运行环境。如果后面使用的ecplise这个IDE来做java学习开发等,一定要选ecplise-jee的下载,这样你后面就不要下载相应插件或者换软件之类的了。我自己下的是这个版本:eclipse-jee-oxygen-R-win32-x86_64。
Java ME(Micro Edition):移动端版本,支持java程序运行在移动终端(手机,PDA)上的平台,对API有精简,并加入了移动终端的针对性支持。JDK6之前称为J2ME,但是现在非常流行的,主要使用java语言开发程序的android却并不属于Java ME。
补充java发展史:在jdk6之前,jdk一直是以低调的jdk1.x版本推进,直到jdk1.5开始直接去掉了小数点直接命名为jdk5,jdk6,jdk8等......所以我后面也纳闷为什么装好jdk输入java -version命令,出现的是jdk1.8的信息,但是却找不到1.8的安装包。其实jdk8就是指代jdk1.8,其他的版本也类似。一开始java的开发工作在jdk7之前一直是在sun公司手上,但是曾经辉煌一时的sun公司因经营不善,在jdk7阶段已无力继续推进更新java计划,被Oracle公司以74亿美元收购了sun公司,然后,java的商标正式划归Oracle公司所有。后来也出现了一件大事,就是18年Android的java侵权案有了结果,法庭判定Google公司赔偿Oracle公司合计88亿美元。要知道当初是sun像Google抛去的橄榄枝,Android的流行也极大的巩固了java的地位。然而Oracle转手就用sun的专利把Google告了,此举让人觉得有悖sun公司推进java的初衷,最后Oracle还”净赚“了java的所有权。不禁让人感到唏嘘。
二、Linux(CentOS系统)jdk8安装步骤:
-
检测是否存在java,可能自带的jdk比较low吧(其实是自己不会用),所以大都建议卸掉。
输入命令:找不到就说明没装:
java -version
如果显示java版本,那就先删除旧的java:
-
查找java所在位置:
rpm -qa | grep java
参数解析:
rpm redhat系列的linux系统软件管理工具
-qa 使用询问模式,查询所有套件,
grep 查找文件里符合条件的字符串
-
删除查找到的java目录文件,如:
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
参数解析:
rpm 软件管理工具
-e 删除
--nodeps 删除时连带相关依赖一起删除
删除完后可输入下面命令查看卸载情况:
-
java -version
-
出现java not found就卸载完成
-
-
安装新的jdk1.8:
下载方法二:百度云盘:linux 64 jdk1.8( jdk-8u161-linux-x64.tar.gz):https://pan.baidu.com/s/18IicPYf7W0j-sHBXvfKyyg;windows 64 jdk1.8 :https://pan.baidu.com/s/1eZM0SnpjHY8Wp_H2gkFb7Q
安装,这里下的压缩包的方式,所以用解压的安装方法,当然还有rpm的方式,但是需要下载rpm安装包:
-
下载后解压:(我这里sudo是已经在之前就给用户赋予了root用户一样的权限,如果没设置就干脆用root,因为只不过我是想让这个java环境只属于此用户)
sudo tar zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/
参数解析:
tar 备份文件
-zxvf
-z 通过gzip指令处理备份文件
-x 从备份文件中还原文件
-v 显示指令执行过程
-f 指定备份文件
-C 解压到指定的目录
-
更改java目录名字方便使用:
sudo mv /usr/local/jdk1.8.0_161/ /usr/local/java/
-
添加环境变量:
- 用管理员是身份进入配置文件:
- 光标移动到文本最下面,按i进入linux自带的vi编辑器的insert模式,在后一行粘贴如下代码(JAVA_HOME是你的java安装路径),
- 添加之后按Esc键进入vi编辑器你的命令模式
- 此时再输入:表示输入命令开始,
- 输入wq 回车即可保存配置并退出,
#java environment export JAVA_HOME=/usr/local/java export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export PATH=$PATH:${JAVA_HOME}/bin
-
输入命令使环境变量配置马上生效:
source /etc/profile
-
测试是否安装成功
java -version
成功!(若是不成功就再来一遍,另外注意环境变量配置改的时候小心一些,别误删了)
-
三、Linux(CentOS)下Tomcat 9的下载安装
-
下载Tomcat:
-
官网下载跟jdk相应的版本的tomcat:http://tomcat.apache.org/ :(因为下载的包比较小才10M,所以直接在官网下),找到响应的版本。
下tomcat要先对应自己的jdk版本,比如我下的就是tomcat9,而我的jdk8可以用。(现在才知道tomcat Tom+cat 不就是Tom猫的意思吗,可真有意思):
-
右键复制 在linux安装tomcat链接地址
执行命令下载tomcat的安装包:
sudo wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz
-
-
安装Tomcat:
-
解压安装包:
sudo tar -zxvf apache-tomcat-9.0.31.tar.gz -C /usr/local/
-
更名:
sudo mv /usr/local/apache-tomcat-9.0.31/ /usr/local/tomcat/
-
编辑环境变量:
sudo vim /etc/profile
编辑保存:在文件末尾另起一行按i进入插入模式添加如下内容(添加之后 按Esc键——输入 :wq ——回车保存退出)
#tomcat9 export CATALINA_HOME=/usr/local/tomcat export CATALINA_BASE=/usr/local/tomcat export TOMCAT_HOME=/usr/local/tomcat
使环境变量生效:
source /etc/profile
-
修改tomcat配置文件service.xml:
cd /usr/local/tomcat/conf
找到配置8080端口的位置,在节点末尾添加
URIEncoding="UTF-8"
: -
启动tomcat:
cd /usr/local/tomcat/bin
./startup.sh
-
因为我用的是阿里云轻量型服务器,必须要在安全规则那里进行端口开放设置:
看了下轻量型的服务器默认防火墙是关闭的,因为轻量型服务器已经有网页应用部署了,所以没开防火墙。愣是要开防火墙那就得在防火墙那边用命令把相应端口开放,这样开启的防火墙就不会拦截外部请求了。另外如果是阿里云ECS云服务器开放tomcat端口步骤可以参考另一篇博客:https://blog.csdn.net/Blue_Sky_rain/article/details/91348791
-
测试:公网ip:8080
-
-
Tomcat 目录结构说明
[mrx@thisexample]# ls bin --启动命令目录 conf --配置文件目录 *重点 lib --库文件目录 logs --日志文件目录 *重点 temp --临时缓存文件 webapps --web应用家目录 *重点,因为自己的项目一般都是直接扔在在这里 work --工作缓存目录