JVM的三种运行模式测试

JVM的字节码到底是编译型还是解释型呢? 都是, 因为JVM有三种不同的运行模式, 分别是
1, 解释型
2, 编译型
3, 混合型
分别使用参数配置执行, 下面使用程序进行一下不同模式下, 程序的执行效率

/**
 * 功能说明:三种不同运行模式下的执行效率
 * 解释执行: -Xint          result=...ms(多半分钟没看到结果, 小马哥不看了)
 * 编译执行: -Xcomp         result=40ms
 * 混合执行: -Xmixed        result=9ms
 * 开发人员:@author MaLi
 */
public class T03_RunningMode {
    //定义执行循环的次数
    private static int _1Million = 1000000;

    public static void main(String[] args) {
        long start = System.currentTimeMillis();
        int mainResult = 0;
        //循环调用100万次 doSom()函数
        for (int i = 0; i < _1Million; i++) {
            mainResult += doSom();
        }
        System.out.println(mainResult);
        long end = System.currentTimeMillis();
        System.out.println("Time wasted: " + (end - start) + "ms");
    }

    public static int doSom() {
        int result = 0;
        //计算100万次加法
        for (int i = 0; i < _1Million; i++) {
            result++;
        }
        return result;
    }
}

关于如何配置参数
1, 在命令行中, 执行java -jar直接跟上-Xint , -Xcomp, -Xmixed三者只一的参数;
2, 在IDE中举例配置如图
2.1 在代码窗口右键, 对运行进行配置
在这里插入图片描述
2.2 如果没有VM的配置输入框, 要在如图位置打钩添加上VM Options, 然后填入JVM参数
在这里插入图片描述
分别对三种模式进行测试, 发现效率还是有明显差别, JVM默认的混合运行模式, 在该程序中看是最优选择. 执行效果的结果在代码注释中.

Hadoop有三种常见的运行模式,分别是本地模式(Local Mode)、伪分布式模式(Pseudo-Distributed Mode)和完全分布式模式(Fully Distributed Mode)。 1. 本地模式(Local Mode):在本地模式下,Hadoop在单个节点上运行,所有的Hadoop组件都运行在同一个JVM进程中。这种模式适用于开发和调试阶段,可以在一个节点上快速测试和验证Hadoop程序。 2. 伪分布式模式(Pseudo-Distributed Mode):伪分布式模式下,Hadoop模拟了一个完全分布式的环境,但实际上所有的Hadoop组件都运行在同一台物理机器上。在这个模式下,每个Hadoop组件都在独立的JVM进程中运行,通过配置文件指定各个组件的运行参数。这种模式适用于单机环境下进行开发和测试,可以模拟完全分布式的运行环境。 3. 完全分布式模式(Fully Distributed Mode):完全分布式模式是Hadoop的真正分布式部署方式。在这种模式下,Hadoop集群由多个物理或虚拟服务器组成,每个服务器上都运行着Hadoop的各个组件。集群中的服务器通过网络相互通信和协作,进行数据存储和计算任务的分布式处理。完全分布式模式适用于大规模数据处理和分布式计算任务。 总结来说,本地模式适用于开发和调试,伪分布式模式适用于单机环境下的开发和测试,完全分布式模式适用于真正的大规模数据处理和分布式计算任务。根据实际需求选择不同的运行模式可以更好地利用Hadoop的分布式计算能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

能力工场小马哥

如果对您有帮助, 请打赏支持~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值