最新文章列表

使用ASM动态生成类的拦截代理类

文章源自http://www.iteye.com/topic/1123350   使用ASM实现AOP功能,根据现有的CLASS类文件,动态生成它的代理类文件,并在所有的方法前后添加拦截处理,具体如下: 1.生成被代理类的子类,并重写所有方法(除java.lang.Object类定义的方法和main),增加before和after拦截。 2.重新定义被代理类的所有属性(不包括属性的赋值及 ...
weistar 评论(0) 有1647人浏览 2013-02-28 17:20

使用ASM动态创建接口实现类

使用ASM动态生成一个接口的实现类,接口如下:   public interface ISayHello { public void MethodA(); public void MethodB(); public void Abs(); }  具体实现如下:     public class InterfaceHandler extends ClassLoader i ...
weistar 评论(0) 有2210人浏览 2013-02-28 16:02

使用ASM为一个类增加属性

使用ASM可以方便的访问和修改一个类,或者在JVM载入前动态更新一个类也是可以的,如下, 为一个类动态增加一个属性,类Student如下: public class Student { private int age; private String name; public int getAge() { return age; } public void s ...
weistar 评论(0) 有1321人浏览 2013-02-28 15:18

使用ASM访问一个类

使用ASM4可以方便的访问一个类文件结构内容,只需要实现ClassVisitor接口或继承ClassAdapter 注意,ASM基于责任链模式设计,有严格的访问顺序,如下: visit visitSource? visitOuterClass? ( visitAnnotation | visitAttribute )* ( visitInnerClass | visitField | vi ...
weistar 评论(0) 有1006人浏览 2013-02-28 14:52

使用ASM动态创建类

使用ASM动态创建类,可以不需要java源文件,或者在类被JAVA虚拟机装入内存之前,动态修改类。 如下,动态创建一个类Example.class并执行。 ClassWriter cw = new ClassWriter(0); cw.visit(V1_5, ACC_PUBLIC, "Example", null, "java/lang/Obje ...
weistar 评论(0) 有1300人浏览 2013-02-28 14:44

写一个没有Activity的 HelloWorld for android

写这篇文章的目的:研究android dalvikvm bytecode时减去复杂度。   一般的android helloworld 程序都是用eclipse创建一个HelloWorld sample project 然后run,在手机或者虚拟机上出现helloworld。 我写的这面文章是在 terminal上怎么像普通的java 写个static main 函数,后简单的输出HelloWo ...
乾斌-朴 评论(0) 有1184人浏览 2012-11-15 18:50

Java深度历险(一)--Java字节代码的操纵

在一般的Java应用开发过程中,开发人员使用Java的方式比较简单。打开惯用的IDE,编写Java源代码,再利用IDE提供的功能直接运行Java 程序就可以了。这种开发模式背后的过程是:开发人员编写的是Java源代码文件(.java),IDE会负责调用Java的编译器把Java源代码编译成平台无关的字节代码(byte code),以类文件的形式保存在磁盘上(.class)。Java虚拟机(JVM)会 ...
huxiaojun_198213 评论(0) 有800人浏览 2012-07-07 14:37

Java栈和栈桢

原文应该也是在JavaEye中的博客,找不到了。 在原文基础了做了增删,以方便理解。 Java中的栈 每当线程调用一个Java方法时,JVM就会在该线程对应的栈中压入一个帧,这个帧自然就成了当前帧。当执行这个方法时,它使用这个帧来存储参数、局部变量、中间运算结果等等。 Java栈上的所有数据都是私有的。任何线程都不能访问另一个线程的栈数据。所以我们不用考虑多线程情况下栈数据访问同步的 ...
jiasanshou 评论(0) 有887人浏览 2011-11-24 14:14

Java byte code (bytecode)

keys: bytecode, byte code, opcode. javap: https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javap.html A Java Programmer’s Guide to Byte Code http://www.beyondjava.net/blog/java-programme ...
Wuaner 评论(0) 有3887人浏览 2011-05-04 02:55

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics