java基础面试题(二)附答案

  1. 值传递和引用传递是什么?java是什么传递的?

    值传递意思是传递数据就是改数据原本

    引用传递是传递的数据的副本,就是拷贝了一份使用,基本类型是数值,引用类型是地址

    java使用的是值传递

  2. 重载和重写的区别?

    ​ 重载是发生在同一个类中的,相同方法名不同的参数的多个方法,执行不同的逻辑处理

    1. 重载发生在编译期

    2. 构造方法可以重载

    3. 重载的方法名相同,参数列表不同(个数、顺序、类型)

    4. 重载的返回值和访问修饰符可以不相同

      重写是发生在同一个子类中的,重写是子类对父类方法的重写构造;外部定义不能访问

      • 重写发生在运行器
      • 重写的方法必须名相同、参数相同
      • 重写的方法访问修饰符必须大于等于父类方法的访问修饰符
      • 重写的方法抛出的异常类型范围必须小于等于父类方法
      • 构造方法不能重写
      • 如果父类的方法是被final、private、static所修饰的则子类不能重写该方法
  3. 什么是深拷贝、什么是浅拷贝?

    • 浅拷贝是拷贝对象仅仅拷贝的是此对象本身(包括此对象的成员变量),而不包括该对象的引用所指的对象;实现方法,实现Cloneable接口,重写clone方法
    • 深拷贝是拷贝对象不仅仅拷贝的是此对象本身(包括此对象的成员变量),还不包括该对象的引用所指的对象
      • 实现方式有两种

        • 每一层的引用对象实现Cloneable接口,实现clone方法(实现复杂,但执行效率高)
        • 使用序列化接口实现深拷贝(实现简单,但效率低下)
  4. 接口和抽象类有什么区别?

    1. 接口使用interface声明;抽象类使用abstract声明
    2. 接口使用implement实现;抽象类使用extends实现
    3. 接口内部定义的都是public修饰的方法;抽象类里面的方法是任意的访问修饰符
    4. 接口可以使实例化对象;抽象类不能实例化对象
    5. 接口可以被实现多个;抽象类是能实现一个
    6. 接口里面不能有main方法;抽象类里可以有main方法
    7. 接口在JDK8之前不能有方法体(之后加入了可以写default方法),声明的都是抽象方法;抽象类可以声明实例方法和抽象方法
    8. 接口里面不能有构造方法;抽象类中可以有构造方法
  5. 请你说一下java支持的数据类型是什么?什么是自动拆箱?

    支持的数据类型是byte、short、int、long、double、float、char、string、boolean

    自动拆箱就是将引用类型数据拆箱成基本数据类型;装箱相反。

  6. 解释一下为什么会出现4.0-3.6=0.4000000001这种现象?

    这是java中对浮点类型数据的精度丢失;

    因为java计算是将浮点类型数据转换为二进制数据存放,转换的时候二进制可能表达的与原数据略有出入,则存入的数据也会有精度缺失,

    一般在科学计算或者其他权威的领域可以使用String+Bigdecimal来解决精度丢失问题。

  7. 请说明一下Comparable和Comparator接口的作用和他们的区别

    • Comparable和Comparator接口都是比较器接口

      • 实现Comparable接口要实现默认的ComparTo(Obj o)方法,值传入一个参数,像tree的集合的实现类一般都有实现比较器
      • 实现Comparator接口实现的方法是Compar(Obj o1,Obj o2)属于自定义的比较丰富,返具有返回值 根据返回值进行具体的排序实现
  8. 谈一谈反射创建对象

    反射是java程序运行中对自我的检查,并能操作内部的方法和属性

    反射创建对象有五种方式

    • Method类可以创建
    • Filed类可以创建
    • 构造方法方式创建 constructor
    • Object类创建
    • Class类创建
  9. StringBuffer和StringBuilder有什么区别?

    相同点:

    ​ 都是继承AbstractStringBuilder父类,都能存储字符数据,都是可变的字符串。

    不同点:

    • 线程安全:

      StringBuffer类下的方法都是使用了synchronize关键字所修饰,在相同的环境下,相比StringBuilder的线程安全。

    • 性能方面:

      由于StringBuffer操作需要获取锁和释放锁,性能相比StringBuilder慢一点,但是StringBuilder在相同的情况下要承担10%-15%的线程安全。

  10. 列举Object类的方法并简要说明

    1. HashCode()方法:获取对象的HashCode值
    2. equals()方法:基本类型比较值,引用类型比较地址
    3. wait()方法:线程等待方法
    4. notify()方法:线程的唤醒方法
    5. notifyAll()方法:线程的唤醒所有方法
    6. GetClass()方法:获取类对象
    7. clone()方法:复制对象的方法有深拷贝和浅拷贝
    8. toString()方法:转为字符串方法
    9. finalize()方法:垃圾回收时调用的方法,释放缓存等

java基础面试题(二)附答案相关推荐

  1. 十个Java基础面试题(附答案)

    1.八种基本数据类型是什么?他们的包装类型是什么?各占多少个字节? byte Byte 1个字节.short Short 2个字节.int Integer 4个字节.long Long 8个字节.fl ...

  2. JavaScript面试题大全之基础面试题(附答案)

    近年来,从事web前端开发的程序员越来越多,都需要使用JavaScript,这篇文章主要整理一些最常见的JavaScript面试题以及答案. 介绍JavaScript的数据类型 值类型(基本类型):字 ...

  3. 期中计算机网络答案,计算机网络基础自考试题「附答案」

    计算机网络基础自考试题「附答案」 一.单项选择题 1.语言处理程序包括:汇编程序.编译程序和( D ) A.C程序 B.BASIC程序 C.PASCAL程序 D.解释程序 2.已知x=101010B, ...

  4. 50道JavaScript基础面试题(附答案)

    50道JavaScript基础面试题(附答案) 1 介绍JavaScript的基本数据类型 2 说说写JavaScript的基本规范? 3 jQuery使用建议 4 Ajax使用 5 JavaScri ...

  5. 2014安康电大会计本科网考计算机应用基础试题答案,2014年电大网考计算机应用基础统考试题二及答案小抄[精品].doc...

    2014年电大网考计算机应用基础统考试题二及答案小抄[精品] 窗体顶端 窗体底端 2011年电大网考计算机应用基础统考试题二及答案 [修改时间:2012-9-4 14:30:28 ] [编辑:Admi ...

  6. java 输入输出最终还是调用操作系统的内核函数,网易Java研制笔试题(附答案)——20160322...

    网易Java研发笔试题(附答案)--20160322 这里的答案都是本人做的,非标准答案.如果错误,请在评论里指正,一起讨论共同进步!谢谢! 一.单选题 1. 一棵树有2个2度顶点 1个3度顶点 3个 ...

  7. 【前端面试题】—53道常见NodeJS基础面试题(附答案)

    说到前端就不得不提到后端,我们给用户展示页面所需的数据正是从后端获取的,所以了解后端的运行原理和技术的实现很有必要. Node. js是一个不错的选择,它是基于JavaScript语法的一套服务器端( ...

  8. LeetCode C++基础面试题汇总附答案(一)

    目录 前言 面试题及答案 1. 请简述智能指针原理 2. 引用和指针有什么区别? 3. const 和 define 有什么区别? 4. define 和 inline 有什么区别? 5. mallo ...

  9. 2万字70道Java经典面试题总结(附答案)

    本文已经收录到Github仓库,该仓库包含计算机基础.Java基础.多线程.JVM.数据库.Redis.Spring.Mybatis.SpringMVC.SpringBoot.分布式.微服务.设计模式 ...

  10. 8万字208道Java经典面试题总结(附答案)

    前言 最近有很多粉丝问我,有什么方法能够快速提升自己,通过阿里.腾讯.字节跳动.京东等互联网大厂的面试,我觉得短时间提升自己最快的手段就是背面试题,最近总结了Java常用的面试题,分享给大家,希望大家 ...

最新文章

  1. KVM虚拟机添加硬盘
  2. Spring抽取jdbc配置文件
  3. 数据切分 垂直切分、垂直拆分与水平拆分的优缺点
  4. 前端学习(2052)vue之电商管理系统电商系统之配置http服务
  5. win10如何修改IP地址
  6. 时速云入选2018中国企业服务创新成长50强
  7. 程序员1w2以下的,2020年就要面对现实了...
  8. 兼容多种浏览器“复制到剪贴板”的解决方案
  9. python long转int_将 python long/int转换为固定大小的字节数组_others_酷徒编程知识库...
  10. 白光led 计算机模拟,白光LED在TracePro中的建模及仿真
  11. easyui导出excel科学计数法问题解决方法
  12. ALexa网站排名查询
  13. U盘文件变exe文件
  14. PhotoShop纸张大小
  15. np.array的axis进行横向纵向的求和运算
  16. 打开secpol.msc、gpedit.msc显示“试图引用不存在的令牌”,复制到其他目录可正常打开
  17. 关于已移除sd卡,手机不认卡的原因和解决办法(转)
  18. Nature子刊:识别偏头痛脑与遗传的标志物
  19. Python+Django电影推荐系统搭建
  20. 计算机调出任务管理器的组合键是,调出任务管理器快捷键

热门文章

  1. crmeb 一号通使用方法
  2. 图层蒙版和图层剪贴路径_剪贴蒙版,PS选择蒙版技巧都在这了
  3. 移动硬盘显示要格式化怎么办?
  4. 项目管理49个过程超详细总结(持续更新中)
  5. android源码分析!程序员怎样优雅度过35岁中年危机?送大厂面经一份!
  6. 我看过的安全方面的好文章
  7. wireshark win7无响应
  8. Activity的启动流程分析与总结
  9. Python整数求和
  10. safari windows版本_iPhone和Windows同步文件,这7个技巧让你的效率成倍增加