pandening
11/7/2018 - 10:01 AM

测试java方法调用在字节码层面的实现

测试java方法调用在字节码层面的实现

package org.hujian.jvm.bytecode;

import org.hujian.common.JvmTestRunner;

/**
 * Created on 2018/11/7 17:52.
 *
 */
public class TestByteCodeMethodCall extends JvmTestRunner {

    /**
     *  一个实例方法
     */
    public void method1() {
        System.out.println("instance method called");
    }

    /**
     *  一个类方法
     */
    public static void method2() {
        System.out.println("class method called");
    }

    /**
     * 在这里实现测试逻辑,不提供参数列表以及返回值,执行该方法应该测试到
     * 你需要实现的所有逻辑,本方法单线程执行(main)
     */
    @Override
    protected void execute() {
        // call this
        this.method1();
        // class method call
        method2();
        // instance call
        TestByteCodeMethodCall instance = new TestByteCodeMethodCall();
        instance.method1();
        // call father method
        childCall();
    }

    public static void main(String[] args) {
        new TestByteCodeMethodCall().execute();
    }
}