Java面试

这篇博客主要涵盖了Java面试中常见的基础题目,包括面向对象的特征、JDK、JRE、JVM的区别、重写与重载的区别、字符串相关类对比、接口与抽象类的差异、单例模式、反射、异常处理、I/O模型、ThreadLocal的工作原理、锁的类型以及synchronized和volatile的比较等核心知识点。
摘要由CSDN通过智能技术生成

java基础面试题

1.面向对象的特征

封装,继承,多态,抽象
封装:是将对象的属性和数据结合在一起,成为一个独立的整体,把可以展现别人的展现出来,不可以展现给别人的进行隐藏,别人不知道你是怎么实现的,从而提高了代码的安全性!
继承:是出现在父子类中,孩子继承了爸爸的属性和行为,还可以根据自身的需求来扩展自己的业务,从而提高了代码的复用性!
多态:是多个对象对同一的消息做出的响应。换句话说就是同一消息可以根据发送的对象不同而采用不同的行为方式!封装和继承就是为多态而准备的。
抽象:用abstract关键字修饰的类,不可被实例化!此类叫抽象类!就是用关键字abstract来修饰

2.JDK,JRE,JVM区别

  JDK:整个java运行的核心内容,是java的开发工具包,包含了java的运行环境JRE,Java运行工具,java的基础类库
  JRE:是java运行时所需要的环境的集合,其中包含了虚拟机和java程序的一些基础类库
  JVM:是虚拟机的缩写,是整个java实现跨平台的重要部分,能够运行java语言写作的软件程序。

3.重写和重载的区别

    重写:发生在父子类中,方法名和参数列表必须相同,抛出的异常小于等于父类,返回值小于等于父类,访问修饰符大于等于父类,如果父类中的方法修饰符为private,则子类不能重写该方法。
    重载:发生在同一个类中,方法名不同,参数列表不同,参数类型不同,个数不同,顺序不同,方法返回值和访问修饰符不同,发生在编译时。

4.java中==和equals的区别

     ==基本类型比较的是具体内容,引用类型比较的是地址值
     equals引用类型默认情况下比较的是地址值,除一些特定的String,Integer等在类库中equals被重写,比较的是具体内容!
     面试常问,在字符串比较中,==和equals()的区别是什么
     	在字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值