java之父——James Gosling java吉祥物——duke 编译: 源文件(.java文件)--》java编译器==》.class文件 运行:类装载器--》字节码校验器--》解释器(java跨平台)--》系统操作平台 JDK1.2<-->JAVA2.0 JDK1.5<-->JAVA5.0 ...
分类:
编程语言 时间:
2016-11-28 23:32:16
阅读次数:
197
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。 本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换 ...
分类:
编程语言 时间:
2016-11-26 18:06:37
阅读次数:
230
1、AOP的各种实现 AOP就是面向切面编程,我们可以从以下几个层面来实现AOP 在编译期修改源代码 在运行期字节码加载前修改字节码 在运行期字节码加载后动态创建代理类的字节码 2、AOP各种实现机制的比较 以下是各种实现机制的比较: 切入的关注点需要实现接口。 对系统有一点性能影响 3、AOP里的 ...
分类:
编程语言 时间:
2016-11-13 01:52:37
阅读次数:
339
jsp页面的运行阶段分为:翻译、编译、类装载、类实例化、初始化、服务、销毁七个阶段 JSP网页主要由元素和模板数据两个部分组成 jsp元素包括:脚本元素、指令、标准动作 WEB容器支持普通格式和XML兼容格式两种不同格式的JSP语法 在JSP中有scriptlet、脚本表达式和声明 JSP指令作用主 ...
分类:
编程语言 时间:
2016-10-22 17:38:29
阅读次数:
214
第一、我们编写一个.java源文件; 第二、通过编译器javac.exe把.java源文件编译为.class字节码文件并装入类装载器里; 第三、java虚拟机java.exe把字节码文件解释为各个平台操作系统可以识别的电脑二进制文件并运行; java之所以可以在各个操作系统上运营是因为有java虚拟 ...
分类:
编程语言 时间:
2016-09-21 22:44:36
阅读次数:
160
1.通过子类来调用父类的静态字段,只会触发父类的初始化,但是这是要看不同的虚拟机的不同实现。 2.每个开发人员对Java.lang.ClassNotFoundExcetpion这个异常肯定都不陌生,这背后就涉及到了java技术体系中的类加载。 3.对JVM采用的双亲委派类加载机制 4.Java的连接 ...
分类:
其他好文 时间:
2016-09-18 16:58:24
阅读次数:
211
在Java中,类装载器把一个类装入Java虚拟机中,要经过三个步骤来完成:装载、连接和初始化,其中连接又可以分成校验、准备和解析三步,除了解析外,其它步骤是严格按照顺序完成的,各个步骤的主要工作如下:1、装载2、连接3、初始化 一、装载阶段 装载阶段由三个基本动作组成1、通过类型的完全限定名,产生一 ...
分类:
编程语言 时间:
2016-09-17 00:17:29
阅读次数:
137
1.Class.forName("org.whatisjava.reflect.Foo")首先会将reflection.Foo类装入JVM,并 返回与之关联的Class对象。JVM装入Foo类后对其进行初始化,调用了其static块中的代码。 2.类加载是Java程序运行的第一步,研究类的加载有助于 ...
分类:
其他好文 时间:
2016-09-15 21:35:44
阅读次数:
200
JVM规范定义了两种类型的类装载器:启动内装载器(bootstrap)和用户自定义装载器(user-defined class loader)。 一. ClassLoader基本概念1.ClassLoader分类类装载器是用来把类(class)装载进JVM的。JVM规范定义了两种类型的类装载器:启动 ...
分类:
其他好文 时间:
2016-09-08 11:18:05
阅读次数:
158
JAVA类装载方式,有两种:1.隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中。 2.显式装载, 通过class.forname()等方法,显式加载需要的类类加载的动态性体现:一个应用程序总是由n多个类组成,Java程序启动时,并不是一次把所有... ...
分类:
编程语言 时间:
2016-08-30 00:08:47
阅读次数:
234