java后端开发面试题总结(一)

本文总结了Java后端开发面试中常见的问题,涵盖了JDK、JRE和JVM的区别,数字类型特性,面向对象的封装、继承和多态,接口与抽象类,静态变量和实例变量,异常处理,字符串与常量池,以及集合框架的区别等核心知识点。同时,还深入探讨了JVM内存组成、垃圾回收机制、内存泄漏场景以及Servlet生命周期等重要概念。
摘要由CSDN通过智能技术生成

1.JDK和JRE及JVM有什么区别?

<1> JDK是用java程序员用来帮助自己开发的包

<2> JRE是运行java的环境的集合

<3> JVM是java虚拟机,JVM是java的核心,只识别字节码文件,用来把java的代码码编译成字节码或者把字节码又编译成代码的, 实际是上是JVM可以跨平台,帮助java实现跨平台

2.常用数字类型的区别?

<1> 字节(byte) 取值的范围是:-2的7次方 到 2的7次方-1(-128~127), 储存空间 1个字节

<2> 整短数(short) -2的15次方 到 2的15次方-1(-32768~32767) 2个字节

<3> 整数(int) -2的31次方 到 2的31次方-1 (约-21亿~21亿) 4个字节 #重点

<4> 长整数 -2的63次方 到 2的63次方 8个字节

<5> 单精度(float) 2的-149次方 到 2的128次方-1 4个字节 #重点

<6> 双精度(double) 2的-1074次方 到 2的1024次方-1 8个字节 #重点

3.面向对象的三大特征是什么?

<1> 封装:

1- 可以实现专业的分工(用户只需要看到功能,代码底层不需要关注)

2- 减少耦合(做需求时,大家都面向接口开发,可以互不干扰)

3- 可以自由修改类的内部结构(使用者不需要关心里面如何实现,换通俗句话说,只要功能可以实现,里面的代码可以变化)

注意:封装在现在开发分工和解耦的大前提下,必须要掌握的技能

<2> 继承

1- 在已有的类中派生出新的类,新的类可以吸收已有的类,还可以扩展新的能力

2- 父类是子类的抽象类,子类是父类的具象类

3- 继承类只能继承一个抽象类(父类),实现类可以实现多个接口

<3> 多台:

1- 多态是同一个行为具有多个不同表现形式或形态的能力

2- 多态是三大特性中最重要的特性,前面两个都是为多态做准备

3- 多态是同一个接口,不同的实例使用时而执行的不同操作

4.接口和抽象类的异同?

<1>相同点:

1- 都是上层的抽象

2- 不能被实例化

3- 都可以包含抽象方法

<2>不同点:

1- 抽象类可以包含方法的实现,而接口只能声明方法

2- 继承类只能继承一个抽象类,接口可以被实现类实现多个接口 #java更推荐用接口来实现抽象

3- 抽象级别: 接口>抽象类>实现类

4- 作用不同,接口是用来约束程序的行为,而继承是用于代码的复用

5.静态变量和实例变量(方法)的区别?

<1> 语法区别: 静态要用static来声明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值