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虚拟机都有一个执行
相关文档:
那天正偷着菜突然就想到了为何不做一个农场呢?
正好敢上结课项目就要开始了,老师又催着找项目了。
说做就做了,
但从来没有涉及过网页游戏方面,然后疯狂查资料,,收获却不多,发现自己知道 的太少了不精flash,flex也不会,光界面就不好办,
但是既然想到这了,不会也要上了,,哈。
不会flash了我就用css+javascri ......
转自 : http://hi.baidu.com/samuel_vong/blog/item/95471f7e2cdab33d0cd7dad1.html
/**
* 产生随机字符串
* */
private static Random randGen = null;
private static char[] numbersAndLetters = null;
private static Object initLock = new Object();
public static final Strin ......
61、servlet的生命周期
web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法。
62、如何现实servlet的单线程模式
......
感谢原文作者:http://blog.sina.com.cn/s/blog_62a6ceb10100gwe0.html
JAVA其实不算是一门动态语言,但JAVA中却又一种机制可以达到动态的某中效果,这就是JAVA中的反射。
JAVA反射指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。
都Ja ......