`

openjdk源码分析---类的加载分析

    博客分类:
  • jvm
 
阅读更多
openjdk源码分析---类的加载分析

  (*env)->FindClass执行,找到loader实例,进入find_class_from_class_loader,通过SystemDictionary::resolve_or_fail来解释类文件。
1.resolve_array_class_or_null
2.resolve_instance_class_or_null。

先判断类是否存在dictionary()->find,如果存在了,就直接返回了。
实际加载load_instance_class,这里面就涉及了类加载器的内容,如果定义了类加载器,通过

       javaCalls::call_virtual(&result,
                              class_loader,
                              spec_klass,
                              vmSymbolHandles::loadClass_name(),
                              vmSymbolHandles::string_class_signature(),
                              string,
                              CHECK_(nh));

调用类加载器的loadClass方法。
vmClassLoader
-----ClassLoader::load_classfile。
     通过ClassFileParser的parseClassFile完成。
          Klass_vtbl
               |——Klass
                         |——instanceKlass

                                         |——instanceKlassKlass

分享到:
评论

相关推荐

    openjdk-7-fcs-src-b147-27_jun_2011.zip

    通过分析OpenJDK 7的源代码,开发者可以深入理解Java虚拟机的工作原理,学习到类加载机制、垃圾回收算法、编译优化策略等核心知识。此外,对于想要参与OpenJDK社区贡献的开发者,了解这些源代码更是必不可少的步骤。...

    OpenJDK11U-jdk_x64_linux_hotspot_11.0.11_9.tar.gz

    1. **OpenJDK**: 开源的Java Development Kit,与Oracle JDK类似,但免费且开放源码。 2. **11U**: U代表Update,表明这是OpenJDK 11的一个更新版本。 3. **jdk**: 指的是Java开发工具包,包含了编译器、JVM以及各种...

    openjdk-8u40-src-b25-10_feb_2015

    6. **安全性**:深入理解Java的安全模型,包括类加载器、访问控制和安全管理器等。 7. **多线程编程**:查看线程池、同步原语、线程通信等实现细节。 通过分析"openjdk-8u40-src-b25-10_feb_2015"这个版本的源码,...

    openjdk-17 GA源码(jdk17-jdk-17-ga.tar.gz)

    理解OpenJDK源码需要扎实的Java基础和一定的底层知识。可以从以下几个步骤入手: 1. 熟悉JVM基本原理:理解类加载、内存模型、垃圾收集等概念。 2. 阅读JDK库源码:了解常用API的实现细节,如Collections、...

    openjdk-analyze:jdk源码分析

    《OpenJDK源码分析——探索Java开发的底层奥秘》 OpenJDK,全称为Open Source Java Development Kit,是Java开发工具集的开源版本,它提供了Java平台标准版(Java SE)的实现。深入理解OpenJDK源码,对于Java开发者...

    OpenJDK源码

    在OpenJDK源码中,你可以找到JVM的主要组件,如类加载器、执行引擎、内存管理(包括垃圾收集器,如G1、ZGC等)和性能优化策略。例如,HotSpot虚拟机是OpenJDK中广泛使用的JVM实现,它的源码展示了如何优化运行时性能...

    Openjdk8源码

    8. **内存模型和并发**:OpenJDK源码揭示了Java内存模型(JMM)的实现,以及如何在多线程环境中确保数据一致性。你可以看到`synchronized`关键字、`volatile`变量、`Atomic`类等并发控制机制的内部实现。 通过对...

    openjdk8完整源码

    1. 类加载器:Java的类加载机制是双亲委派模型,OpenJDK源码揭示了如何查找并加载类,以及如何处理类的加载、链接和初始化过程。 2. 内存管理:JVM的内存结构包括堆、栈、方法区等,OpenJDK的源码中详细描述了对象...

    openjdk7u源码

    在Java世界中,源码分析是提升技术能力的重要途径,尤其对于OpenJDK这种基础性软件,其源码更是开发者探索Java运行机制的金钥匙。OpenJDK 7U源码不仅包括了JVM的实现,还涵盖了类库和编译器等多个重要组件,这些组件...

    openjdk-1.6.0.41-src.x86_64

    对于想要提升Java性能优化、故障排查能力的开发者来说,掌握OpenJDK的源码分析是必不可少的。 总的来说,OpenJDK 1.6.0.41源码提供了一个宝贵的平台,让我们能够探索JDK 6时代的类加载器工作原理,特别是`sun.misc....

    jdk8u_x64_25.71-b00

    通过分析源码,我们可以了解JVM如何进行垃圾回收、类加载、线程调度等关键操作。 在标签“jdk8u x64 25.71-b00”中,“x64”再次强调了这是一个面向64位系统的JDK,这通常意味着它能够利用更大的内存和更高效的指令...

    openjdk源码2

    OpenJDK源码是理解Java虚拟机(JVM)、类库以及Java语言实现的关键资源,对于开发者来说具有极高的学习价值。下面我们将深入探讨OpenJDK源码中的关键知识点。 1. **HotSpot虚拟机**:OpenJDK的核心部分是HotSpot...

    openjdk-src.zip

    除了上述新特性,OpenJDK源码还包含了JVM的内存管理、垃圾回收、并发模型、类加载机制等核心组件的实现。通过对这些源码的阅读和分析,开发者能够更深入地理解Java平台的工作原理,进而优化应用程序性能,解决复杂...

    openjdk hotspot源码

    OpenJDK Hotspot源码是Java开发者深入理解Java虚拟机(JVM)工作原理的关键资源。Hotspot JVM是Oracle公司开发的开源Java虚拟机实现,它以高效的性能优化著称,包括即时编译(JIT)和动态优化。在深入探讨Hotspot...

    openjdk源码3

    《OpenJDK源码探索——深入理解Java运行机制》 OpenJDK,全称为Open Source Java Development Kit,是Java开发工具集的一个开源实现,由Oracle公司主导并维护,旨在为Java开发者提供一个开放、免费的平台来研究和...

    Openjdk9源码

    6. **类数据共享(Class-Data Sharing)**:在JDK9中,这个特性得到了增强,允许更有效地分享和加载预编译的类,进一步提升了应用程序的启动速度。 7. **多版本兼容性(JEP 238: Multi-Release JAR Files)**:允许...

    OpenJDK1.8源码简析V1.0.pptx

    OpenJDK的源码分析可以帮助我们深入理解Java程序的运行机制,包括内存管理、垃圾回收、线程模型、编译与解释器的工作原理等。 1. JVM基本认识 Java虚拟机(JVM)是Java运行时环境的核心,它负责执行Java字节码。...

    java虚拟机源码-openjdk7:openjdk7源码(深入理解java虚拟机,读书笔记)

    Java虚拟机(JVM)是Java编程语言的核心组成部分,它为Java程序提供了跨平台的运行环境。OpenJDK是Java Development Kit(JDK)的一个...同时,对于想要贡献开源社区的开发者来说,理解OpenJDK源码也是必不可少的一步。

    openjdk1.7 附属源码src.zip

    Java的国际化和本地化功能在OpenJDK源码中也有体现,包括资源包的加载、日期格式化、货币转换等,这对于开发全球化应用至关重要。 8. **JNI与动态链接** Java Native Interface (JNI)允许Java代码调用C/C++的原生...

Global site tag (gtag.js) - Google Analytics