TOMCAT之java技術詳解

一、JAVA的形成歷史

早期在20世紀90年代,SUN公司爲了搶佔智能電視的市場,在1991年成立了一個Green的研發小組,專攻計算機在家電產品上的嵌入應用;但是由於消費電子產品所採用的嵌入式處理器芯片的種類繁雜,如何讓編寫的程序跨平臺運行也是個難題,所以後來開發了一種稱爲Oak的面嚮對象語言。1995年,更名爲java,據說是在Java島(爪哇島)上曾喝過一種美味的咖啡,於是便命名爲java;開始向互聯網進發,開啓了java的輝煌之旅。

二、java的主要技術

  • java程序設計語言
  • java API
  • java class
  • JVM:java virtual machine

三、JAVA應用領域上分類

  1. JAVA SE:java standard edition 標準版
  2. JAVA EE:java enterprise edition  企業版
  3. JAVA ME:java mobile edition  移動版(基本不用來移動端開發)

四、JVM的實現方式

  1. 一次性解釋器,解釋字節碼並執行
  2. 即時編譯器(just-in-time complier)依賴於更多內存緩存解釋後的結果
  3. 自適應編譯器,緩存20%左右代碼,提高80%左右的速度

五、JVM分類----SUM自有的Hotspot JVM;開源的Open JDK

JRE:java運行時環境

JRE=JVM+java SE API

JDK:java開發環境(開發編譯+運行)

JDK=java+api+JVM

六、JVM內存模型

  1.  純種私有內存區:程序計數器、java虛擬機棧
  2. 線程共享內存區:方法區、堆(幾乎是JVM所佔內存的最大比);堆----java中可自動進行內存回收
  3. java垃圾回收算法:1.標記-清除;2.複製(可以避免碎片,但浪費空間);3.標記-整理

七、JDK安裝

  1. 下載JKD安裝包https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

     2.安裝JDK

[root@localhost ~]# rpm -ivh jdk-8u221-linux-x64.rpm 
warning: jdk-8u221-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk1.8-2000:1.8.0_221-fcs        ################################# [100%]
Unpacking JAR files...
        tools.jar...
        plugin.jar...
        javaws.jar...
        deploy.jar...
        rt.jar...
        jsse.jar...
        charsets.jar...
        localedata.jar...
#安裝後,默認的安裝在/usr/java;使用java -version命令,能顯示信息,表示成功
[root@localhost jdk1.8.0_221-amd64]# java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

#設置環境變量
vim /etc/profile.d/java.sh
#建入以下內容
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
export PATH=$PATH:$JAVA_HOME/bin

# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/jdk1.8.0_221-amd64/bin

    3.java配置參數

  • java -XX:+OptionName    #表示開啓此參數指定的功能
  • java -XX:-OptionName    #表示關閉此參數指定的功能
  • java -XX:OptionName=value    #表示給指定的參數賦值
  • java -XX:+PrintFlagsFinal       #顯示支持的所有參數及默認值

八、Sun JDK監控和故障處理工具

  • jps:JVM Process Status Tool   #顯示指定系統內所有的HotSpot虛擬機進程的列表信息
  • jstat:JVM Statistics Monitoring Tool   #收集並顯示HotSpot虛擬機各方面的運行數據
  • jinfo   #顯示HotSpot虛擬機配置信息
  • jmap  #生成某HotSpot虛擬機的內存轉儲快照
  • 可視化工具:jconsole

九、JAVA web相關技術

    1.Servlet 是Java Servlet的簡稱,能夠使得java開發動態頁面,通過CGI技術與web前端進行通信;但是這種技術是硬編碼,編碼不方便,每一次改動都得重新編譯,即使html的改變,也得重新編譯

    2.JSP是JAVA Server Pages的簡稱,是一種實現普通靜態HTML 和動態 HTML 混合編碼的技術;jsp技術主要功能是讓java能以標籤的形式嵌入到html中,使得java程序員不在需要深入瞭解html。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章