CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛

java常见问题-免费源码丞旭猿

1、JRE和JDK的区别

  • JRE可以支撑Java程序的运行,包括JVM虚拟机(java.exe等)和基本的类库(rt.jar等),JDK可以支持Java程序的开发,包括编译器(javac.exe)、开发工具(javadoc.exe、jar.exe、keytool.exe、jconsole.exe)和更多的类库(如tools.jar)。

2、this关键字和super关键字

1)this关键字

1. this关键字用于引用隐藏变量,如方法名与参数名一致,使用this显示调用;

2. this关键字用于调用本类其它构造方法,方式:this(参数名),用在第一行

3. this关键字不能用在静态方法中;

2)super关键字

1. 子类中访问父类的方法和属性;(super.属性名)

2. 子类中访问父类的构造方法(super(参数),用在第一行)

3)二者的区别

1)代表事物不一样:this代表的是当前函数对应的对象,super代表的是父类空间的引用;

2)使用前提不一致:this不需要继承关系,super需要在继承中使用;

3)调用构造方法区别:this用于调用本类中其它构造方法,super用于调用父类的构造方法,都在第一行。

4)this和super不能同时出现在同一个构造方法中去调用其它构造方法;

3、重写(Overriding)和重载(Overloading)

关注点:参数列表、返回类型、异常和访问四个方面来进行区分。

对于重载:同一个类中(包括继承而来的)方法,参数列表必须修改,返回类型可以修改,异常和访问均可以修改。

对于重写:具有继承关系,参数列表、返回类型必须一致,异常可以减少或删除,但一定不能抛出新的或者更广的异常,访问一定不能做更严格的限制(可以降低限制)。

实际些代码的时候,重写的方法强烈建议添加上注解@Override。@Override 系统可以帮你检查方法的正确性。

4、==和equals的区别

关注点:对象类型、比较的对象和运行速度

对于equals,它是Object(超类)中的方法,用于两个对象的内容是否相等,没有==运行速度快。

对于==,它是操作符,对于基础数据类型比较的是他们的值是否相等,对于引用数据类型比较的是引用的地址是否相同,运行速度比equals()快。

5、抽象类和接口的区别是什么?

关注点:继承、变量、构造方法和方法。

类的继承只能是单重继承,即一个类只能继承一个父类,抽象类可以任何变量,抽象类有构造方法,抽象类的方法没有限制。

对接口的继承允许多重继承,即一个类可以继承多个接口,接口只能public final static常量,接口不包含构造方法,接口的方法必须是public abstract的实例方法。

6、什么是自动装箱和自动拆箱?

将基本数据类型的值转换为包装对象,称为装箱。将包装对象转换为基本数据类型的值,称为拆箱。

6、throw和throws关键字的区别;

  • 1)throw用在方法体中,后边接异常对象(new xxx()),throws用在方法声明后面,后边接异常类名;
  • 2)throw表示抛出某个异常(一定出现了异常),throws表示程序可能出现异常,也可能没有异常;
  • 3)throw后边只能跟一个异常,throws后边可跟多个异常,用逗号隔开;
  • 4)throw抛出异常,由方法体内的语句处理,throws抛出异常,由方法的调用者处理异常!

7、列举五种 Java 常见的异常类型

  • NullPointerException:空指针异常。
  • ArrayIndexOutOfBoundsException:数组下标越界异常。
  • ArithmeticException:算术运算异常。
  • NumberFormatException:数字格式异常。
  • IOException:输入输出异常。

8、哪一块内存区域不会出现 OutOfMemoryError?

程序计数器。

9、虚拟机栈描述的是什么?存放什么内容?

虚拟机栈描述的是Java 方法执行的内存模型。当一个方法被执行时会创建栈帧存入栈内,栈帧用于存储局部变量表、操作栈、动态链接、方法出口等信息。

10、虚拟机栈可能出现哪两种异常,分别在什么情况下出现?

  • 虚拟机栈可能出现的两种异常是StackOverflowError 和 OutOfMemoryError
  • 如果虚拟机栈不可以动态扩展,当线程请求的栈深度大于虚拟机所允许的深度时,将抛出StackOverflowError异常;
  • 如果虚拟机栈可以动态扩展,当无法申请到足够的内存时,将抛出 OutOfMemoryError 异常。

11、堆的特点是什么?存放什么内容?

堆中存的是对象 vs 栈中存的是基本数据类型和堆中对象的引用。堆是 Java 虚拟机管理的内存中最大的一块,其目的是存放对象实例,几乎所有的对象实例都在堆中分配内存。

12、静态变量存放在哪一块内存区域?

静态变量存放在方法区。

声明:本文部分素材转载自互联网,如有侵权立即删除 。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
相关推荐
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容