• java基础10题


    1.以下类定义中的错误是什么?()

    abstract class xy
    {
        abstract sum (int x, int y) { }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    A.没有错误
    B.类标题未正确定义
    C.方法没有正确定义
    D.没有定义构造函数
    2.关于抽象类叙述正确的是? ( )
    A.抽象类不能实现接口
    B.抽象类必须有“abstract class”修饰
    C.抽象类必须包含抽象方法
    D.抽象类也有类的特性,可以被实例化
    3.我们在程序中经常使用“System.out.println()”来输出信息,语句中的System是包名,out是类名,println是方法名。
    A.对
    B.错
    4.如果要导入一个java.scut.computer的包,叙述正确的是? ( )
    A.只需在代码中加入“import java.scut.computer;”一个语句,并且必须放在代码非注释的第一行
    B.只需在代码中加入“import java.scut;”一个语句
    C.必须在代码中加入“import java.scut;”和“package java.scut.computer;”两个语句
    D.在代码中,不一定是第一句,只要是类定义前,加入package语句即可
    5.以下描述错误的一项是( )?
    A.程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行 到了第几行,是线程隔离的
    B.原则上讲,所有的对象都是在堆区上分配内存,是线程之间共享的
    C.方法区用于存储JVM加载的类信息、常量、静态变量,即使编译器编译后的代码等数据,是线程隔离的
    D.Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的
    6.关于Java中参数传递的说法,哪个是错误的?
    A.在方法中,修改一个基础类型的参数不会影响原始参数值
    B.在方法中,改变一个对象参数的引用不会影响到原始引用
    C.在方法中,修改一个对象的属性会影响原始对象参数
    D.在方法中,修改集合和Maps的元素不会影响原始集合参数
    7.关于下面的程序Test.java说法正确的是( )。

    public class Test {
        static String x="1";
        static int y=1;
        public static void main(String args[]) {
            static int z=2;
            System.out.println(x+y+z);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    A.3
    B.112
    C.13
    D.程序有编译错误
    8.存根(Stub)与以下哪种技术有关
    A.交换
    B.动态链接
    C.动态加载
    D.磁盘调度
    9.int,String,*point,union哪些不是 Java 的数据类型?
    A.int
    B.String
    C.*point
    D.union
    10.在Java线程状态转换时,下列转换不可能发生的有()?
    A.初始态->运行态
    B.就绪态->运行态
    C.阻塞态->运行态
    D.运行态->就绪态
    (1)C
    1、抽象方法不能有方法体,这是规定
    2、该方法缺少返回值,只有构造没有返回值
    (2)正确答案: B
    1抽象类是可以实现接口的,而且抽象类也可以继承自抽象类
    2有抽象方法的类一定是抽象类,抽象类不一定包含抽象方法
    3抽象类和接口都是不能被实例化的,只有具体的类才可以被实例化
    (3)错
    System是java.lang中的一个类,out是System内的一个成员变量,这个变量是一个java.io.PrintStream类的对象,println呢就是一个方法了。
    (4)正确答案: A
    (5)在这里插入图片描述
    JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)
    栈区:
    每个线程包含一个栈区,栈中只保存方法中(不包括对象的成员变量)的基础数据类型和自定义对象的引用(不是对象),对象都存放在堆区中
    每个栈中的数据(原始类型和对象引用)都是私有的,其他栈不能访问。
    栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。
    堆区:
    存储的全部是对象实例,每个对象都包含一个与之对应的class的信息(class信息存放在方法区)。
    jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身,几乎所有的对象实例和数组都在堆中分配。
    方法区:
    又叫静态区,跟堆一样,被所有的线程共享。它用于存储已经被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。
    (6)正确答案: D
    在方法中,改变一个对象参数的引用不会影响到原始引用

    //引用传参:本质是传的是地址:会使该形参引用指向原对象;同时修改该形参就会修改原对象
    不过B选项说的是原引用,那根本就没关系,原引用不会受到影响
    (7)D
    被static修饰的变量称为静态变量,静态变量属于整个类,而局部变量属于方法,只在该方法内有效,所以static不能修饰局部变量
    (8)B

    存根类是一个类,它实现了一个接口,它的作用是:如果一个接口有很多方法,如果要实现这个接口,就要实现所有的方法。但是一个类从业务来说,可能只需要其中一两个方法。如果直接去实现这个接口,除了实现所需的方法,还要实现其他所有的无关方法。而如果通过继承存根类就实现接口,就免去了这种麻烦。
    RMI 采用stubs 和 skeletons 来进行远程对象(remote object)的通讯。stub 充当远程对象的客户端***,有着和远程对象相同的远程接口,远程对象的调用实际是通过调用该对象的客户端对象stub来完成的。
    每个远程对象都包含一个
    对象stub,当运行在本地Java虚拟机上的程序调用运行在远程Java虚拟机上的对象方法时,它首先在本地创建该对象的对象stub, 然后调用对象上匹配的方法。每一个远程对象同时也包含一个skeleton对象,skeleton运行在远程对象所在的虚拟机上,接受来自stub对象的调用。这种方式符合等到程序要运行时将目标文件动态进行链接的思想
    (9)正确答案: C D
    java中数据类型分为:基本数据类型和引用数据类型,其中基本数据类型有8种,byte,short,int,long, boolean,char,float,double 引用数据类型有字符串,数组,类等
    (10)正确答案: A C
    准备–就绪–运行–阻塞,就绪和运行可相互转,运行到阻塞,再进就绪

  • 相关阅读:
    nginx 配置反向代理
    k8s 自定义 controller 三部曲之二: 自动生成代码
    【Python数据分析 - 6】:Numpy中的逻辑运算
    python爬虫——爬取豆瓣top250电影数据(适合初学者)
    Spring学习笔记——3
    Linux系统命令——文件与文件目录管理
    【定语从句练习题】定语从句中的介词
    Linux串口断帧和连帧处理
    151. 颠倒字符串中的单词-双指针法
    虚函数(多态)
  • 原文地址:https://blog.csdn.net/Nicholas_giao/article/details/127452817