如何制作一个网站前的小图标以展示青海省建筑信息平台?

摘要:网站前面的小图标怎么做,青海省建筑信息平台,wordpress两种语言主题,宜昌网站设计公司一、JVM 内存模型概述 (1) 为什么会出现 JVM 内存模型呢? JVM 内存模型是为规范描述 Java 虚拟机在
网站前面的小图标怎么做,青海省建筑信息平台,wordpress两种语言主题,宜昌网站设计公司一、JVM 内存模型概述 (1) 为什么会出现 JVM 内存模型呢#xff1f; JVM 内存模型是为规范描述 Java 虚拟机在执行 Java 程序时#xff0c;将程序中的数据和代码存储到计算机内存中的方式和规则。JVM 内存模型定义 Java 虚拟机所使用的内存结构以及内存区域之间的关系…一、JVM 内存模型概述 (1) 为什么会出现 JVM 内存模型呢 JVM 内存模型是为规范描述 Java 虚拟机在执行 Java 程序时将程序中的数据和代码存储到计算机内存中的方式和规则。JVM 内存模型定义 Java 虚拟机所使用的内存结构以及内存区域之间的关系使得 Java 程序能够更高效地运行。 Java 虚拟机是一种基于栈式架构的虚拟机不同于物理机器上的基于寄存器的架构。因此Java 虚拟机需要一个内存模型来处理 Java 程序所涉及的数据和代码存储以及执行期间的内存管理。JVM 内存模型的出现使得 Java程序能够更加规范、高效、灵活地运行。 JVM 内存模型图如下所示 程序计数器Program Counter Register每个线程都有一个独立的程序计数器用于存储线程当前执行的字节码指令的地址。Java 虚拟机栈JVM Stack每个线程都有一个独立的Java虚拟机栈用于存储局部变量、操作数栈、返回值等信息。本地方法栈Native Method Stack与Java虚拟机栈类似但用于执行本地方法。堆Heap用于存储Java对象实例是所有线程共享的。方法区Method Area用于存储类的结构信息、静态变量、常量池等信息是所有线程共享的。运行时常量池Runtime Constant Pool方法区的一部分用于存储编译时生成的各种字面量和符号引用。直接内存Direct Memory一种使用非JVM管理的内存但通过JVM的API使用它它通常用于提高I/O操作的性能。 (2) JVM 内存为什么要这样划分主要有以下几点 分离程序数据和 JVM 内部数据结构Java虚拟机需要存储很多内部结构和状态信息同时还需要存储Java程序的数据和代码。为了让这些不同类型的数据结构能够互相独立Java虚拟机将其存储在不同的内存区域中。 内存管理需要JVM 需要对内存进行管理和优化。划分不同的内存区域有助于JVM更精确地控制内存的分配、回收、整理等操作从而提高程序的运行效率和稳定性。比如说Java程序中会有大量的对象创建和销毁为了避免频繁地进行垃圾回收JVM 使用了新生代和老年代两个区域其中新生代用于存储新创建的对象老年代用于存储生命周期较长的对象。此外JVM还提供了方法区和虚拟机栈等区域用于存储类信息和线程执行时的栈帧信息。通过划分内存区域JVM 可以更精确地控制内存的分配和释放避免了内存泄漏和内存碎片等问题。同时这种设计还可以使得GC算法更高效因为不同的区域使用不同的 GC 策略可以根据各自的特点进行优化提高GC 的效率和响应速度。 灵活管理内存在不同的应用场景下JVM需要为Java程序分配不同大小、不同生命周期的内存空间。划分不同的内存区域可以让JVM更灵活地进行内存管理满足不同的需求。 内存安全JVM的内存模型具有强大的安全机制可以保护Java程序的数据和代码不被恶意程序所破坏。通过划分不同的内存区域JVM可以更好地实现内存安全。 综上所述JVM 划分不同的内存区域主要是为了让 Java 程序的数据和代码存储在不同的内存区域中更好地管理内存提高程序的运行效率和稳定性满足不同的内存需求以及保障程序的内存安全。 (3) GC 垃圾回收器对应回收算法如下列表 Serial 收集器采用标记-清除算法。 Parallel 收集器采用标记-清除算法或标记-整理算法。 CMS 收集器采用标记-清除算法和标记-清除-整理算法在 CMS 的 initial mark 和 concurrent sweep 阶段使用标记-清除而在 concurrent mark 和 concurrent sweep 阶段使用标记-清除-整理。 G1 收集器采用标记-整理算法和复制算法通过 region 之间的内存拷贝来实现对象的移动和清理。 需要注意的是这只是一些常见的垃圾回收器和对应的回收算法实际上还有很多其他的垃圾回收器和回收算法而且不同的垃圾回收器也可能采用不同的组合方式来进行回收。
阅读全文