JAVA && tomcat

java

oak:java早期的名称
java包含四个独立却又被此相关的技术:
	java程序设计语言
	java API(java第三方库)
	java Class 文件格式(编译后的文件格式)
	JVM:Java Virtual Machine(编译后的文件再java虚拟机上运行)

java源程序文件(.java):java程序语言,Java API  -->Java complier --> .class --> JVM 

Once for all
一次编译,到处运行:Write once,Run anywhere.

bytescode:字节码
.java文件编译过后是.class文件,是字节码(bytescode),但还不是完全意义上底层Linux能直接识别的二进制程序,还需要java虚拟机(JVM)解释并执行。

JVM的实现方式:
	1.一次性解释器,解释字节码并执行;
	2.即时编译器(just-in-time complier):每个.class类在解释为二进制格式的时候,解释后的内容都会缓存下来,第二次执行的时候就直接从缓存中取。# 依赖于更多内存缓存解释后的结果
	3.自适应编译器(仅缓存使用频率比较高的20%的代码,提高80%左右的速度);

Java设计语言:Sun
Java API:

JVM:Hotspot JVM # sun公司开发的
	JRE:Java 运行时环境
		只能实现已经编译好的类在JRE上运行
	JDK:Java 开发环境
		开发(编译) + 运行
JVM:OpenJDK # 开源的,并不只包括JVM
	开发+运行
	
JDK=Java+API+JVM,是用于实现Java程序开发的最小环境。
JRE=JVM+java SE API

JAVA 应用领域的不同,JAVA可分为三类:
	JAVA SE:Standard Edition,J2SE
	JAVA EE:Enterprise Edition,J2EE
	JAVA ME:Mobile Edition,J2ME

JSP --> Servlet
	Jasper

applet,servlet,jsp

JSP程序:
	.jsp --> .java --> (JVM) .class
		Jasper 将.jsp转化为.java
		java编译器负责将.java转化为.class
	
JDK:
	提供了Javac,能够将.java转化为.class

安装java虚拟机:
	yum list all | grep "^java"
	yum install -y java-1.6.0-openjdk.x86_64  
	
	java -version # 查看Java虚拟机版本号
	
java 配置参数:
	-XX:+<option>:开启此参数指定的功能
	-XX:-<option>:关闭功能
	-XX:<option>=<value>:给option指定的选项赋值;
	-D<name>=<value>:set a system property
java -XX:+PrintFlagsFinal

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

可视化工具:
	jconsole:Java的监控与管理控制台
	jvisualvm:



tomcat

tomcat各组件间的关系:
	<Server>
		<Service>
			<Connector />
			<Engine>
				<Host>
					<Context>
					</Context>
				</Host>
			</Engine>
		</Service>
	</Server>
原文地址:https://www.cnblogs.com/zhangchaocoming/p/15133950.html