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

[[email protected] ~]# 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命令,能显示信息,表示成功
[[email protected] 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。


更多精彩内容