2021-04-24

非常适合零基础学者

希望各位萌新和我一起畅享程序猿的世界,一起奔跑,一起进步加油,内容由浅入深,设计到全方位的程序世界,每日五题,暂且是Java后端,每日五道面试题,以及本人写出的精简答案,大家也可以进一步拓展衍生,看其他帖子。

面试题一:请说出数组和集合的区别?

回答:三种区别:1、数组的长度是固定的,集合的长度是动态变化的;2、数组可以存放基本类型和引用类型数据,集合只能存放引用类型数据;3、数组只能存放同一种类型的数据,集合可以存放多种类型的数据。

面试题二:线程中的run()和start()有什么区别?

回答:run()方法是线程中和其他的普通方法是一样的,程序自上而下的顺序运行的,但是start()方法不一样,它是让程序中方法的就绪状态加入cpu的调用,成为执行状态,状态的切换了,所以程序执行最终跑起来,都是用的start()方法。

面试题三:反射中的动态代理是什么,有哪些应用?

回答:动态代理是在不改变原生类的前题下,额外的添加一些其他的功能,这种既不影响原生类,又可以额外添加其他逻辑的代理模式就是动态代理,有java动态代理(缺陷被代理的类必须实现一个接口,否则无法代理),cglib动态代理(可以代理没有实现接口的类);其应用主要是在Spring框架中面向切面编程AOP,加日志,事务,权限等等。

面试题四:如何实现对象的克隆?

回答:两种实现方式:第一种:实现Cloneable接口,并重写Object的clone()方法;第二种:是通过Serializable序列化的方式,对对象进行序列化和放序列化从而进行深度克隆。

面试题五:异常中try-catch-finally,如果catch中有return返回数据的话,finally中的代码会执行吗?

回答:会执行,finally是表示一定会执行一次的意思,若前面有return的话,那就在return之前执行。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值