• HotSpot


    1.HotSpot简介:

      sun公司从jdk1.3.1开始使用HotSpot虚拟机,主要使用c++实现的,它是较新的Java虚拟机,可以大大提高运行性能。java原先是把源代码编译为字节码在虚拟机上运行(JIT),这样执行速度较慢。而HotSpot讲部分常用的代码编译为本地代码,这样显著提高了性能。

      HotSpot包括一个解释器和两个编译器(client和server,二选一),解释和编译混合执行,默认启动解释执行。

      编译器:Java源代码被编译器编译为class文件,Java字节码在运行时可以被动态编译(JIT)成本地代码(前提是解释与编译混合执行且虚拟机不是刚启动时)

      解释器:解释器用来解释class文件。

      server启动慢,占用内存多,执行效率高,适用于服务器端应用

      client启动快,占用内存小,执行效率没有server高,默认情况下不进行动态编译,适用于桌面应用程序

      client默认关闭,server默认开启

    2.动态编译:

      HotSpot在程序运行过程中编译。

      Java字节码是以解释的方式被加载到虚拟机中,程序运行过程中,对程序运行效率影响大的代码被称为热点(hotspot),HotSpot会把这些热点动态的编译成机器码,同时对机器码进行优化,对那些较少运行的代码,HotSpot就不会把他们编译。

      HotSpot对字节码有三层处理:不编译、编译、编译并优化---->由监视器决定

  • 相关阅读:
    zstu.4189: 逻辑运算(构建 && 前缀表达式入门)
    Oulipo (kmp)
    zstu.4194: 字符串匹配(kmp入门题&& 心得)
    杭赛.Triangle(数学推导)
    cf.VK CUP 2015.C.Name Quest(贪心)
    微服务技术栈
    luogu3320 寻宝游戏 (dfs序+倍增lca+set)
    cf757F Team Rocket Rises Again (dijkstra+支配树)
    cf983E NN Country (倍增+dfs序+树状数组)
    cf860E Arkady and A Nobody-men (树剖)
  • 原文地址:https://www.cnblogs.com/Life-is-Demo/p/11382041.html
Copyright © 2020-2023  润新知