• java基础10题


    1.下面代码结果为

     public static void main(String[] args) {
         System.out.println(val());
     }
     
     public static int val() {
         int num = 5;
         try {
         num = num / 0;
     } catch (Exception e) {
         num = 10;
     } finally {
         num = 15;
     }
     return num;
     }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    2.根据以下代码段,执行new Child(“John”, 10); 要使数据域data得到10,则子类空白处应该填写( )。

    class Parent {
    
        private int data;
    
        public Parent(int d){ data = d; }
    
    }
    
    class Child extends Parent{
    
        String name;
    
        public Child(String s, int d){
    
            ___________________
    
            name = s;
    
        }
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    3.下面有关servlet中init,service,destroy方法描述错误的是?
    A.init()方法是servlet生命的起点。一旦加载了某个servlet,服务器将立即调用它的init()方法
    B.service()方法处理客户机发出的所有请求
    C.destroy()方法标志servlet生命周期的结束
    D.servlet在多线程下使用了同步机制,因此,在并发编程下servlet是线程安全的
    4.ArrayLists和LinkedList的区别,下述说法正确的有?
    A.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
    B.对于随机访问get和set,ArrayList绝对优于LinkedList,因为LinkedList要迭代器。
    C.对于新增和删除操作add和remove,LinkedList比较占优势,因为ArrayList要移动数据。
    D.ArrayList的空间浪费主要体现在在list列表的结尾预留一定的容量空间,而LinkedList的空间花费则体现在它的每一个元素都需要消耗相当的空间。
    5.类之间存在以下几种常见的关系:
    A.“USES-A”关系
    B.“HAS-A”关系
    C.“IS-A”关系
    D.“INHERIT-A”关系
    6.如下Java语句 double x=2.0; int y=4; x/=++y; 执行后,x的值是
    7.
    访问权限控制从最大权限到最小权限依次为:public、 包访问权限、protected和private 。( )
    A.正确
    B.错误
    8.检查程序,是否存在问题,如果存在指出问题所在,如果不存在,说明输出结果。

    public class Example {  
      String str = new String("good");  
      char[] ch = {'a','b','c'};  
      public static void main(String[] args) {  
         Example ex = new Example();  
         ex.change(ex.str, ex.ch);  
         System.out.print(ex.str +"and");  
         System.out.print(ex.ch);   
      }  
       
      public void change(String str, char ch[]){  
         str= "test ok";  
         ch[0]= 'g';  
      }  
    }  
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    9.子类要调用继承自父类的方法,必须使用super关键字。
    A.正确
    B.错误
    10.当我们需要所有线程都执行到某一处,才进行后面的的代码执行我们可以使用?
    A,.CountDownLatch
    B.CyclicBarrier
    C.Semaphore
    D.Future

    (1)程序正常运行,输出值为15
    try和catch两位大佬执行完毕后
    都需要finally小弟在后面帮忙擦屁股
    (2)super(d);
    1.子父类存在同名成员时,子类中默认访问子类的成员,可通过super指定访问父类的成员,格式:super.xx (注:xx是成员名);
    2.创建子类对象时,默认会调用父类的无参构造方法,可通过super指定调用父类其他构造方法,格式:s uper(yy) (注:yy是父类构造方法需要传递的参数)
    (3)答案为D。
    servlet在多线程下其本身并不是线程安全的。
    如果在类中定义成员变量,而在service中根据不同的线程对该成员变量进行更改,那么在并发的时候就会引起错误。最好是在方法中,定义局部变量,而不是类变量或者对象的成员变量。由于方法中的局部变量是在栈中,彼此各自都拥有独立的运行空间而不会互相干扰,因此才做到线程安全。
    (4)正确答案: A B C D
    (5)正确答案: A B C
    (6)++y,则y=5
    int的5转成double的5
    x=2.0/5=0.4(这里是double的5 )
    (7)B
    public>protected>默认>private
    原因:protected修饰的类,不仅仅可以被本包访问,还可以被其他包中的子类访问 来源
    (8)goodandgbc
    String类型和数组属于引用传递,但执行change方法后,数组改变的是ch[0],也就是ch数组引用未改变,但其所指向内容的值被改变
    (9)B
    super是父类空间的引用 1.当子类重写了父类的方法 如果子类还想调用父类该方法 必须 super 2.在子类的构造方法里调用父类的构造方法 要super 3.换言之,当子类有不同于父类的东西时才需要super
    (10)B
    CountDownLatch 和 CyclicBarrier 的区别
    CountDownLatch的作用是允许一个或多个线程等待其他线程完成执行;CyclicBarrier则允许多个线程相互等待。
    CountDownLatch的计数器无法被重置;CyclicBarrier的计数器可以被重置。

  • 相关阅读:
    vue基础知识十一:Vue组件之间的通信方式都有哪些?
    【Java】想进大厂?你应该知道的算法经典习题(队列)
    使用.NET Jieba.NET 的 PosSegmenter 实现中文分词匹配
    专享策略No.3 | 商品截面交易策略
    day1_night-Python初识
    设计模式学习
    java练习项目 拼图游戏
    jdk 11 自带的HttpClient
    [激光器原理与应用-6]:Q开关元件与Q驱动电路板
    Mybatis——拦截器Interceptor
  • 原文地址:https://blog.csdn.net/Nicholas_giao/article/details/126949102