面试 day2

面试题(二)

  1. 基本类型的包装类型有哪些?
    int的包装类型(Integer)
    char(Character)
    其余基本类型对应首字母大写

  2. static 关键字的用法有哪些?
    修饰成员变量或方法;静态代码块;静态内部类;静态导包

  3. 静态代码块与非静态代码块的区别?
    静态代码块在类加载时执行,且只执行一次,非静态代码块在创建实例时,调用方法之前执行,创建则执行

  4. 构造方法的作用是什么?
    主要作用是创建对象的初始化工作,JAVA有默认无参构造器,当定义了有参构造器后,默认无参构造器消失,一般也要显式定义无参构造器。确保任何场景该类都可以使用无参构造方法

  5. String为什么是不可变的?
    String 类中使用final修饰保存字符串的数组
    jdk8:private final char value []
    jdk9:private final byte[] value

  6. String 、 StringBuffer 、StringBuilder 有什么区别?
    String 不可变,而StringBuffer、StringBuilder 可变;
    对String类型修改会生成新的String对象,性能和内存开销大,而StringBuffer 、StringBuilder的修改直接在原本的数据,不创建新对象,内存开销小;
    String不可变是常量,线程安全、StringBuffer 有同步锁也是线程安全的、StringBuilder非线程安全但效率高

  7. 什么是多态?
    一个对象多种形态,具体指父类接口的引用指向子类实例(方法重写)

  8. 什么是 JVM 、 JRE 、 JDK ?
    JVM JAVA虚拟机用于运行class文件
    JRE JAVA运行环境包括核心类库
    JDK JAVA开发工具包

  9. 什么是构造方法?
    构造方法的名称与类名相同、无返回类型、创建对象用new关键字,属于显示调用

  10. Java中的修饰符有哪些?
    访问修饰符:public protected 默认 private
    abstract:修饰类和方法
    final:修饰成员变量或类
    static:修饰成员变量、内部类、代码块
    transient:修饰属性,对象序列化时该属性不进行序列化,数据不存储
    volatile:修饰属性,线程之间可见
    native:修饰方法,表示该方法不由程序实现,而是本地方法库(C或C++实现)获得
    synchronized:修饰方法和代码块,表示该方法和代码块是最小执行单元,执行结束前其他线程无法访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值