• java基础10题


    1.`下列代码中的错误原因是()

    (1) public class Test

    (2) {

    (3) public static void main(String [] args)

    (4) {

    (5) int i;

    (6) i+=1;

    (7) }
    (8) }
    `
    A.非法的表达式 i+=1
    B.找不到符号i
    C.类不应为public
    D.尚未初始化变量i
    2.下面有关JVM内存,说法错误的是?
    A.程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的
    B.虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的
    C.方法区用于存储JVM加载的类信息、常量、静态变量、以及编译器编译后的代码等数据,是线程隔离的
    D.原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的
    3.下面有关servlet和cgi的描述,说法错误的是?
    A.servlet处于服务器进程中,它通过多线程方式运行其service方法
    B.CGI对每个请求都产生新的进程,服务完成后就销毁
    C.servlet在易用性上强于cgi,它提供了大量的实用工具例程,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等
    D.cgi在移植性上高于servlet,几乎所有的主流服务器都直接或通过插件支持cgi
    4.下面哪些类实现或继承了 Collection 接口?
    A.HashMap
    B.ArrayList
    C.Vector
    D.Iterator
    5.实现或继承了Collection接口的是()
    A.Map
    B.List
    C.Vector
    D.Iterator
    E.Set
    6.以下哪项不是java基础类型()
    A.int
    B.boolean
    C.String
    D.float
    7.下列叙述中,错误的是( )
    A.File类能够存储文件属性
    B.File类能够读写文件
    C.File类能够建立文件
    D.File类能够获取文件目录信息
    8.已知x >= y and y >= z 为真,那么x > z or y = z 值为
    A.真
    B.假
    C.无法确定
    D.x y z同为正数时为真
    9.已知String a=“a”,String b=“b”,String c=a+b,String d=new String(“ab”) 以下操作结果为true的是
    A.(a+b).equals©
    B.a+b==c
    C.c == d
    D,c.equals(d)
    10.
    如下哪些是 java 中有效的关键字()
    A.native
    B.NULL
    C.false
    D.this

    (1)D
    局部变量没有默认值
    (2)C
    方法区在JVM中也是一个非常重要的区域,它与堆一样,是被 线程共享 的区域。 在方法区中,存储了每个类的信息(包括类的名称、方法信息、字段信息)、静态变量、常量以及编译器编译后的代码等。
    (3)选择D,servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。
    (4)正确答案: B C
    Java集合框架主要由Collection和Map两个根接口及其子接口、实现类组成。 collection 的子接口包括List,set,queue。而Map包括三个实现类HashMap,HashTable,LinkeHashMap
    (5)答案:BCE
    A,Map接口未实现Collection接口
    B,List接口的定义为
    public interface Listextends Collection
    C,Vector定义为
    public class Vectorextends AbstractListimplements List, RandomAccess, Cloneable, Serializable
    Vector实现了List接口自然实现了Collection接口
    D,Iterator接口未实现Collection接口
    E,
    public interface Setextends Collection
    Set接口继承自Collection接口
    (6)Java基本数据类型共有八大类,这八大数据类型又可分为四小类,分别是整数类型(byte/short/int/long)、浮点类型(float、double)、字符类型(char)和布尔类型(boolean),其中并不包括String。
    (7)B
    (8)答案应该是C
    条件可以简单分析为数学不等式 x>=y>=z,那么x>z不一定为true
    当x>z为true,后面的条件忽略,结果为真;
    当x == z,x>z为fslae,继续判断后一个条件
    如果z==0,则y=z为false,结果为假;
    如果z!=0,则y=z为true,结果为真;
    所以,最后的结果是不确定的。
    (9)A

    1.==equals():
    (1)==” 用于比较基本数据类型时比较的是值,用于比较引用类型时比较的是引用指向的地址。
    (2)Object 中的equals() 与 “==” 的作用相同,但String类重写了equals()方法,比较的是对象中的内容。
        
    public boolean equals(Object anObject) {  if (this == anObject) {
          return true;    } else { if (anObject instanceof String) {
                    String aString = (String)anObject;
           if (this.coder() == aString.coder()) { return this.isLatin1() ? StringLatin1.equals(this.value, aString.value) : StringUTF16.equals(this.value, aString.value); 
           }
            } return false;  }
    }
    
    2.String对象的两种创建方式:
    (1)第一种方式: String str1 = "aaa";  是在常量池中获取对象("aaa" 属于字符串字面量,因此编译时期会在常量池中创建一个字符串对象,如果常量池中已经存在该字符串对象则直接引用)
    (2)第二种方式: String str2 = new String("aaa") ; 一共会创建两个字符串对象一个在堆中,一个在常量池中(前提是常量池中还没有 "aaa" 象)。
            System.out.println(str1==str2);//false
    
    3.String类型的常量池比较特殊。它的主要使用方法有两种:
    (1)直接使用双引号声明出来的String对象会直接存储在常量池中。
    (2)如果不是用双引号声明的String对象,可以使用 String 提供的 intern 方法。 String.intern() 是一个 Native 方法,它的作用是: 如果运行时常量池中已经包含一个等于此 String 对象内容的字符串,则返回常量池中该字符串的引用; 如果没有,则在常量池中创建与此 String 内容相同的字符串,并返回常量池中创建的字符串的引用。
        String s1 = new String("AAA");
        String s2 = s1.intern();
        String s3 = "AAA";
        System.out.println(s2);//AAA
        System.out.println(s1 == s2);//false,因为一个是堆内存中的String对象一个是常量池中的String对象,
        System.out.println(s2 == s3);//true, s1,s2指向常量池中的”AAA“
    4字符串拼接:
        String a = "a";
        String b = "b";
             
        String str1 = "a" + "b";//常量池中的对象
        String str2 = a + b; //在堆上创建的新的对象     
        String str3 = "ab";//常量池中的对象
        System.out.println(str1 == str2);//false
        System.out.println(str1 == str3);//true 
        System.out.println(str2 == str3);//false
    

    (10)如下哪些是 java 中有效的关键字()
    A.native
    B.NULL
    C.false
    D.this

  • 相关阅读:
    【Linux】:vi 编辑器的使用
    服务注册与发现Eureka、Zookeeper、Consul 三个注册中心的异同点(CAP理论)
    json对齐行尾的注释 - 在vscode格式化
    Uniapp零基础开发学习笔记(10) -地图组件的使用
    java毕业生设计医院病房管理系统计算机源码+系统+mysql+调试部署+lw
    数据结构:AVL树讲解(C++)
    数据结构——AVL树
    DJYGUI系列文章七:GDD窗口系统
    PTL货位指引标签为仓储管理打开新思路
    怎么把图片变成Word文档?试试这一招100%准确
  • 原文地址:https://blog.csdn.net/Nicholas_giao/article/details/127103559