若是人间
潸潸昨日伊人泪,不知今朝尽繁华。若是人间留不住,忘川簇簇彼岸花。
12 2011 档案
谈谈Java虚拟机3——动态扩展
摘要:Java的体系结构允许动态扩展Java程序,这个过程包括运行时决定所使用的类型,装载它们,使用它们。通过传递类型的名字到java.lang.Class的forName()方法,或者用户自定义的类装载器的loadClass()方法,可以动态扩展Java程序。两种方法都可以使运行中的程序去调用在源代码中未曾提及的,而是在程序运行中决定的类型。动态扩展的例子如支持Java的Web浏览器,它跨网络装载applet的class文件。当浏览器启动的时候,它不知道将要从网络上装载什么class文件,当它遇到包含这些applet的网页的时候才知道每个applet所需的类和接口的名字。动态扩展Java程序最直接 阅读全文
posted @ 2011-12-02 13:43 st.ni 阅读(2500) 评论(1) 推荐(2)
谈谈Java虚拟机2——类加载器
摘要:类从被加载到虚拟机内存中开始,到卸装出内存为止,它的整个生命周期包括了:加载,验证,准备,解析,初始化,使用和卸载七个阶段。其中验证、准备和解析三个部分称为连接,也就是说,一个Java类从字节代码到能够在JVM中被使用,需要经过加载、链接和初始化这三个步骤。我们看一看Java虚拟机的体系结构。Java虚拟机的体系结构如下图所示:类装载器子系统,它根据给定的完整类名来装载类或接口执行引擎,它负责执行那些包含 在被装载类的方法中的指令。方法区以及一个堆,它们是由该虚拟机实例中所有线程共享的。当虚拟机装载一个class文 件时,它会从这个class文件包含的二进制数据中解析类型信息。然后,它把这些类 阅读全文
posted @ 2011-12-01 10:02 st.ni 阅读(2570) 评论(0) 推荐(2)