阿里巴巴面试题- - -Java体系最新面试题(十一)

     前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~

内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux等技术栈

推荐秋招专栏:

                            阿里巴巴面试题

                                秋招面试题

目录

进阶篇

43、红黑树有哪几个特征?

44、说说你平时是怎么处理 Java 异常的

45、说说深拷贝和浅拷贝?


进阶篇

43、红黑树有哪几个特征?

紧接上个问题,面试官很有可能会问红黑树,下面把红黑树的几个特征列出来:

44、说说你平时是怎么处理 Java 异常的

try-catch-finally

try 块负责监控可能出现异常的代码

catch 块负责捕获可能出现的异常,并进行处理

finally 块负责清理各种资源,不管是否出现异常都会执行

其中 try 块是必须的,catch 和 finally 至少存在一个标准异常处理流程

抛出异常→捕获异常→捕获成功(当 catch 的异常类型与抛出的异常类型匹配时,捕获成功)

→异常被处理,程序继续运行 抛出异常→捕获异常→捕获失败(当 catch 的异常类型与抛出异常类型不匹配时,捕获失败)→异常未被处理,程序中断运行

在开发过程中会使用到自定义异常,在通常情况下,程序很少会自己抛出异常,因为异常的类名通常也包含了该异常的有用信息,所以在选择抛出异常的时候,应该选择合适的异常类,从而可以明确地描述该异常情况,所以这时候往往都是自定义异常。

自定义异常通常是通过继承 java.lang.Exception 类,如果想自定义 Runtime 异常的话,可以继承

java.lang.RuntimeException 类,实现一个无参构造和一个带字符串参数的有参构造方法。

在业务代码里,可以针对性的使用自定义异常。比如说:该用户不具备某某权限、余额不足等。

45、说说深拷贝和浅拷贝?

浅拷贝(shallowCopy)只是增加了一个指针指向已存在的内存地址,

深拷贝(deepCopy)是增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存,

使用深拷贝的情况下,释放内存的时候不会因为出现浅拷贝时释放同一个内存的错误。最好是结合克隆已经原型模式联系在一起哈,记得复习的时候,把这几个联系起来的。

本期分享到此为止,关注博主不迷路,叶秋学长带你上高速~~

猜你喜欢

转载自blog.csdn.net/m0_63722685/article/details/126504860