JSP 运行机制图(来自网络) 说明下各个步骤 1.tomcat容器中jsp引擎(jspServlet) 将jsp转化成符合servlet规范标准的xxx_jsp.java类。 2.java编译器(javac.exe)将java类编译为二进制字节码.class文件。 3.jsp引擎将Class文件加 ...
分类:
Web程序 时间:
2016-03-31 02:01:26
阅读次数:
169
一、反射 1、必须得到类的字节码 反射:public Person() //获取类的字节码的方法 1、Class clazz = Class.forName("类的完整名称"); 2、Class clazz = p.getClass(); 3、Class clazz = Person.class; ...
分类:
其他好文 时间:
2016-03-31 01:43:08
阅读次数:
187
这是之前看的一本书顺带截的图,这里拿出来,可以很好的看到在类的加载期,通过注册的ClassFileTransformer读取AspectJ的配置文件,也就是aop.xml文件对加载到VM中的bean进行字节码的转换,然后织入切面,也就是在Spring容器初始化Bean实例的时候,采用的bean类就是 ...
分类:
其他好文 时间:
2016-03-30 19:43:29
阅读次数:
184
1、Dalvik 和标准 Java 虚拟机(JVM)的首要差别 Dalvik 基于寄存器,而 JVM 基于栈。基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短。 JVM字节码中,局部变量会被放入局部变量表中,继而被压入堆栈供操作码进行运算,当然JVM也可以只使用堆栈而不显式地将 ...
分类:
其他好文 时间:
2016-03-30 01:39:29
阅读次数:
246
.java为Java的源文件后缀,编写的代码需要写在.java文件中。 Javac编译器,用于读取Java源代码,并将其编译成字节代码。经过javac编译后形成.class,是字节码文件。 Java虚拟机(JVM)运行.class文件从而实现程序的运行。 1、JVM——java virtual ma ...
分类:
编程语言 时间:
2016-03-29 16:23:13
阅读次数:
171
一、 java开发工具Editplus:Editplus与jdk的连接配置,如:javac(编译)、java(运行)、javap(查看字节码)
a) 配置内容:
i. javac(编译):参数为 -d . (FileName);初始目录(FileName);初始目录 (FileDir)
ii. java(运行):参数为 (CurSel).(CurSel).(FileNameNoExt);初始...
分类:
编程语言 时间:
2016-03-29 12:54:53
阅读次数:
263
【0】README
0.1)本文总结于 Clas字节码文件,旨在理清 Class字节码文件的大体结构;
【1】干货开始
对上图的分析(Analysis):
A1)offset=0
A1.1)头四个字节为CAFEBABE:表示魔数;A1.2)第5、6个字节是0x0:表示Class文件的次版本号;A1.3)第7、8个字节是0x34:表示主版本号;A1.4)第9...
分类:
其他好文 时间:
2016-03-29 10:57:34
阅读次数:
194
JVM启动流程 JVM基本结构 PC寄存器 –-每个线程拥有一个PC寄存器 –-在线程创建时 创建 –-指向下一条指令的地址 –-执行本地方法时,PC的值为undefined 方法区 –-保存装载的类信息 ?类型的常量池 ?字段,方法信息 ?方法字节码 –-通常和永久区(Perm)关联在一起 方法区 ...
分类:
其他好文 时间:
2016-03-28 02:14:35
阅读次数:
248
【0】README
0.1)本文部分文字描述转自 “深入理解jvm”,旨在学习
类文件结构 的基础知识;
0.2)本文荔枝以及荔枝的分析均为原创;
【1】类文件概述
1)各种不同平台的虚拟机与所有平台都统一使用存储格式——字节码,他是构成平台无关性的基石;
2)时至今日,商业机构和开源机构已经在 java语言外发展出一大批在 jvm 上运行的语言,如 Groovy, JRub...
分类:
编程语言 时间:
2016-03-28 00:18:51
阅读次数:
314
1)什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?
Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。
Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。
2)JDK和JRE的区别...
分类:
编程语言 时间:
2016-03-28 00:17:51
阅读次数:
306