java代码编译是由Java源码编译器来完成,流程图如下所示:Java字节码的执行是由JVM执行引擎来完成,流程图如下所示:Java代码编译和执行的整个过程包含了以下三个重要的机制:Java源码编译机制类加载机制类执行机制Java源码编译机制Java
源码编译由以下三个过程组成:分析和输入到符号.....
分类:
编程语言 时间:
2014-05-17 15:02:48
阅读次数:
350
java的类加载机制默认情况下是采用委托模型:当加载某个类时JVM会首先尝试用当前类加载器的父类加载器加载该类,若父类加载器加载不到再由当前类加载器来加载,因此这种模型又叫做“父优先”模型。
但是在实际项目中我们可能会要求先从当前类加载加载再从父类加载器加载,如项目中的某类的版本可能和contain...
分类:
编程语言 时间:
2014-05-15 02:14:45
阅读次数:
330
一、自定义类加载器的一般步骤Java的类加载器自从JDK1.2开始便引入了一条机制叫做父类委托机制。一个类需要被加载的时候,JVM先会调用他的父类加载器进行加载,父类调用父类的父类,一直到顶级类加载器。如果父类加载器加载不了,依次再使用其子类进行加载。当然这类所说的父类加载器,不一定他们之间是继承的...
分类:
编程语言 时间:
2014-05-15 02:00:35
阅读次数:
256
1、用户自定义的类加载器:要创建用户自己的类加载器,只需要扩展java.lang.ClassLoader类,然后覆盖它的findClass(String
name)方法即可,该方法根据参数指定类的名字,返回对应的Class对象的引用。findClassprotected Class findClas...
分类:
编程语言 时间:
2014-05-14 23:38:14
阅读次数:
649
说明:本文的内容是看了《深入理解Java虚拟机:JVM高级特性与最佳实践》后为加印象和理解,便记录了重要的内容。1
开门见山以前曾经看到过一个java的面试题,当时觉得此题很简单,可是自己把代码运行起来,可是结果并不是自己想象的那样。题目如下:class SingleTon
{ private st...
分类:
编程语言 时间:
2014-05-14 12:02:07
阅读次数:
456
(一)java 静态代码块
静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的.
静态方法在类加载的时候 就已经加载 可以用类...
分类:
编程语言 时间:
2014-05-09 19:16:19
阅读次数:
295
应用服务器一般都支持热部署(Hot Deployment),更新代码时把新编译的确类
替换旧的就行,后面的程序就执行新类中的代码。这也是由各种应用服务器的独 有的类加载器层次实现的。那如何在我们的程序中也实现这种热加载功能呢?即
要在虚拟机不关闭的情况下(比如一个),换个类,JVM 就知道加载这个新...
分类:
编程语言 时间:
2014-05-09 09:33:09
阅读次数:
483
反射 避免硬编码类对象 (存储了类的信息的对象 类加载的产物)Class类名.class
直接获得类对象 (简单类型的类对象 int.class)类的对象.getClass()Class.forName("类名")
通过类名主动加载一个类并获得类对象类对象.newInstance() ...
分类:
编程语言 时间:
2014-05-08 22:07:16
阅读次数:
263
第四个问题:Servlet的生命周期是什么呢?Servlet的生命周期,简单的概括分为四步:servlet类加载—>实例化—>服务—>销毁。Servlet实例化的步骤:1、Servlet容器启动时:读取Web.xml配置文件中的信息,构造指定的Servlet对象,创建ServletConfig对象,...
分类:
Web程序 时间:
2014-05-08 19:51:08
阅读次数:
446
以下内容摘自《步步惊芯——软核处理器内部设计分析》一书
完整的OR1200处理器流水线数据通路图,如图9.12所示,图中显示了数据处理类、特殊寄存器访问类、转移类、异常处理类、乘法除法类、加载存储类指令处理过程中流水线各个阶段的数据流转。
(1)取指阶段:GENPC模块计算指令地址,然后通过指令Wishbone总线从指令存储器中取得指令,...
分类:
其他好文 时间:
2014-05-08 17:23:32
阅读次数:
323