Tomcat: PHP 网页开发语言 脚本语言 运行环境 解释执行 Zend Engine :Opcode MVC : data 数据 bussiness 业务 presentation 展示 C/C++:跟cpu,OS结合太密切 缺点 移植困难 维护成本高 优点 高速 适合开发驱动、操作系统 C :面向过程 C++ :面向对象 每种语言都有自己的适用场景 API Application Programming Interface 应用编程接口 OS,System Call POSIX :Portable Operating System windows动态库 .dll linux动态库 .so ABI:Application Binary Interface oak :橡树 java最初名字 java:包含四个独立却又彼此相关的技术: 1、java程序设计语言 2、Java API 3、Java Class文件格式 4、JVM :Java Virtual Machine 使用1和2的技术开发软件,编译成Class文件,在JVM上运行 once for all Java技术架构 bytecode :字节码 .java --> .class(bytecode) JVM实现方式 : 1、一次性解释器,解释字节码并执行; 2、即时编译器(just-in-time complier) 依赖于更多内存缓存解释后的结果; 3、自适应编译器 缓存20%左右代码,提高80%左右的速度; Java设计语言:Sun Java API : SUN JVM :Hotspot JVM JRE:Java运行时环境 JDK:Java开发环境 开发(编译)+运行 开源组织 : JVM :OpenJDK 开发+运行 JAVA API类库 第三方类库 JDK=Java+API+JVM,是用于实现Java程序开发的最小环境 JRE=JVM+Java SE API

JAVA应用领域的不同,JAVA可分为三类: JAVA SE Standard Edtion JAVA EE Enterprise Edtion JVAE ME Mobile Edtion

write once ,Run anywhere applet:小程序 动态网站: CGI :Common Gateway Interface 是协议 Servlet:CGI技术 JSP:Java Server Page <%language="java">

SSH:Structs,Spring,Hebernate 框架 JSP --> Servlet Jasper 特殊类:applet , servlet , jsp Servlet Container :Servlet 容器 Web Container:Web 容器 JVM instance :JVM实例

JVM运行时数据区域: 线程私有内存区: 程序计数器 JAVA虚拟机栈 线程共享内存区: 方法区 常量池 堆 最大内存空间 存放对象 Java自动内存回收 GC(Garbage Collector ) 本地方法栈

类加载器 执行引擎 类的生命周期:Loading Verification Preparation Resolution Init

E-R关系 类:操作 对象:方法 编程语言嵌套

垃圾回收算法: 1、标记-清除 2、复制 3、标记-整理 垃圾回收器: Serial ParNew Parallel Scavenge Serial Old Parallel Old CMS:Concurerent Mark Sweep 特点:并发收集,低停顿 缺点:无法收集浮动垃圾,由于基于标记-清除会产生碎片

SUN: JRE JDK Open: OpenJDK

安装JDK rpm 通用二进制格式 .bin 源码编译

java变量配置: java配置参数: java -XX:+<option>: 开启此参数指定的功能; java -XX:- <option>: 关闭功能 java -XX:<option>=<value>: 给option指定的选项赋值;

java -XX:+PrintFlagsFinal -D<name>=<value>: Set a System Property

生命周期: Loading Verification Preparation Resolution Initilization Using Unloading

Sun JDK 监控和故障处理工具: jps,JVM Process Status Tool : 显示指定系统内所有的虚拟机进程的列表信息 jstat ,JVM Statistics Monitoring Tool : 收集并显示HotSpot虚拟机各方面的运行数据 jinfo :显示正在运行的某HotSpot虚拟机配置信息 jmap:生成某HotSpot虚拟机的内存转储快照; 可视化工具: jconsole:Java的监控和管理控制台 jvisualvm

servlet CGI ,java 硬编码 ,html JSP ,<% %>嵌套在html中 JAVA EE/SE API:

JAVA EE Application Servers: websphere weblogic oc4j JBoss JOnAS Geronimo Glassfish

ASF:Apache Software Foundation Jseru Sun --> ASF catalina TomCat

TomCat架构设计: 通常情况,一个TomCat 内部只有一个引擎,一个service 引擎内部是Host Host内部是context

容器类组件: Engine,Host ,Context 顶级组件: Server , Service

Relam:用户账号数据库 Value: 记录访问日志 基于IP认证 Logger:日志记录器 TomCat组件:

Tomcat的部署方式: Apache+TomCat Nginx+TomCat

Server.xml 默认的,应用程序部署描述符 部署:将一个web应用程序所依赖到的类装载进JVM WEB-INF 私有资源

tomcat配置文件内容: 连接器: AJP HTTP(web服务器) https proxy

java类来实现 多实例TomCat

Apache反向代理: Mod_proxy 推荐使用 Mod_proxy_http Mod_proxy_ajp Mod_proxy_banlancer Mod_jk ajp:二进制,效率高 禁用http连接器 网卡间转发默认关闭

Apache代理实例:

Mod_jk Mod_proxy 都可以输出状态信息

DeltaManager: 配置Cluster