Java基础2019最新Java面试经典题解析

1简述JVM、JRE、JDK的区别
JVM:java虚拟机 ,加载.class并运行.class
JRE:java运行环境除了包含JVM以外还包含了运行java程序所必须的环境 。JRE=JVM+java系统类库
JDK:java开发工具包。除了包含JRE以外还包含了开发java程序所必须的命令工具。JDK=JRE+编译、运行等命令工具

2简述重载(Overload)和重写(Override)的区别
重载(Overload):在一个类中,方法名相同,参数列表不同(参数的顺序,数量,类型不同)的方法。
重写(Override):子类重写父类的方法,要求返回类型相同(或是其子类),方法名相同,参数列表相同,访问范围不能变小,抛出异常不能变大。

3:解释Java跨平台的原理
Java 是利用 JVM ( Java 虚拟机)实现跨平台的
Java 源代码( * . java )经过 Java 编译器编译成 Java 字节码( * . class ) ,执行 Java 字节码, Java 字节码经过 JVM 解释为具体平台的具体指令,并执行。
不同平台有不同的 JVM , 主流平台都提供了 JVM ,所以 Java 字节码可以在主流平台上能够解释执行。

4:描述抽象类和接口的相同与区别
相同之处:接口是特殊的抽象类;都不能创建对象;都可以包含抽象方法
不同之处:抽象类可以包含非抽象方法,接口不可以;一个类只能继承一个抽象类,但可以实现多个接口

5:简单描述面向对象的三大特性
面向对象的三大基本特征是:封装、继承、多态
1)封装是面向对象的三大特征之一,他是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问
对象的内部信息,而是通过该类所提供的方法来实现对类内部信息的操作和访问。
封装的目的是增强安全性和简化编程
2)继承是面向对象的三大特征之一,也是实现软件复用的重要手段。继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的属性或新的方法,也可以用父类的属性和方法。
3)多态是指不同子类对象调用父类相同的方法会引发不同的行为;子类对象可以直接赋值给父类引用,如果子类重写父类的方法,则在运行时执行子类的代码,实现子类的行为

6:String和StringBuffer的区别
StringBuffer对象的内容可以修改;而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。
StringBuffer 的内部实现方式和String不同,StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用 时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。
String:在String类中没有用来改变已有字符串中的某个字符的方法,由于不能改变一个Java字符串中的某个单独字符,所以在JDK文档中称String类的对象是不可改变的。然而,不可改变的字符串具有一个很大的优点:编译器可以把字符串设为共享的。
StringBuffer:StringBuffer类属于一种辅助类,可预先分配指定长度的内存块建立一个字符串缓冲区。这样使用StringBuffer类的append方法追加字符 比 String使用 + 操作符添加字符 到 一个已经存在的字符串后面有效率得多。因为使用 + 操作符每一次将字符添加到一个字符串中去时,字符串对象都需要寻找一个新的内存空间来容纳更大的字符串,这无凝是一个非常消耗时间的操作。添加多个字符也就意味着要一次又一次的对字符串重新分配内存。使用StringBuffer类就避免了这个问题。
StringBuffer是线程安全的,在多线程程序中也可以很方便的进行使用,但是程序的执行效率相对来说就要稍微慢一些。

7::接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类?
接口可以继承接口,抽象类可以实现(implements)接口,抽象类是可以继承实体类,但前提是实体类必须有明确的构造函数

8:比较String、StringBuffer、StringBuilder
相同点:
三者都是用来处理字符串的
不同点:
1).String相对于StringBuffer和StringBuilder,其内容不可变,涉及到字符串拼接时,更耗内存;
2).StringBuffer和StringBuilder比较,二者功能完全一样;但StringBuffer线程安全,而StringBuilder线程不安全;效率上StringBuilder则更高。

9:简单说明什么是递归?什么情况会使用?
(1)递归做为一种算法在程序设计语言中广泛应用,是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象。 (2 )递归算法一般用于解决三类问题: 1 )数据的定义是按递归定义的。(F ibonacci (斐波那契)函数) 2 )问题解法按递归算法实现。(回溯) 3 )数据的结构形式是按递归定义的。(树的遍历,图的搜索)

Java基础2019最新Java面试经典题解析相关推荐

  1. 2022京东最新Android面试真题解析,腾讯T3亲自教你

    前言 为什么今天突然说到学习路线,学习资料.因为最近在看知乎的时候,我看到一个大家都比较在意的一个问题,就是大家对工资和自己具备的能力是否成正比报有疑虑,所以今天这篇文章不仅仅是给大家解答这个疑虑,更 ...

  2. Java 面试经典题解析:谈谈你对 Java 平台的理解?

    作者|杨晓峰出处|极客时间<Java技术核心 36讲>专栏 从你接触 Java开发到现在,你对 Java最直观的印象是什么呢?是它宣传的 "Compile once, run a ...

  3. 干货!2021京东最新Android面试真题解析,经典好文

    前言 说不焦虑其实是假的,因为无论是现在还是最近几年,很早就有人察觉Android开发的野蛮生长时代已经过去.过去的优势是市场需要,这个技术少有人有,所以在抢占市场的时候,基本上满足需要就已经可以了. ...

  4. 2019最新Java程序员面试指南——HR的套路+Java常见技术点

    本文转载自:2019最新Java程序员面试指南--HR的套路+Java常见技术点 面试是件既简单又复杂的事情,也正是因为简单和复杂的两面性,所以Java程序员在面试的时候要多学些面试技巧,当然技术也不 ...

  5. Java后端开发-大厂校招面试真题汇总【语雀图灵周瑜CSDN】

    BLOG内相关链接 & 积累常用对比等 Java实现快速排序算法 - yub4by - 博客园 (cnblogs.com) 三大类设计模式.Spring中用到的设计模式 - yub4by - ...

  6. 重拾java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  7. 毕向东—Java基础知识总结(超级经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  8. Java基础知识总结(逆天经典)

    Java基础知识总结(超级经典) 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java ...

  9. 2019 最新 JAVA eclipse 中文汉化包 安装教程Eclipse 汉化教程完美版

    2019 最新 JAVA eclipse 中文汉化包 安装教程 https://blog.csdn.net/qq_40763929/article/details/83067921 Eclipse 汉 ...

最新文章

  1. 安卓Socket连接实现连接实现发送接收数据,openwrt wifi转串口连接单片机实现控制...
  2. 需求旺盛:市场提供大量机器学习与物联网相关岗位
  3. oracle 树状结构一直出现不了_SEO站内优化:网站结构优化(十一)
  4. eclipse 用jsp文件连接mysql_用本地navicat去连接阿里云ECS中的mysql
  5. flume avro java 发送数据_flume将数据发送到kafka、hdfs、hive、http、netcat等模式的使用总结...
  6. Python使用pyzabbix调用Zabbix API
  7. python爬虫03
  8. 中文对比英文自然语言处理NLP的区别综述
  9. 数据库删除表中多列语法总结
  10. 【2019银川网络赛D:】Take Your Seat(概率--递推+思维)
  11. 对 Go2 错误处理提案的批判
  12. CuraEngine工作流程及代码详解
  13. windows如何截屏
  14. html5中分镜图文脚本,企业宣传片脚本如何撰写分镜头?
  15. log4j日志文件的使用及log4j日志文件失效原因分析
  16. java程序设计基础实验_JAVA程序设计基础实验1.doc
  17. 自动化测试 appium 会报错 Could not proxy command to remote server. Original error: Error: socket hang up
  18. Java限流策略与算法
  19. 记一次升级了编译器后VSCode中产生的问题
  20. jQuery练习_QQ音乐播放器

热门文章

  1. [转]GIS火爆了??
  2. python预测算法_Python机器学习:预测分析核心算法
  3. 面试官:如何在 Docker 容器中抓包?问倒一大片。。。。
  4. APB_SPI Master IP验证平台结构
  5. php rc4解密 乱码,rc4加密后是乱码的有关问题
  6. Mongodb客户端下载使用
  7. mongodb 客户端推荐
  8. 女人的十种养生好食物
  9. JAVA设计模式(04):创建型-建造模式(Builder)
  10. opencv reshape