java基础学习部分知识总结

java基础学习部分知识总结

一.成员变量与局部变量的区别:

1.作用范围不同:

​ 成员变量:作用于整个类中。

​ 局部变量:作用于方法区中。

2.初始值不同:

​ 成员变量:有初始值,可直接使用。

​ 局部变量:无初始值,需先赋值后使用。

3.在类中位置不同:

​ 成员变量:在类中,方法外。

​ 局部变量:在方法中。

4.内存地址不同:

​ 成员变量:存放于堆或方法区中。

​ 局部变量:存放于栈中。

5.生命周期不同:

​ 成员变量:随着类的调用而开始,随着类的结束而结束。

​ 局部变量:随着方法区的调用而开始,随着方法区调用的结束而结束。

二.抽象类和接口的区别

1.抽象类有构造方法,接口没有

2.抽象类有普通方法,接口有默认方法

3.抽象类只能单继承,接口可以多实现

三.什么是GC root?

1.局部变量表

2.堆中引用

3.方法区中的引用

四.JVM判断对象是否是垃圾算法有哪些?

1.引用计数法

2.可达性算法

五.Class对象有几种获取方式

方法1:Class.forName(“类名字符串”);

方法2:类名.class

方法3:实例对象.getClass()

六.深克隆与浅克隆的区别?

1.深克隆: 深克隆会连同对象中的引用属性一同克隆
2.浅克隆:浅克隆克隆出来的对象中的引用属性仍然指向原对象属性的地址

七.重写与重载的区别

  1. 重载是发生在本类当中,重写是发生在父子关系中。
  2. 重载要求方法名相同,参数列表不同。而重写要求方法名、参数列表、返回值相同,权限修饰符不比父类更严格。
  3. 同一方法重载可以是多个,而重写只能是一个。
  4. 重写可以使用@override修饰。

八.创建对象的几种方式

1.new对象

2.clone(克隆)

3.反序列化

4.反射

九.ComParable和ComParator的区别

  1. comparable:是内部比较器,会对目标产生修改。
  2. comparator:是外部比较器,不会堆目标产生修改。

十.final,fianlly,finalize的区别是什么?

三者除名字相似外无任何联系。

1.final表示最终的,可以修饰类,变量,方法:

​ (1)final修饰的类表示最终类,此类不能被继承。

​ (2)final修饰的变量表示常量,赋值后无法变更。

​ (3)final修饰的方法表示最终方法,此方法不能被重写。

2.fianlly表示异常处理块,不管是否发生异常,finally块一定执行。

3.finalize用于垃圾回收机制,回收垃圾前主动调用,主动作用是关闭资源。

以上即为我Java基础学习的部分知识总结。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值