本文主要是介绍2021阿里手淘Android面试题目,面试真题解析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# Java相关
**1.重载函数的签名(区别是否是重载函数)**
答:方法名+参数类型+参数顺序(返回值不是)
**2.finalize的工作原理**
答:一旦垃圾收集器准备好释放对象占用的存储空间,它首先调用finalize(),而且只有在下一次垃圾收集过程中,才会真正回收对象的内存.所以如果使用finalize(),就可以在垃圾收集期间进行一些重要的清除或清扫工作。此外系统进行垃圾回收时并不保证一定会调用它,所以可以说它和对象被回收没有必然关系。
**3.一个对象的创建过程**
答:例如有一个Dog类:
1.即使没有static,构造器其实也是静态方法,所以当首次创建Dog时或者Dog的静态域或者静态方法被访问的时候,Dog的class对象会被加载。
2.在加载Dog的class的时候可能会发现其有基类,此时先暂停Dog的加载,转而去加载其基类。所以基类的static域比子类先初始化。
3.载入class文件之后,会创建一个该该类的class对象,所有关于静态初始化的动作会被执行,所以静态初始化只在Class对象首次加载时进行一次。
4.当使用new的时候,首先为Dog对象在堆上分配足够内存空间。这块内存控件会被清零,所有实例都被初始化成了默认值,包括基类。
5.执行所有字段定义处的初始化,从基类开始。
6.执行构造器。(在第一行会执行基类的构造器)
**4.对象的销毁是按照创建的逆序来进行的。**
**5.final的方法和类都不允许覆盖和继承。private默认实现了final。**
**6.简述内部类的特点**
**7.形式参数可被视为local variable,也就是说形式参数相当于在方法中定义了一个局部变量a,当传入c时,只是将c指向的对象给a**
**8.finally 语句块是在 try 或者 catch 中的 return 语句之前执行的**
**9.简述jvm中默认的classLoader与功能**
**10.switch语句后的控制表达式只能是short、char、int、long整数类型和枚举类型,不能是float,double和boolean类型。String类型是java7开始支持**
**11.重写的特性**
**12.!=和==,当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同,比较内存地址**
**13.null可以被强制类型转换成任意类型的对象,于是通过它来执行静态方法**
**14.如何终止一个线程**
**15.静态属性和静态方法是否可以被继承**
**16.列出各种List,Set,Map,Queue并说出他们的同与不同。**
**17.列出几种线程池**
**18.解释一下java内存模型**
**19.解释一下java代码的原子性**
**20.解释一下volatile字段**
**21.解释一下synchronized字段**
**22.Lock的使用**
**23.wait()和sleep()区别**
**24.死锁产生的条件**
这里我就分享一份资料,希望可以帮助到大家提升进阶。
内容包含:**Android学习PDF+架构视频+面试文档+源码笔记**,**高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料** 这几块的内容。分享给大家,非常适合近期有面试和想在技术道路上继续精进的朋友。
如果你有需要的话,可以**[点击Android学习PDF+架构视频+面试文档+源码笔记](https://docs.qq.com/doc/DSkNLaERkbnFoS0ZF)获取免费领取方式**
> 喜欢本文的话,不妨给我点个小赞、评论区留言或者转发支持一下呗~
![img](http://www.www.zyiz.net/i/li/?n=2&i=images/20210706/1625581085423537.jpg)
这篇关于2021阿里手淘Android面试题目,面试真题解析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!