一、引言:
初學java的時候會充滿各種疑惑,對java的體系及其使用的不了解,往往導緻開發環境部署的失敗,亦或者後面繼續學習蹦出一些問題。現在記錄一下自己所學,以便後面撿起java從頭複習。
1、java不僅僅是一門程式設計語言,還是一個由計算機軟體和規範組成的技術體系。這個技術體系包含這幾個組成部分: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程式語言設計
- 各種硬體平台上的java虛拟機實作
- class檔案格式
- java類庫API
- 來自商家機構和開源社群的第三方類庫
補充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>
雲伺服器ECS位址:阿裡雲·雲小站