首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java常量池解析与字符串intern简介

    在Java应用程序运行时,Java虚拟机会保存一份内部的运行时常量池,它区别于class文件的常量池,是class文件常量池映射到虚拟机中的数据结构。 关于class文件常量池的部分可以参考之前的博文实例探索Class文件。 1.CONSTANT_Class入口解析 数组类的符号解析较为特殊。若是基本类型数组,那么虚拟机将创建该基本类型的新数组类,并创建一个Class实例来代表该类型,数组类的定义类加载器为 启动类加载器。若是引用类型的数组,那么在此之前还会进行引用类型的解析,数组类的定义类加载器为引用类型的定义类加载器。 非数组类和接口的的解析将经历以下步骤: (1).加载该类型和其所有的超类型 如果该类型在此之前已经装载到了虚拟机的当前命名空间,那么直接使用已经被装载的类型即可,否则由引用的发起类的初始类加载器进行加载。对目标类型的超类 的加载必然是在对当前类型加载完的基础上进行的,因为只有加载完当前类型,才能从class文件的super_class域找到其直接超类的符号引用,再 递归进行解析和加载,直至java.lang.Object类。而在递归返回的过程中,会检查interfaces域以查看实现或扩展了哪些接口,并再次 递归遍历对接口的符号引用。 (2).检查访问权限 随后是对目标类型的连接和初始化,这样才可以正常使用该类型。前面提到,对目标类型的初始化需要其所有超类都必须进行初始化(超接口不是必须的),并且, 由于已经对其超类进行了加载,所以不必再依赖于自该类向Object类的解析顺序,而是从Object类向该类进行初始化。类型的连接和初始化步骤如下: (3).类型校验 (4).类型准备 (5).类型解析(可推迟) 注意该过程是对被引用类型及其超类的符号引用的解析,因为对于被引用类型的某些符号引用不会立刻用到,故该步骤之前是严格意义上属于发起引用的类型的符号 解析的过程。只有在主动使用被引用类型的这些符号引用所指向的类型时,才会对这些符号引用进行解析,对其所指向的类型进行装载、连接和初始化。 (6).类型初始化

    02

    干货 | 2021最全的BI系统搭建方法

    企业搭建和使用BI平台的方式,主要结合业务的发展阶段。系统建设必须做到全盘考虑、统筹规划,满足今后扩展多方面功能的需要,为今后建立完善的商业智能系统打下良好基础。另一方面,BI系统的建设是一个不断演化发展的过程,包括完善数据模型、扩充数据主题、增加数据源、丰富业务应用等。必须采取分步实施的方法,初期阶段主要任务是系统基础设施建设,解决迫切的业务问题。然后持续分阶段地对业务问题进行改善,以每一个小阶段的改善成果来促进对实施团队及用户的正向激励,减少项目实施过程中的阻力。 BI系统的实施需要遵循以下原则:   1) 分步实施,循序渐进原则。 建立系统不是一蹴而就的,一次一步的方式有效地降低了风险。    2) 迭代演化的原则。 在使用系统的过程中,不可避免地会出现新需求的增加,尤其需求变化快速,和当前有很大的差异,系统的实施实际上是建立一个良性循环的迭代过程,成功的标志在于建立一个良性的迭代过程,并且持续地使用。   3) 用户参与的原则。 系统成功的关键因素在于设计者和业务分析人员之间的反馈循环,系统载入数据后需要用户积极地使用和观察,然后反馈意见给设计人员进行系统的修正完善。业务用户人员发现问题或新的需求应及时反馈给设计人员,形成良性的循环。    4) 多种分析手段共存原则。 应能根据需要进行主题内部要素的扩充及主题的新增。    5) 开放性、可扩展性和标准化的原则。 系统的软硬件产品接口遵循业界的开放性标准,满足相应的技术规范要求,系统各模块之间接口实现标准化。     6) 安全性和可靠性的原则。 系统中保存了大量企业的商业秘密,系统必须提供强有力的手段保证数据的安全性,防止非法使用数据,同时也必须提供一套恢复机制,保证数据的完整可靠。 搭建BI系统的方法论 明确以上的原则之后,可以开始着手搭建BI建设方法,需要涉及以下方面的内容: 1)需求调研: BI的设计者需要对企业的结构和企业内部发生的需求和管理有清楚的了解,包括企业的组织架构、业务流程、业务痛点、BI应用场景等; 2)方法设计: 梳理出企业应该如何正确地管理这些业务活动和管理活动的方法; 3)规划落地: 把这些管理方法转化为BI的分析主题,并进一步细化落地,确定分析的数据来源、展现形式,与哪些系统做集成等; 4)优化应用: 从传统的以BI系统自助分析的方法转向用更多的扩展图形或主题来丰富BI分析的页面,使得使用更简单、UI更美观等;

    06
    领券