易截截图软件、单文件、免安装、纯绿色、仅160KB

Java学习笔记⑤ Java虚拟机的工作原理 (一)

一、什么是Java虚拟机
     Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。    
二、为什么使用Java虚拟机
    Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。
三、Java虚拟机的生命周期
     一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序。程序开始执行时它才运行,程序结束时它就停止。假如你同时运行三个Java程序,就会有三个运行中的Java虚拟机。
     Java虚拟机总是开始于一个main()方法,这个方法必须是公有public、返回void、直接接收一个字符串数组。在程序执行时,你必须给Java虚拟机指明这个包含有main()方法的类名。
     Main()方法是程序的起点,它被执行的线程初始化为程序的初始线程。程序中其它的线程都由他来启动。Java中的线程分为两种:守护线程 (daemon)和普通线程(non-daemon)。守护线程是Java虚拟机自己使用的线程,比如负责垃圾收集的线程就是一个守护线程。当然,你也可以把自己的程序设置为守护线程。包含Main()方法的初始线程不是守护线程。
     只要Java虚拟机中还有普通的线程在执行,Java虚拟机就不会停止。如果有足够的权限,你可以调用exit()方法终止程序。
三、Java虚拟机的体系结构
     在Java虚拟机的规范中定义了一系列的子系统、内存区域、数据类型和使用指南。这些组件构成了Java虚拟机的内部结构,他们不仅仅为Java虚拟机的实现提供了清晰的内部结构,更是严格规定了Java虚拟机实现的外部行为。 
     每一个Java虚拟机都由一个类加载器子系统(class loader subsystem),负责加载程序中的类型(类class和接口interface),并赋予唯一的名字。每一个Java虚拟机都有一个执行


相关文档:

准备java做农场

那天正偷着菜突然就想到了为何不做一个农场呢?
正好敢上结课项目就要开始了,老师又催着找项目了。
说做就做了,
但从来没有涉及过网页游戏方面,然后疯狂查资料,,收获却不多,发现自己知道 的太少了不精flash,flex也不会,光界面就不好办,
但是既然想到这了,不会也要上了,,哈。
不会flash了我就用css+javascri ......

java动态代理

Java动态代理类位于Java.lang.reflect包下,一般主要涉及到以下两个类: 
(1). Interface InvocationHandler:该接口中仅定义了一个方法Object:invoke(Object obj,Method method, Object[] args)。在实际使用时,第一个参数obj一般是指代理类,method是被代理的方法,如上例中的dothing(),args为该方法的参数数组。 ......

java中120个经典问题1

1、面向对象的特征有哪些方面
    1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
    2.继承:继承是一种联结 ......

java中120个经典问题2

31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
    SessionBean:Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一 ......

java中120个经典问题3

61、servlet的生命周期
    web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法。
    62、如何现实servlet的单线程模式
   ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号