指出下面程序的运行结果:

package com.yunhe.TestClone;

/**
 * @ProjectName Student2
 * @ClassName Testss
 * @Description TODO
 * @Author jing
 * @Date 2018/11/15 14:43
 * @Version 1.0
 **/

class A {
    static {
        System.out.print("1");
    }

    public A() {
        System.out.print("2");
    }
}

class B extends A {
    static {
        System.out.print("a");
    }

    public B() {
        System.out.print("b");
    }
}

public class Hello {
    public static void main(String[] args) {
        A ab = new B();
        ab = new B();
    }
}

答:执行结果:1a2b2b。创建对象时构造器的调用顺序是:先初始化静态成员,然后调用父类构造器,再初始化非静态成员,最后调用自身构造器。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在这个计算机系统中,运行着两个程序,它们的运行情况如下: - 程序1:计算50ms、输出100ms、计算50ms、输出100ms、结束。 - 程序2:计算50ms、输出100ms、计算100ms、结束。 假设在系统运行过程中,CPU没有空闲间,下面是对两个程序运行CPU是否空闲、在哪一部分空闲以及程序1和程序2是否等待CPU的分析: 1. 程序1开始执行,CPU处于忙碌状态,程序1的第一次计算操作占用了CPU资源。 2. 程序1的第一次计算操作完成后,程序1进入输出状态,此CPU处于空闲状态,因为输出不需要占用CPU资源。 3. 在程序1的第一次输出操作完成后,程序1进入第二次计算状态,CPU再次处于忙碌状态,程序1的第二次计算操作占用了CPU资源。 4. 程序1的第二次计算操作完成后,程序1进入第二次输出状态,此CPU再次处于空闲状态,因为输出不需要占用CPU资源。 5. 在程序1的第二次输出操作完成后,程序1结束,此CPU处于空闲状态。 6. 程序2开始执行,CPU处于忙碌状态,程序2的第一次计算操作占用了CPU资源。 7. 在程序2的第一次计算操作完成后,程序2进入输出状态,此CPU再次处于空闲状态,因为输出不需要占用CPU资源。 8. 在程序2的第一次输出操作完成后,程序2进入第二次计算状态,CPU再次处于忙碌状态,程序2的第二次计算操作占用了CPU资源。 9. 在程序2的第二次计算操作完成后,程序2结束,此CPU处于空闲状态。 综上所述,CPU在程序1和程序2的输出状态处于空闲状态,程序1和程序2在等待CPU的情况下,发生在它们的计算操作中,因为计算操作需要占用CPU资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值