当前位置: 首页 > wzjs >正文

哪有那样的网站wordpress 网速

哪有那样的网站,wordpress 网速,wordpress 崩溃,网站建设公司怎么拉单JVM(Java Virtual Machine)主要由以下几个核心组成部分构成: 1. 类加载器子系统 (Class Loader Subsystem): 作用: 加载类: 负责查找并加载 Java 类文件(.class 文件)到 JVM 中。 类文件可以来…

JVM(Java Virtual Machine)主要由以下几个核心组成部分构成:

1. 类加载器子系统 (Class Loader Subsystem):

  • 作用:

    • 加载类: 负责查找并加载 Java 类文件(.class 文件)到 JVM 中。 类文件可以来自本地文件系统、网络、JAR 包等。
    • 链接类: 将加载的类合并到 JVM 的运行时状态中,包括验证、准备和解析(可选)三个阶段。
      • 验证 (Verification): 确保类文件的结构符合 JVM 规范,并且不会危害 JVM 的安全。
      • 准备 (Preparation): 为类的静态变量分配内存,并设置默认初始值(例如,int 类型的默认值为 0,boolean 类型的默认值为 false)。
      • 解析 (Resolution): 将类、接口、字段和方法的符号引用解析为直接引用(可选,可以延迟到运行时)。
    • 初始化类: 执行类的初始化代码(静态变量赋值和静态代码块)。
  • 类加载器类型:

    • 启动类加载器 (Bootstrap Class Loader): 加载 Java 核心类库(<JAVA_HOME>/jre/lib)。
    • 扩展类加载器 (Extension Class Loader): 加载 Java 扩展类库(<JAVA_HOME>/jre/lib/extjava.ext.dirs 指定的目录)。
    • 应用程序类加载器 (Application Class Loader): 加载应用程序的类(classpath)。
    • 自定义类加载器: 开发者可以自定义类加载器,实现特殊的类加载逻辑。
  • 双亲委派模型: 除了启动类加载器,每个类加载器都有一个父类加载器。当一个类加载器需要加载类时,它首先会委托给父类加载器去加载,只有当父类加载器无法加载时,才由自己加载。

2. 运行时数据区 (Runtime Data Areas):

  • 作用: JVM 在运行 Java 程序时管理的内存区域,用于存储程序运行过程中需要的数据。
  • 主要区域:
    • 方法区 (Method Area):

      • 存储内容: 类信息(类名、父类、接口、字段、方法等)、常量、静态变量、即时编译器编译后的代码。
      • 共享性: 所有线程共享。
      • HotSpot VM 中的实现:
        • JDK 1.7 及之前:永久代 (Permanent Generation)。
        • JDK 1.8 及之后:元空间 (Metaspace)(使用本地内存)。
      • 运行时常量池 (Runtime Constant Pool): 方法区的一部分,存放编译期生成的各种字面量和符号引用。
    • 堆 (Heap):

      • 存储内容: 对象实例和数组。
      • 共享性: 所有线程共享。
      • 垃圾回收: 是垃圾回收的主要区域。
      • 划分: 通常划分为新生代(Young Generation)和老年代(Old Generation)。
        • 新生代又可以划分为 Eden 区、Survivor from 区和 Survivor to 区。
    • 虚拟机栈 (VM Stack):

      • 存储内容: 方法调用的局部变量、操作数栈、动态链接、方法出口等信息。
      • 共享性: 每个线程都有自己的虚拟机栈(线程私有)。
      • 栈帧 (Stack Frame): 每次方法调用都会创建一个栈帧,用于存储方法的局部变量等信息。方法执行完毕后,栈帧会被销毁。
      • 异常:
        • StackOverflowError: 线程请求的栈深度大于虚拟机允许的深度。
        • OutOfMemoryError: 虚拟机栈无法申请到足够的内存(如果可以动态扩展)。
    • 本地方法栈 (Native Method Stack):

      • 存储内容: 与虚拟机栈类似,但用于支持 native 方法(使用 C、C++ 等编写的方法)的执行。
      • 共享性: 每个线程都有自己的本地方法栈(线程私有)。
    • 程序计数器 (Program Counter Register):

      • 存储内容: 当前线程正在执行的字节码指令的地址(行号)。
      • 共享性: 每个线程都有自己的程序计数器(线程私有)。
      • 特点: 是唯一一个在 Java 虚拟机规范中没有规定任何 OutOfMemoryError 情况的区域。

3. 执行引擎 (Execution Engine):

  • 作用: 负责执行 Java 字节码指令。
  • 主要组件:
    • 解释器 (Interpreter):

      • 逐条解释执行字节码指令。
      • 优点:启动速度快,不需要等待编译。
      • 缺点:执行速度慢,特别是对于频繁执行的代码。
    • 即时编译器 (JIT Compiler):

      • 将热点代码(经常执行的代码,例如循环体、频繁调用的方法)编译为本地机器码,提高执行效率。
      • 优点:执行速度快(接近本地代码)。
      • 缺点:编译需要时间,会增加启动时间。
      • HotSpot VM 中的 JIT 编译器:
        • Client Compiler (C1): 优化速度快,但优化程度较低。适用于客户端应用或对启动速度要求较高的场景。
        • Server Compiler (C2): 优化速度慢,但优化程度较高。适用于服务端应用或对性能要求较高的场景。
        • 分层编译 (Tiered Compilation): 根据程序的运行情况,选择不同的编译器进行优化。
          • 第 0 层: 解释执行。
          • 第 1 层: 使用 C1 编译,不开启 profiling。
          • 第 2 层: 使用 C1 编译,仅开启方法和循环回边的 profiling。
          • 第 3 层: 使用 C1 编译,开启所有 profiling。
          • 第 4 层: 使用 C2 编译。
    • 垃圾回收器 (Garbage Collector):

      • 负责自动回收不再使用的对象,释放内存。
      • 不同的 JVM 实现有不同的垃圾回收器。
      • 常见的垃圾回收器:
        • Serial GC
        • Parallel GC
        • CMS GC (Concurrent Mark Sweep)
        • G1 GC (Garbage-First)
        • ZGC
        • Shenandoah
    • 本地方法接口 (JNI, Java Native Interface):

      • 允许 Java 代码调用本地方法 (C/C++ 等编写的方法).

总结:

JVM 组成部分作用
类加载器子系统加载类文件(.class 文件)到 JVM 中,包括加载、链接(验证、准备、解析)和初始化三个阶段。
运行时数据区JVM 在运行 Java 程序时管理的内存区域,包括方法区、堆、虚拟机栈、本地方法栈、程序计数器。
执行引擎执行 Java 字节码指令,包括解释器、即时编译器、垃圾回收器。
本地方法接口(JNI)允许Java代码与本地代码(通常是C或C++)交互
http://www.dtcms.com/wzjs/608461.html

相关文章:

  • 网站交互方式怎么注册微网站吗
  • 口碑好网站建设公司电话武邑网站建设
  • 衡水网站建设公司联系电话淘宝搜索关键词查询工具
  • 旅游网站首页如何获取wordpress后台登入网址
  • 网站建设和微信小程序在线制作免费生成图片文字
  • 奇网企业网站管理系统建设银行网站个人中心
  • iis v6 新建网站互联网创业项目app
  • 深圳网站制作公司招聘网站建设后期维护小魔仙
  • 云服务器怎么搭建网站电商平台业务流程图
  • 江苏建设厅网站查询四川网站建设设计
  • 东莞热的建设网站ai软件
  • 确定建设电子网站的目的嘉兴网站推广优化公司
  • 手机网站 教程无锡哪里有做网站的公司
  • 太原网站建设搜q479185700社交网络的推广方法有哪些
  • 互联网网站开发合同教育类网站建设
  • 重庆彭水网站建设wordpress ajax搜索功能
  • 3东莞网站建设网站备案ip查询系统
  • 中山市建设局安全监督站网站php网站后台模板下载
  • 河北网站建设与推广网站建设资料清单
  • 网站模块源码网站设计一般用什么软件
  • 网站怎么添加管理员西部数码网站管理助手 mysql
  • 做淘客必须有自己内部网站吗阿里指数查询官网入口
  • 设计网站公司咨询亿企邦中信建设有限责任公司江苏分公司企查查
  • 免费做电子书的网站有哪些汽车可以做哪些广告视频网站有哪些
  • 网站制作需要多少费用wordpress源神
  • 怎么用python做网站深圳工程建设服务网
  • 国外网站服务器地址盘州住房和城乡建设局网站
  • 怎么用vps搭建网站自己的电脑做网站服务器
  • 网站运营优化南庄九江网站建设
  • 大淘客怎么做网站wordpress 导出数据