先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注大数据)
正文
二: 面试题目 |
一: String和StringBuilder、StringBuffer的区别?
1、String类被final修饰,对象是不可变的,但是StringBuffer和StringBuilder是可变的(既意味着它们不会产生中间对象,所以它们很适用于需要多个字符串拼接的场景)
2、String是不可变的、StringBuffer类中方法使用了synchronize加锁,所以它们都是线程安全的,但是StringBuilder是线程不安全的
3、因为StringBuffer方法中加了锁,String是不可变的,在操作时会产生大量的中间对象,所以它们的执行效率都比StringBuilder低,既执行效率: StringBuilder > StringBuffer > String
追问1: s1 = new String(“hello”)和s1 = “hello”有什么区别?
new String(“hello”)是先在堆中创建一个对象,并返回给s1,”hello”是一个常量,会先到字符串常量池中查询是否存在这个字符串,没有则分配一个空间并存放”hello”,并将”hello”在常量池的地址存放在new出来的对象中(所以:如果”hello”字符串在常量池中存在则该语句创建一个对象,不存在则创建两个)
s1 = “hello”则表示直接到常量池中查询,有则返回地址,没有则创建新的再返回地址(所以:如果常量池中存在,则不创建对象,不存在则创建一个对象)
追问2: s1 = “a” + “b”和s1 = a1 + a2 (注:a1 = “a”,a2=”b”)有什么区别
如果是变量相加如(s1 = a1 + a2 (注:a1 = “a”,a2=”b”)),则先开空间,再拼接(每一个字符串变量在常量池中都有一个地址,如果是多个拼接,则生成新的对象并返回这个对象的地址)。
如果是常量相加如:s1 = “a” + “b”,则是先将字符串拼接好,再到常量池中查找。
所以,在进行比较的时候,一般判断清除是拼接完再查询还是查询后再拼接,这样使用在进行比较的时候也是不一样的。
二: Object中有哪些公共方法?
- equals()
- getClass()
- hashCode()
- notify()
- notifyAll()
- toString()
- wait()
三: java中==和eqauls()的区别?
==是运算符,用于比较两个变量是否相等,而equals是Object类的方法,用于比较两个对象是否相等。
默认Object类的equals方法是比较两个对象的地址,此时和==的结果一样。当比较类型是基本类型时,比较的是它们的值,默认下,如果使用比较对象,则比较的是对象的内存地址。
如果需要比较对象内容,需要重写equal方法,如String就重写了equals方法,但要注意,如果重写equals方法,则也一定要重写hashCode方法,具体原因在上一篇有讲解到,感兴趣的可以看: 【秋招冲刺-每日打卡】应届生JAVA岗-每日5道高频面试题【Day2】-基础篇(2)
四: 接口是否可继承(extends)接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class)?
1、接口可以继承(extends)接口,且支持多继承(即一个接口继承多个接口)
2、抽象类可以实现(implements)接口
3、抽象类可继承具体类也可以继承抽象类。
五: JAVA中final关键字的作用
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
外链图片转存中…(img-hpRmrr8s-1713361864525)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!