`
李静波
  • 浏览: 53948 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

SystemDictionary

阅读更多
SystemDictionary正如它所暗示的那样,它是用来保存系统信息的一个字典,其实现基于Hash表。
它保存了系统已经加载了class信息。
下面是SystemDictionary保存class信息的变量。
  static Dictionary*        _dictionary;
 
  static PlaceholderTable*  _placeholders;
 
其中 _dictionary是存放已经加载的class的Hash表。
     _placeholders是存放正在加载的class的Hash表。
 
同时对于最常用的系统class,SystemDictionary又专门定义了变量,起到了cache的作用,
避免了每次使用都去_dictionary中查询。
例如:  static klassOop _object_klass;
        static klassOop _string_klass; 等等
 
这些变量均在SystemDictionary::initialize中被初始化。
 

JNI_CreateJavaVM
  |
  |-->Threads::create_vm
        |
        |-->init_globals
             |
             |-->universe2_init
                  |
                  |-->Universe::genesis
                        |
                        |-->SystemDictionary::initialize
                              |
                              |-->SystemDictionary::initialize_preloaded_classes
 
其中SystemDictionary::initialize_preloaded_classes就是初始化SystemDictionary中最常用的系统class变量。
分享到:
评论

相关推荐

    openjdk-8-src-b132-03_mar_2014源码

    1. 类加载器:在`hotspot/src/share/vm/classfile/systemDictionary.cpp`等文件中,可以看到类加载器的工作流程,包括双亲委派模型和自定义类加载器的实现。 2. 垃圾收集器:OpenJDK 8提供了多种垃圾收集器,如...

    Dictionary.zip

    `Dictionary`类在系统命名空间`System.Collections.Generic`下,是用于存储唯一键及其关联值的对象。它的基本操作包括: 1. **初始化**:创建一个空的`Dictionary, TValue>`实例,或者根据指定的容量、比较器和初始...

    Dictionary Additions Management System-开源

    词典添加管理系统(DAMS),开源翻译词典的集合。 这些文件与开放翻译引擎(OTE)兼容。 有关更多信息,请参见http://sourceforge.net/projects/ote/

    C#中Dictionary泛型集合7种常见的用法

     System.Collections.Generic(程序集:mscorlib)  Dictionary的描述 1、从一组键(Key)到一组值(Value)的映射,每一个添加项都是由一个值及其相关连的键组成 2、任何键都必须是唯一的 3、键不能为空引用null...

    dictionary C#

    `Dictionary, TValue>`是C#中非常重要的集合类之一,它属于.NET Framework的一部分,位于`System.Collections.Generic`命名空间内。此集合类提供了键值对的存储机制,其中键是唯一的,而对应的值则可以重复。本文将...

    多线程安全dictionary

    在.NET框架中,`System.Collections`命名空间提供了多种数据结构,其中包括`Dictionary, TValue>`,它是键值对的高效存储容器。然而,原生的`Dictionary, TValue>`在多线程环境下直接并发访问可能存在线程安全性问题...

    Dictionary DictionaryDemo

    在C#中,`System.Collections.Generic.Dictionary, TValue>`类提供了`Dictionary`的实现。创建一个`Dictionary`实例时,我们需要指定键和值的类型。例如,创建一个存储字符串键和整数值的字典可以这样写: ```...

    System System命名空间源码

    System命名空间中的泛型类,如List和Dictionary, TValue>,提供了类型安全的数据容器。源码分析可以揭示泛型如何实现类型约束和编译时的类型检查。 七、线程安全与并发 .NET框架中的线程安全主要通过System....

    Steapx:重构项目的代码重构

    SteapxImprovement Point for status of project, meeting, etc.When application stats, will load data of system dictionary and initialize global general-purpose data container(SystemDataHolder),then ...

    Dictionary序列化源码 datatable序列化源码

    本篇将详细讲解标题和描述中提到的`Dictionary`和`DataTable`的序列化与反序列化方法。 首先,让我们了解`Dictionary, TValue>`。`Dictionary`是.NET中的一个内置类,它实现了键值对的存储,通常用于创建关联数据...

    SAP ABAP Dictionary BC430

    - **BC430-ABAP Dictionary SAP AG R/3 System Release: 4.6A Version: January 2000 Material number: 50033691 SAP AG 2001**:这一段文字提供了更多关于文档版本的细节。它指出该文档适用于R/3系统,R/3是SAP企业...

    C#中Dictionary的用法及用途

    `Dictionary, TValue>` 是C#中一种非常重要的集合类型,属于.NET Framework的一部分,位于`System.Collections.Generic`命名空间内。它允许我们存储键值对(Key-Value Pair),其中键是唯一的,并且可以通过键快速...

    C#源代码-Dictionary键值对集合.zip

    `Dictionary`类是.NET框架中System.Collections.Generic命名空间的一部分,它实现了`IDictionary, TValue>`接口,为开发者提供了存储和操作关联数据的强大工具。 `Dictionary, TValue>`的工作原理基于哈希表,这...

    C#自定义可序列化的Dictionary类型

    C#自定义可序列化的Dictionary类型 在C#中,Dictionary类型是非常常用的数据结构,但是.NET 2.0中的泛型Dictionary却不支持XML序列化。这是一种非常不便的限制,因为在实际应用中,我们经常需要将数据序列化到XML...

    c#list/dictionary实现平均成绩

    在C#编程中,List和Dictionary, TValue>是两种非常常用的数据结构,它们在处理各种数据操作时有着广泛的应用。在这个“c#list/dictionary实现平均成绩”的场景中,我们将探讨如何利用这两种数据结构来计算一组成绩的...

    C# dictionary 用法

    catch (System.Exception e) { Console.WriteLine("Error: {0}", e.Message); } } 用法 2:Dictionary 的 Value 为一个数组 在某些情况下,Dictionary 的值可能是一个数组。在这种情况下,我们可以使用泛型 ...

    Dictionary, SortedDictionary, SortedList 横向评测

    Dictionary, SortedDictionary, SortedList 是 .NET Framework 中三个支持泛型和关键字查找的类,它们都属于 System.Collections.Generic 命名空间。这些类在名字和功能上非常相似,以至于实际运用的时候我们会经常...

    C#中List集合与字典Dictionary的理解和运用

    `List<T>`是.NET框架中`System.Collections.Generic`命名空间下的一个类,它实现了`IList<T>`接口,提供了一个动态数组的功能。这意味着你可以像操作数组一样操作它,同时还能方便地添加、删除和查找元素。例如,你...

    .Net 框架 源码参考-System

    System.Collections命名空间下的ArrayList、HashTable、Dictionary等类是.NET中常见的集合类型。通过源码,我们可以看到这些集合是如何实现动态扩展、查找和存储元素的。同时,Generic命名空间中的泛型集合如List、...

    字典dictionary综合运用

    - `System.Collections`:包含泛型和非泛型集合类,包括 `Dictionary, TValue>`。 - `System.IO`:用于文件和流的操作。 ##### 2. 文件操作 ```csharp FileStream fs = new FileStream("c:\\message.txt", File...

Global site tag (gtag.js) - Google Analytics