互联设备如何在阳光下制造乐趣
第一行输出为 Test 的类加载器,即应用类加载器,它是 sun.misc.Launcher$AppClassLoader 类的实例;第二行输出为扩展类加载器,是 sun.misc.Launcher$ExtClassLoader 类的实例。那启动类加载器呢? 按理说,扩展类加载器的上层类加载器是启动类加载器,但在我这个版本的 JDK 中, 扩展类加载器的 getParent() 返回 null。所以没有输出。 2)运行时数据区
运行时数据区又包含以下内容。 1)类加载器 类加载器是 JVM 的一个子系统,用于加载类文件。每当我们运行一个 Java 程序,它都会由类加载器首先加载。Java 中有三个内置的类加载器:
一般来说,Java 程序员并不需要直接同类加载器进行交互。JVM 默认的行为就已经足够满足大多数情况的需求了。不过,如果遇到了需要和类加载器进行交互的情况,而对类加载器的机制又不是很了解的话,就不得不花大量的时间去调试 ClassNotFoundException 和 NoClassDefFoundError 等异常。 对于任意一个类,都需要由它的类加载器和这个类本身一同确定其在 JVM 中的唯一性。也就是说,如果两个类的加载器不同,即使两个类来源于同一个字节码文件,那这两个类就必定不相等(比如两个类的 Class 对象不 equals)。
是不是有点晕,来来来,通过一段简单的代码了解下。 6、请说出 Java 9 版本中更新的重要功能 Java 9 更新的重要功能有:
07、请说出 Java 8 版本中更新的重要功能 Java 8 发布于 2014 年 3 月份,可以说是 Java 6 之后最重要的版本更新,深受开发者的喜爱。
我强烈建议点开上面的链接阅读以下,以正确理解这些概念。 08、请说出 Java 面向对象编程中的一些重要概念
09、Java 声称的平台独立性指的是什么? 常见的操作系统有 Windows、Linux、OS-X,那么平台独立性意味着我们可以在任何操作系统中运行相同源代码的 Java 程序,比如说我们可以在 Windows 上编写 Java 程序,然后在 Linux 上运行它。 10、什么是 JVM? JVM(Java Virtual Machine)俗称 Java 虚拟机。之所以称为虚拟机,是因为它实际上并不存在。它提供了一种运行环境,可供 Java 字节码在上面运行。 JVM 提供了以下操作:
JVM 定义了以下内容:
我们来尝试理解一下 JVM 的内部结构,它包含了类加载器(Class Loader)、运行时数据区(Runtime Data Areas)和执行引擎(Excution Engine)。 (编辑:阿坝站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |