目录

  • 一、简述String对象、StringBuffer、 StringBuilder 区分
  • 二、多态的原理
  • 三、简要描述面向对象编程的思想
  • 四、反射的原理
  • 五、hashcode和equals的用法

一、简述String对象、StringBuffer、 StringBuilder 区分

       1、String是final的,内部用一个final类型的char数组存储数据,它的拼接效率比较低,实际上是通过建立一个StringBuffer,让后台调用append(),最后再将StringBuffer toSting(),每次操作Sting都会重新建立新的对象来保存新的值.这样原来的对象就没用了,就要被垃圾回收这也是要影响性能的。2、StringBuffer也是final,线程安全的,采用一个char数组来保存需要append的字符串,char数组有一个初始大小,当append的字符串长度超过当前char数组容量时,则对char数组进行动态扩展,也即重新申请一段更大的内存空间,然后将当前char数组拷贝到新的位置,因为重新分配内存并拷贝的开销比较大,所以每次重新申请内存空间都是采用申请大于当前需要的内存空间的方式,这里是2倍。3、StringBuilder,线程不安全

二、多态的原理

        多态:允许基类的指针或引用指向派生类的对象,而在具体访问时实现方法的动态绑定。原理是java的后期绑定。

三、简要描述面向对象编程的思想

      1、抽象:通过特定的实例抽取出共同的特征以后形成的概念的过程,它强调主要特征和忽略次要特征。2、封装:把对象的属性和方法结合成一个独立的整体,隐藏实现细节,并提供对外访问的接口。3、继承:从已知的一个类中派生出新的一个类,叫子类。子类实现了父类所有非私有化属性和方法,并能根据自己的实际需求扩展出新的行为。4、多态:多个不同的对象对同-消息作出响应,同一消息根据不同的对象而采用各种不同的行为方法。

四、反射的原理

       java虚拟机运行时内存有个叫方法区,主要作用是存储被装载的类的类型信息。每装载一个类的时候,java就会创建一个该类的Class对象实例。我们就可以通过这个实例,来访问这个类的信息。

五、hashcode和equals的用法

 Java对于eqauls方法和hashCode方法是这样规定的:1. 如果两个对象相同,那么它们的hashCode值一定要相同;2.如果两个对象的hashCode相同,它们并不一定相同(上面说的对象相同指的是用eqauls方法比较)3.一般在覆盖equals()方法的同时也要覆盖hashCode()方法,否则,就会违反Object.hashCode的通用约定,从而导致该类无法与所有基于散列值(hash)集合类(HashMap、HashSet和Hashtable)结合在一起正常运行。

作者:KJ.JK
本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习

Java面试常见问题及回答答案(简单明了细致)相关推荐

  1. 16种面试常见问题技巧回答

    16种面试常见问题技巧回答 面试是一种考查活动,即在特定场景中以面对面交谈与观察为主要手段,来测试和评价应试者的能力素质 .那么面试有哪些技巧和注意事项,面试时经常提到哪些问题,这些问题又是如何有技巧 ...

  2. Java面试都只是背答案吗?

    [此回答转自乐字节] 国内的互联网面试,恐怕是现存的.最接近科举考试的制度. 这是由于互联网IT行业的求职者太多了,如果考察的是清一溜的算法题和设计题,那么会要求面试官有极高的技术水平,还要花大量的时 ...

  3. 200个最常见的JAVA面试问题(附答案)

    本文内容: 20个最常见的JAVA面试问题(附答案) 13个单例模式JAVA面试问题(附答案) 说说JVM和垃圾收集是如何工作的(附答案) 说说如何避免JAVA线程死锁(附答案) Java中HashS ...

  4. HUNER翻译软件测试面试题,外企测试面试常见问题及回答(英文)

    <外企测试面试常见问题及回答(英文)>由会员分享,可在线阅读,更多相关<外企测试面试常见问题及回答(英文)(5页珍藏版)>请在人人文库网上搜索. 1.外企测试面试常见问题及回答 ...

  5. 【面试】Java面试常见问题汇总(不含答案)、面试指导学习笔记

    面试常见问题角度 String是基本数据类型吗? int和Integer有什么区别? HashMap和HashTable的区别,及其实现原理. ArrayList/HashMap的源码.如何实现源码 ...

  6. Java面试常见问题及答案

    基础知识: 1.C++或Java中的异常处理机制的简单原理和应用. 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常.违反语义规则包括2种情况.一种是JAVA类库 ...

  7. 大佬分享:180+道Java面试题目!含答案解析!

    作者:我是offer 链接:https://www.nowcoder.com/discuss/84736 来源:牛客网 大厂常见问题 写视频点播网站文件下载接口 基础变量/数组写出模拟maven导入包 ...

  8. 2018互联网企业最新面试大纲180+道Java面试题目!含答案解析!

    在进入正文之前,顺便给大家推荐一个Java架构方面的交流学习群:878249276,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发.高性能.分布式. ...

  9. 面试过阿里的P7大佬分享:180+道Java面试题目!含答案解析!

    大厂常见问题 写视频点播网站文件下载接口 基础变量/数组写出模拟maven导入包过程 写出新变脸内存分配,模拟垃圾回收过程 50个白球50个红球,两个盒子,怎么放让人随机在一个盒子里抽到红球概率最高 ...

最新文章

  1. 在微服务架构中做机器学习,真的太难了
  2. linux中rpm命令管理
  3. Linux下程序包管理工具RPM
  4. $@等特定shell变量的含义
  5. linux c之用命名管道实现进程通信
  6. 东芝笔记本linux系统安装驱动,笔记本驱动,详细教您东芝笔记本无线网卡驱动怎么安装...
  7. C++工作笔记-简单工厂模式基础(用静态类传入函数指针,再进行调用)(仿大佬代码)
  8. 谁要是敢用Map传参数,我喵喵就打死他
  9. oracle常见等待事件,必看干货 | Oracle 常见的等待事件说明(下)
  10. Hadoop系列之九:Hadoop集群伪分布式模式的实现详解
  11. 情迁机器人手机版1.6.9升级说明包含多个重要更新
  12. RTL8152B-VB-CG usb转网口芯片驱动指示灯驱动调试
  13. Gyro陀螺仪 > MPU 6000 vs ICM 20689
  14. 企业邮箱客户端服务器异常,企业邮箱使用客户端连接提示“不知道这样的主机”的解决...
  15. Rust FFI 编程 - FFI 概述
  16. python实现base64解码_Python实现base64编码解码
  17. el-tree 改变label
  18. http chunked问题记录
  19. 一句话概括 java 动态代理
  20. 狂雨小说内核26W数据打包带7条可用热门站采集规则

热门文章

  1. MySQL5.7插入中文乱码
  2. go.uber.org/zap日志库
  3. Nuvoton M0518 之 延时程序(延时1毫秒)
  4. Windows 卡顿问题整理
  5. 个人笔记-本地WIN10搭建Minecraft服务器
  6. 第五章. 可视化数据分析图表—Seaborn图表(折线图,直方图,条形图,散点图)
  7. leetcode37. 解数独(C++|回溯)
  8. angr原理与实践(一)——原理
  9. 海外生活: 胆小鬼驾车行走多伦多
  10. 【BZOJ】3039: 玉蟾宫(DP/单调栈)