HelloCoder HelloCoder
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
随笔
关于作者
首页
《Java小白求职之路》
《小白学Java》
计算机毕设
  • 一些免费计算机资源
  • 脚手架工具
  • 《从0到1学习Java多线程》
  • 《从0到1搭建服务器》
随笔
关于作者
  • 《LearnJavaToFindAJob》

    • 导读

    • 【初级】6~12k档

      • Java基础

      • JVM

      • 牛客网题库

        • 前言
        • Java基础面试题库(一)
        • Java基础面试题库(二)
        • Java基础面试题库(三)
        • Java基础面试题库(四)
        • Java基础面试题库(五)
        • Java基础面试题库(六)
        • JVM面试题库(一)
        • Java线程类面试题库(一)
        • Java集合类面试题库(一)
      • MySQL

      • Linux

      • 计算机网络

      • 操作系统

      • Java框架

    • 【中级】12k-26k档

    • 【高级】26k+档

    • 大厂面试题

    • 求职建议

    • 面经

  • LearnJavaToFindAJob
  • 【初级】6~12k档
  • 牛客网题库
#Java
码农阿雨
2022-06-02
目录

Java基础面试题库(一)

# 1、下列哪个说法是正确的()

A ConcurrentHashMap使用synchronized关键字保证线程安全

B HashMap实现了Collction接口

C Array.asList方法返回java.util.ArrayList对象

D SimpleDateFormat是线程不安全的

D

ConcurrentHashMap 使用segment来分段和管理锁使用ReentrantLock来保证线程安全。

这个是HashMap的源码:

public class HashMap<K,V>
    extends AbstractMap<K,V>
    implements Map<K,V>, Cloneable, Serializable

Arrays.asList() 返回 java.util.Arrays.ArrayList 对象,这里的 ArrayList 是 Arrays 私有的内部类;并不是java.util.ArrayList。

SimpleDateFormat没有加同步锁,故不安全。

# 2、下面代码的运行结果是()
public static void main(String[] args){
    String s;
    System.out.println("s="+s);
}

A 代码编程成功,并输出”s=”

B 代码编译成功,并输出”s=null”

C 由于String s没有初始化,代码不能编译通过。

D 代码编译成功,但捕获到NullPointException异常

C

局部变量没有默认值

# 3、JDK1.8版本之前,抽象类和接口的区别,以下说法错误的是()

A 接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的。

B abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface,实现多重继承。接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用。

C 在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是 static final的,不过在 interface中一般不定义数据成员),所有的成员方法默认都是 public abstract 类型的。

D abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"has-a"关系,interface表示的是"is-a"关系。

D

abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。

接口中:

如果是Java 7以及以前的版本,那么接口中可以包含的内容有:1. 常量;2. 抽象方法 如果是Java 8,还可以额外包含有:3. 默认方法;4. 静态方法 如果是Java 9,还可以额外包含有:5. 私有方法

final变量在使用前必须先赋值

# 5、 关于Java内存区域下列说法不正确的有哪些?

A 程序计数器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的信号指示器,每个线程都需要一个独立的程序计数器.

B Java虚拟机栈描述的是java方法执行的内存模型,每个方法被执行的时候都会创建一个栈帧,用于存储局部变量表、类信息、动态链接等信息

C Java堆是java虚拟机所管理的内存中最大的一块,每个线程都拥有一块内存区域,所有的对象实例以及数组都在这里分配内存。

D 方法区是各个线程共享的内存区域,它用于存储已经被虚拟机加载的常量、即时编译器编译后的代码、静态变量等数据。

B C

java虚拟机栈:线程私有,没有类信息,类信息是在方法区中

java堆是被所有线程共享的一块内存区域,而不是每个线程都拥有一块内存区域。

# 6、在java中重写方法应遵循规则的包括()

A 访问修饰符的限制一定要大于被重写方法的访问修饰符

B 可以有不同的访问修饰符

C 参数列表必须完全与被重写的方法相同

D 必须具有不同的参数列表

B C

方法重写要注意的事项: 1.方法重写时, 方法名与形参列表必须一致。 2.方法重写时,子类的权限修饰符必须要大于或者等于父类的权限修饰符。 3.方法重写时,子类的返回值类型必须要小于或者等于父类的返回值类型。 4.方法重写时, 子类抛出的异常类型要小于或者等于父类抛出的异常类型。 Exception(大) RuntimeException(小)

A选项的一定要大于错误,而是子类重写方法的访问权限不能低于父类重写方法的访问权限

D 是重载要求

# 7、要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以( )

A 让该类不使用任何关键字

B 使用private关键字

C 使用protected关键字

D 使用void关键字

A

总结:default拒绝一切包外访问;protected接受包外的子类访问

public>protected>default>private

# 8、枚举(enum)属于原始数据类型(primitive type)?

错误

在Java中,变量有两种类型,一种是原始类型,一种是引用类型。

原始类型一共有8种,它们分别是char,boolean,byte,short,int,long,float,double。

# 9、Java语言中,下面哪个语句是创建数组的正确语句?( )
A	float f[][] = new float[6][6];
B	float []f[] = new float[6][6];
C	float f[][] = new float[][6];
D	float [][]f = new float[6][6];
E	float [][]f = new float[6][];

A B D E

一维长度必须定义,二维可以后续定义

# 10、jdk1.8中,下面有关java 抽象类和接口的区别,说法错误的是?

A 抽象类可以有构造方法,接口中不能有构造方法

B 抽象类中可以包含非抽象的普通方法,接口中的方法必须是抽象的,不能有非抽象的普通方法

C 一个类可以实现多个接口,但只能继承一个抽象类

D 接口中可以有普通成员变量,抽象类中没有普通成员变量

B D

参考第3题答案

抽象类 1.抽象类中可以构造方法 2.抽象类中可以存在普通属性,方法,静态属性和方法。 3.抽象类中可以存在抽象方法。 4.如果一个类中有一个抽象方法,那么当前类一定是抽象类;抽象类中不一定有抽象方法。 5.抽象类中的抽象方法,需要有子类实现,如果子类不实现,则子类也需要定义为抽象的。 接口 1.在接口中只有方法的声明,没有方法体。 2.在接口中只有常量,因为定义的变量,在编译的时候都会默认加上 public static final 3.在接口中的方法,永远都被public来修饰。 4.接口中没有构造方法,也不能实例化接口的对象。 5.接口可以实现多继承 6.接口中定义的方法都需要有实现类来实现,如果实现类不能实现接口中的所有方法,则实现类定义为抽象类。

java8中接口 可以有default、static方法,所以B是错的。

阅读全文
×

(为防止恶意爬虫)
扫码或搜索:HelloCoder
发送:290992
即可永久解锁本站全部文章

解锁
#Java
上次更新: 2025-02-21 06:04:57
最近更新
01
《LeetCode 101》
02-21
02
IDEA、Golang、Pycharm破解安装
02-21
03
《LeetCode CookBook》
02-21
更多文章>
Theme by Vdoing | Copyright © 2020-2025 码农阿雨
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式