240 发简信
IP属地:浙江
  • 纠正:
    "因为ConstantPoolCache的大小为0x16字节,%rcx+0x10定位"
    改为
    "因为ConstantPoolCache的大小为0x10(十进制才为16)字节,%rcx+0x10(对应十进制的16)定位"

    虚拟机解释执行Java方法

    调用Java主类的main()方法 调用过程如下图所示。 其中浅红色的函数由主线程执行,而另外的浅绿色部分由另外一个线程执行,浅绿色的线程最终也会负责执行Java主类中的ma...

  • 120
    虚拟机解释执行Java方法

    调用Java主类的main()方法 调用过程如下图所示。 其中浅红色的函数由主线程执行,而另外的浅绿色部分由另外一个线程执行,浅绿色的线程最终也会负责执行Java主类中的ma...

  • 120
    JVM 执行引擎的作用及工作过程

    下面就要讲代码到底是怎么执行的。在讲源码之前,我们看看从流程角度到底是怎么运行的。 执行引擎的概述 执行引擎是 Java 虚拟机核心的组成部分之一。 “虚拟机”是一个相对于“...

  • 纠正:
    2.1章节 中的笔误:操作数栈的最大深度是写入到Code属性的max_stack。

    JVM 执行引擎的作用及工作过程

    下面就要讲代码到底是怎么执行的。在讲源码之前,我们看看从流程角度到底是怎么运行的。 执行引擎的概述 执行引擎是 Java 虚拟机核心的组成部分之一。 “虚拟机”是一个相对于“...

  • 120
    JNIEnv API

    详细探讨了JNI调用如何使用,JNI的库文件是如何加载的,下面来详细探讨下JNI API,这API是做什么的,有啥注意事项,这是后续JNI开发的基础。 数据类型 Java数据...

  • 120
    JNI库文件加载源码解析

    下面我们结合源码详细探讨下JNI调用的库文件是如何加载的,为啥HelloWorld.so必须被命名成libHelloWorld.so,JNI_OnLoad方法是在什么时候回调...

  • 写的真棒,干货满满,受益颇丰! 感恩老师!

    JNI

    中讲到了ClassLoader类加载的4个本地方法,那么为啥要使用本地方法?本地方法跟普通的Java方法有啥区别?本地方法又称JNI(Java Native Interfac...

  • 120
    类加载、链接和初始化 C++源码解析

    类加载器种类 BootstrapClassLoader:C++ 编写,负责加载 java 核心类库 Launcher.ExtClassLoader:Launcher 中的内部...

  • CPSlot中的_ptr,未解析(链接) 应该是地址最后一位为1,已解析(链接)为0.
    源码如下:
    bool is_resolved() {
    return (_ptr & 1) == 0;
    }
    所以ConstantPool章节中的"如果未解析则地址是0," 应该是描述反了!

    类加载、链接和初始化 C++源码解析

    类加载器种类 BootstrapClassLoader:C++ 编写,负责加载 java 核心类库 Launcher.ExtClassLoader:Launcher 中的内部...