Tomcat是Apache开发的一款软件,大多使用8或9的版本,最新版本为10
Tomcat与php一样是web中间件(web容器)及uwsgi
Tomcat主要负责解析动态页面
后端开发语言:java、php、python
java—->tomcat、weblogic
java工具包—->war包(.war) jar包(.jar)
war包:tomcat及weblogic都可使用
tomcat官网:http://tomcat.apache.org
根据项目需求选择不同的版本部署
tomcat的好帮手:JDK
JDK是java语言的开发工具包,主要用于移动设备 嵌入式设备上的java应用程序
JDK是整个java开发的核心,它包含了java的运行环境
官网:http://www.oracle.com
根据开发的项目包版本来进行项目的部署
端口:
Tomcat自身服务的端口是8005
Tomcat和其他应用通信的端口是8009
Tomcat给客户端浏览器访问页面使用的端口是8080
Tomcat安装:
tomcat + jdk来运行项目 如:
tomcat多实例
tomcat负载均衡
tomcat实现https
JVM
jvm被称为JVM虚拟机
也就是java虚拟机
虚拟机分为系统虚拟机和程序虚拟机
VisualBox和Vmware就属于系统虚拟机
而java虚拟机就是程序虚拟机的典型代表
在java虚拟机中执行的指令我们称为java字节码指令
以上不论是系统虚拟机还是程序虚拟机,运行的软件都限制于虚拟机提供的资源中
同一个java程序(java字节码的集合) 通过java虚拟机(JVM)运行于各大主流操作系统平台
比如Windows、CentOs、Ubuntu等,程序以虚拟机为中介来实现跨平台
虚拟机基础结构
1、类加载子系统:
负责从文件系统或者网络中加载class(类)信息。
加载的类信息存放于一块称为方法区的内存空间。
2、java堆:
在虚拟机启动的时候建立,它是java程序最主要的内存工作区域,几乎所有对象实例都会存放在java堆
3、java的NIO库(直接内存):
允许java程序使用直接内存,不受限于Xmx指定的最大堆大小。
但是系统内存是有限的,java堆和直接内存的总和依然受限于操作系统能给出的最大内存。
4、垃圾回收系统;
垃圾回收系统是Java虚拟机的重要组成部分,垃圾回收器可以堆方法区,Java堆和直接内存进行回收。
5、Java栈:
每一个java虚拟机线程都有一个私有的java栈,java栈中保存着局部变量、方法参数,同时和java方法的调用、返回密切相关。
虚拟机内存结构分为:
1、新生代(年轻代):新生区
类在这里产生和应用,最后会被垃圾回收。所有的类在伊甸区呗new出来,当伊甸区满了,
GC会对该区不用的对象销毁,剩余有用的转到幸存区。
2、老年代:老年区(养老区):
用于存放生长周期比较长的对象
3、永久代:永久区
存放JDK自带的class、interface。
