JAVA简介以及JAVA语言的运行原理tomcat

Java编程语言:

         编程语言:

                   系统级:C,     C++,         go     ,erlang

                   应用级:C#,   Java,                  Python,    Perl,          Ruby,        php

                            JAVA虚拟机:JVM         

                            Python虚拟机:PVM 程序级的虚拟化[虚拟了自己所需要的所有的类库]

                            动态网站:asp.net     jsp,      python(Django)

                           

动态网站:

         客户端动态:

         服务器动态:

                   CGI

                   Webserver:

                            Jsp:tomcat, jboss,jetty

                            Php:php-fpm

                            Python:A

 

        

JAVA编程语言:[一次编译,到处运行]write once,run anywhere

                   SUN

                   1995:JAVA1.0, write once,run anywhere

                   1996:JDK(javadevelopment Kit),包含一个JVM(Sun Classic VM)

                            JDK1.0:JVM,Applet,AWT

                   1997:JDK1.1

                            JAR文档格式,                   JDBC,      JavaBeans

                   1998:JDK1.2

                            Sunjava技术拆分为三个方向:

                            J2SE:StandardEdition

                            J2EE:EnterpriseEdition

                            J2ME:Mobile  Edition

                   代表性技术:EJB,JAVA plug-in, swing

                   JIT(编译器):Just intime 即时编译器

                   2000:JDK1.3

                            1999:HotSpot虚拟机

                   2002:JDK1.4

                   2002:MICROSOFT.NET FRAME WORK

                   2006:Sun开源了JAVA技术;遵循GPL规范,并建立了OpenJDK组织管理此代码

                   2009:JDK1.7   Oracle收购sun 公司

                            JDK开源,HotSpot没有开源

                   虚拟机:JRockit,HostSpot

编程语言的类型:指令+数据

         面向过程:以指令为中心,围绕指令组织数据(先做事,再慢慢来重塑一个完整的人)

          面向对象:以数据为中心,围绕数据组织指令(先创建一个人,再用这个人来做事)

 

JAVA体系结构:

                   JAVA编程语言

                   JAVAclass文件格式(字节码文件,只能在JAVA虚拟机上运行的文件 )

                   JAVAAPI(编译好的类库)

                   JAVAVM (JAVA虚拟机)


 

JVM的组成部分:

         Class Loader:类加载器

         执行引擎:

         方法区:类的方法

         堆区:存放类实例化的对象,对象不用时用GC来回收并销毁

         Java栈:

         PC寄存器:

         本地方法栈:

         执行引擎:

        

        


 

 

                           

Java语言的特性:

         面向对象,多线程,结构化错误处理

         自行实现垃圾收集,动态链接,动态扩展

        

 

三个技术流派:

         J2SEàjava 2 SE

         J2ee-> java 2 EE

         J2me->java 2 ME

 


 

JAVA运行时区域:(运行多个线程)

         守护线程:

         非守护线程:(用户启动的线程)

 

         方法区:线程共享,用于存放被虚拟机加载的类信息,常量,静态变量等,是非堆内存空间(永久代空间,一直存在内存中)

         堆:(内存占用很大),JAVA堆是jvm所管理的内存中最大的一部分,是垃圾管理(GC)的主机区域,      垃圾算法基于分代收集方法:新生代和老年代;,堆内存是共享的内存区域

         JAVA栈:线程私有(每个类的方法都会创建java栈,用于存放线程自己的局部变量等信息)

         PC寄存器(线程独占的内存空间)

         本地方法栈:为虚拟机提供的本地的方法实现

        


 

 

        

分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS