一、引言:
初學java的時候會充滿各種疑惑,對java的體系及其使用的不瞭解,往往導致開發環境部署的失敗,亦或者後面繼續學習蹦出一些問題。現在記錄一下自己所學,以便後面撿起java從頭複習。
1、java不僅僅是一門編程語言,還是一個由計算機軟件和規範組成的技術體系。這個技術體系包含這幾個組成部分:
- java程序語言設計
- 各種硬件平臺上的java虛擬機實現
- class文件格式
- java類庫API
- 來自商家機構和開源社區的第三方類庫
JDK(Java Development Kit):我們通常用jdk來代指整個java的技術體系,它裡面包含了 java語言程序設計、java虛擬機、java類庫 這三部分,它是用於支持java開發的最小環境,也是我們在windows或者linux下學習需要下載的java環境。另外還有一個概念是JRE(Java Runtime Enviroment),它是不帶編譯器的支持java程序運行的標準環境,包含 java虛擬機、java類庫API中java SE API子集這兩部分。
只說我目前常接觸的兩種:
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:
下載後解壓:(我這裡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/
#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
用管理員是身份進入配置文件:
光標移動到文本最下面,按i進入linux自帶的vi編輯器的insert模式,在後一行粘貼如下代碼(JAVA_HOME是你的java安裝路徑),
添加之後按Esc鍵進入vi編輯器你的命令模式
此時再輸入:表示輸入命令開始,
輸入wq 回車即可保存配置並退出,
輸入命令使環境變量配置馬上生效:
source /etc/profile
測試是否安裝成功
java -version
成功!(若是不成功就再來一遍,另外注意環境變量配置改的時候小心一些,別誤刪了)
下載方法一:去官網下載:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html(但是要註冊Oracle賬號,不註冊下不了,註冊有些麻煩的,下起來速度還慢,而且現在Oracle的jdk8以後的高版本是收費的)
下載方法二:百度雲盤: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安裝包:
三、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 --工作緩存目錄</code></pre>