Java每日笔试题错题分析(7)

Java每日笔试题错题分析(7)

  • 一、错题知识点前瞻
    • 第1题
    • 第2题
    • 第3题
    • 第4题
    • 第5题
  • 二、错题展示及其解析
    • 第1题
    • 第2题
    • 第3题
    • 第4题
    • 第5题


一、错题知识点前瞻

第1题

非静态变量不能被静态方法引用



第2题

start()方法与run()方法

start()方法是启动一个线程,此时的线程处于就绪状态,但并不一定就会执行,还需要等待CPU的调度。
run()方法才是线程获得CPU时间,开始执行的点。



第3题

成员变量的引用在堆区

成员变量的引用在堆区,因为成员变量的所属对象在堆区,所以它也在堆区,局部变量的引用在栈区,因为它不属于某一个对象,在调用时才被加载,所以在栈区


第4题

LinkedList是实现List而不是继承

List是接口,需要类实现而不是继承



第5题

HashMap

1.HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。HashMap的底层结构是一个数组,数组中的每一项是一条链表
2. HashMap的实例有俩个参数影响其性能: “初始容量” 和 装填因子。
3. HashMap实现不同步,线程不安全。HashTable线程安全
4. HashMap中的key-value都是存储在Entry中的。
5. HashMap可以存null键和null值,不保证元素的顺序恒久不变,它的底层使用的是数组和链表,通过hashCode()方法和equals方法保证键的唯一性
6. 解决冲突主要有三种方法:定址法,拉链法,再散列法。HashMap是采用拉链法解决哈希冲突的。



二、错题展示及其解析


第1题


Java每日笔试题错题分析(7)_第1张图片


原理

非静态变量不能被静态方法引用


解析:若需要调用x,则需要创建一个类的实例变量方可调用x



第2题


Java每日笔试题错题分析(7)_第2张图片


原理:

start()方法与run()方法

start()方法是启动一个线程,此时的线程处于就绪状态,但并不一定就会执行,还需要等待CPU的调度。
run()方法才是线程获得CPU时间,开始执行的点。




第3题


Java每日笔试题错题分析(7)_第3张图片


原理:

成员变量的引用在堆区

成员变量的引用在堆区,因为成员变量的所属对象在堆区,所以它也在堆区,局部变量的引用在栈区,因为它不属于某一个对象,在调用时才被加载,所以在栈区



第4题


Java每日笔试题错题分析(7)_第4张图片


原理:

LinkedList是实现List而不是继承

List是接口,需要类实现而不是继承


第5题


Java每日笔试题错题分析(7)_第5张图片

原理:

HashMap

1.HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。HashMap的底层结构是一个数组,数组中的每一项是一条链表
2. HashMap的实例有俩个参数影响其性能: “初始容量” 和 装填因子。
3. HashMap实现不同步,线程不安全。HashTable线程安全
4. HashMap中的key-value都是存储在Entry中的。
5. HashMap可以存null键和null值,不保证元素的顺序恒久不变,它的底层使用的是数组和链表,通过hashCode()方法和equals方法保证键的唯一性
6. 解决冲突主要有三种方法:定址法,拉链法,再散列法。HashMap是采用拉链法解决哈希冲突的。


你可能感兴趣的:(Java基础,java,开发语言)