• java牛客错题 2020年9月16日


    java牛客错题 2020年9月16日

    1. 下面有关java classloader说法错误的是?

      正确答案: C 你的答案: C (正确)

      Java默认提供的三个ClassLoader是BootStrap ClassLoader,Extension ClassLoader,App ClassLoader
      ClassLoader使用的是双亲委托模型来搜索类的
      JVM在判定两个class是否相同时,只用判断类名相同即可,和类加载器无关
      ClassLoader就是用来动态加载class文件到内存当中用的
      解释:
      JVM在判定两个class是否相同时,不仅要判断两个类名是否相同,而且要判断是否由同一个类加载器实例加载的。
      一个jvm中默认的classloader有Bootstrap ClassLoader、Extension ClassLoader、App ClassLoader,分别各司其职:
      
      Bootstrap ClassLoader     负责加载java基础类,主要是 %JRE_HOME/lib/ 目录下的rt.jar、resources.jar、charsets.jar和class等
      Extension ClassLoader      负责加载java扩展类,主要是 %JRE_HOME/lib/ext 目录下的jar和class
      App ClassLoader           负责加载当前java应用的classpath中的所有类。
      classloader 加载类用的是全盘负责委托机制。 所谓全盘负责,即是当一个classloader加载一个Class的时候,这个Class所依赖的和引用的所有 Class也由这个classloader负责载入,除非是显式的使用另外一个classloader载入。
      所以,当我们自定义的classlo ader加载成功了 com.company.MyClass以后,MyClass里所有依赖的class都由这个classLoader来加载完成。
      
    2. 下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?

      正确答案: B 你的答案: C (错误)

      实例变量指的是类中定义的变量,即成员变量,如果没有初始化,会有默认值。
      局部变量指的是在方法中定义的变量,如果没有初始化,会有默认值
      类变量指的是用static修饰的属性
      final变量指的是用final 修饰的变量
      
      类变量不就是ClassName.variableName吗。
      解释:
      局部变量必须有初始值。
      
    3. 以下多线程对int型变量x的操作,哪个不需要进行同步()

      正确答案: D 你的答案: D (正确)

      ++x
      x=y
      x++
      x=1
      自我感觉是赋值的话,不涉及到线程问题,而X++,或者变量之间的赋值问题都涉及到先后顺序。肯定会导致脏数据等问题。
      同步是害怕在操作过程的时候被其他线程也进行读取操作,一旦是原子性的操作就不会发生这种情况。
      因为一步到位的操作,其他线程不可能在中间干涉。另外三项都有读取、操作两个步骤,而X=1则是原子性操作。
      
    4. 顺序执行下列程序语句后,则b的值是()

      String a="Hello";

      String b=a.substring(0,2);

      正确答案: C 你的答案: B (错误)

      Hello
      Hel
      He
      null
      解释:
      不用看答案了,直接自己写吧。
      substring截取字符串前闭后开,也就是[0,2),按理说是从0,1,2但是2不包括所以就是C
      
    5. @SuppressWarnings(“deprecation”)的功能是什么?

      正确答案: A 你的答案: B (错误)

      屏蔽不赞同使用的类和方法的警告
      屏蔽在强制类型转换的时候编译器给出的警告
      关闭所有警告信息
      当在可序列化的类上缺少serialVersionUID定义的警告
      考注解:
      本题考查注解编程,对java三大注解是否了解:
      @SuppressWarnings这是java三大注解之一,主要功能是屏蔽相应的警告。
      里面的deprecation修饰符则是对java中已经过时或者废弃方法的警告。
      @SuppressWarnings(“deprecation”)的功能是屏蔽不赞同(就是过时废弃的意思)使用的类和方法的警告
      
    6. 以下哪些方法是Object类中的方法

      正确答案: A B C D 你的答案: B C (错误)

      clone()
      toString()
      wait()
      finalize()
      都是
      
    7. 下述有关c++的虚类和java接口的描述,说法错误的是?

      正确答案: C D 你的答案: A C (错误)

      c++虚类相当与java里面的抽象类
      c++中没有接口的概念,与之对应的是纯虚类,对应的是java的接口
      纯虚函数和虚函数的区别在于前者只包含定义,而后者还可以包含函数体。
      一个抽象类和接口中的方法必须是抽象方法
      解释:
      1、一个子类只能继承一个抽象类(虚类),但能实现多个接口;
      2、一个抽象类可以有构造方法,接口没有构造方法;
      3、一个抽象类中的方法不一定是抽象方法,即其中的方法可以有实现(有方法体),接口中的方法都是抽象方法,不能有方法体,只有声明;
      4、一个抽象类可以是public、private、protected、default,
         接口只有public;
      5、一个抽象类中的方法可以是public、private、protected、default,
         接口中的方法只能是public和default
      
  • 相关阅读:
    Android 视图切换库的使用
    Ext3.4--TreeGridDemo
    Extjs不错的博客
    Extjs学习笔记--(六,选择器)
    Webservice简单案例
    Extjs学习笔记--(五,事件)
    Extjs学习笔记--(四,基本函数介绍)
    Extjs学习笔记--(三,调试技巧)
    SQL集合运算:差集、交集、并集
    Extjs学习笔记--(二)
  • 原文地址:https://www.cnblogs.com/chenyameng/p/13677195.html
Copyright © 2020-2023  润新知