Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

Java程序员必备面试题八股文 PDF 下载


分享到:
时间:2024-09-17 10:36来源:http://www.java1234.com 作者:转载  侵权举报
Java程序员必备面试题八股文
失效链接处理
Java程序员必备面试题八股文 PDF 下载

 
 
相关截图:
 



主要内容:

1.JDK动态代理和CGLIB动态代理的区别
JDK动态代理只能对实现了接的类成代理,不能针对类。
CGLIB是针对类实现代理,主要是对指定的类类,覆盖其中的法。因为是继承, 所以该类
法最好不要声明成final
 
2.静态代理和动态代理的区别
静态代理中代理类在编译期就已经确定,动态代理则是JVM时动态成,静态代理的效 率相对动态
代理来说相对⾼⼀些,但是静态代理代码冗余单需要修改接,代理类和委 托类都需要修改。
 
3.ArrayList和LinkedList有什么区别?
1. ArrayListLinkedList的差别主要来ArrayLinkedList数据结构的不同。 ArrayList是基于数
组实现的,LinkedList是基于双链表实现的。另外LinkedList类不 仅是List的实现类,可以根
据索引来随机访问集合中的元素,除此之外, LinkedList还实现了DequeDeque
Queue,它代表个双向 队列,因此LinkedList可以作为双向队列 ,栈(可以参
Deque提供的接⼝⽅法)和 List集合使,功能强
2. 因为Array是基于索引(index)的数据结构,它使索引在数组中搜索和读取数据是很快 的,可以直接
返回数组中index位置的元素,因此在随机访问集合元素上有较好的性能。 Array获取数据的时间
复杂度是O(1),但是要插、删除数据却是开销很的,因为这需 要移动数组中插位置之后的的所
有元素。
3. 相对于ArrayListLinkedList的随机访问集合元素时性能较差,因为需要在双向列表中 找到要
index的位置,再返回;但在插,删除操作是更快的。因为LinkedList不像 ArrayList样,不需
要改变数组的⼤⼩,也不需要在数组装满的时候要将所有的数据重 新装⼊⼀个新的数组,这是
ArrayList最坏的种情况,时间复杂度是O(n)⽽ LinkedList中插或删除的时间复杂度仅为
O(1)ArrayList在插数据时还需要更新索 引(除了插数组的尾部)。
4. LinkedList需要更多的内存,因为ArrayList的每个索引的位置是实际的数据,⽽ LinkedList中的每
个节点中存储的是实际的数据和前后节点的位置。
 
4.重写和重载的区别
重写是类对类的允许访问的法的实现过程进重新编写返回值和形参都不能改变。即 外壳不变,
重写!
重写的好处在于类可以根据需要,定义特定于⾃⼰为。 也就是说类能够根据需要实现 类的
法。
重写法不能抛出新的检查异常或者被重写法申明更加宽泛的异常。
重载(overloading) 是在个类⾥⾯法名字相同,参数不同。返回类型可以相同也可以 不同。
每个重载的法(或者构造函数)都必须有个独⼀⽆⼆的参数类型列表。



 
 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐