每日java笔试五小题-2020-9-22

每日java笔试五小题-2020-9-22

1… Java 语言中创建一个对象使用的关键字是()

	正确答案: C  你的答案: C (正确)
class
interface
new
create
  1. 下面有关java hashmap的说法错误的是?

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

    HashMap 的实例有两个参数影响其性能:“初始容量” 和 “加载因子”。
    HashMap 的实现不是同步的,意味着它不是线程安全的
    HashMap通过开放地址法解决哈希冲突
    HashMap中的key-value都是存储在Entry数组中的
    

解析:

hashmap采用拉链法解决冲突

在这里帮大家总结一下hashMap和hashtable方面的知识点吧: 1. 关于HashMap的一些说法: a) HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。HashMap的底层结构是一个数组,数组中的每一项是一条链表。 b) HashMap的实例有俩个参数影响其性能: “初始容量” 和 装填因子。 c) HashMap实现不同步,线程不安全。 HashTable线程安全 d) HashMap中的key-value都是存储在Entry中的。 e) HashMap可以存null键和null值,不保证元素的顺序恒久不变,它的底层使用的是数组和链表,通过hashCode()方法和equals方法保证键的唯一性

  1. 下列语句正确的是:

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

形式参数可被字段修饰符修饰
形式参数不可以是对象
形式参数为方法被调用时真正被传递的参数
形式参数可被视为local variable

A:形式参数只能被final修饰

B:形式参数可以是对象

C:形式参数被调用时被传递的是实际参数的拷贝

D:local variable:局部变量

  1. What will happen when you attempt to compile and run the following code?
public class Test{
    
    
static{
    
    
   int x=5;
}
static int x,y;
public static void main(String args[]){
    
    
   x--;
   myMethod( );
   System.out.println(x+y+ ++x);
}
public static void myMethod( ){
    
    
  y=x++ + ++x;
 }
}

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

compiletime error
prints:1
prints:2
prints:3
prints:7
prints:8
  1. 关于下面这段Java程序,哪些描述是正确的:( )

    public class ThreadTest extends Thread {
    public void run() {
    System.out.println("In run");
    yield();
    System.out.println("Leaving run");
    }
    public static void main(String []argv) {
    (new ThreadTest()).start();
    }
    }
    

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

程序运行输出只有In run
程序运行输出只有Leaving run
程序运行输出先有In run后有Leaving run
程序运行输出先有Leaving run后有In run
程序没有任何输出就退出了
程序将被挂起,只能强制退出

解析:

Thread.yield()方法作用是:暂停当前正在执行的线程对象,并执行其他线程。

yield()应该做的是让当前运行线程回到可运行状态,以允许具有相同优先级的其他线程获得运行机会。因此,使用yield()的目的是让相同优先级的线程之间能适当的轮转执行。但是,实际中无法保证yield()达到让步目的,因为让步的线程还有可能被线程调度程序再次选中。

结论:yield()从未导致线程转到等待/睡眠/阻塞状态。在大多数情况下,yield()将导致线程从运行状态转到可运行状态,但有可能没有效果。

猜你喜欢

转载自blog.csdn.net/qq_37924905/article/details/108735595