当前位置:首页 > 每日看点

java两个integer数据判断相等用==还是equals?

卡卷网2年前 (2025-01-17)每日看点283

会面试的,其实不在乎平时项目做了什么,因为大多数3,5年经验的Java程序员,平时项目只是做单机版的增删改查,而一些零真实项目经验的,一般也都是只跑通过学习项目。彼此之间的差距完全能通过面试素材和面试技巧来弥补。

equals和==之类问题是面试时经常会遇到的,比如面试官会问,判断String或Integer等对象,是用==还是equals。大家哪怕是最初级的程序员,按照下文给出的说辞,照样能让面试官高看你。

1 第一层先说出,String或Integer对象,==是比较地址,equals是比较值,同时说出,String或Integer是对象,要比较值,是用Eqauls方法,==是比较两个的地址。

2 同时顺着说,equals是Java的老祖宗类Object里的方法,所有的类都是Object的基类,如果不覆盖Object里的equals方法,还是比较地址。但String或Integration类里,已经重写了equals方法,所以 说出这些,其实就比大多数人强了,但别结束,继续说。

3 引申出去,说String a = "123"; String b = "123"; a==b;是返回true,而不是false。这里先说明,==是比较地址,但这里a和b是常量,JVM里,常量为了节省空间,是用共享内存的方式放在常量池,所以a和b虽然是两个不同对象,但却是共享了内存地址,所以a==b是返回true。

4 顺着第3点说,如果String a = new String("123");String b = new String("123");,a和b是用new创建的,所以是在堆空间里被分配了两个不同的空间,所以地址不同,这里a==b返回false,但是,a.equals(b),由于是比较值,是返回true。

讲到这里,大多数看过面试八股文的,其实就会结束了。但这里已经引出了另外一个Java面试里的一个值钱话题,即JVM虚拟机调优,所以可以继续往下讲。引导的话术可以是,这里String a="abc",a对象是放常量池,常量池里有共享内存机制,这是JVM内部优化内存用法的措施。

此外,我还了解过其它JVM的机制,比如垃圾回收流程,写代码时我也会尽量提升内存性能,我还在项目里解决过JVM内存问题。这时面试官基本上会顺着问,此时大家可以给出如下的值钱说辞。

1 说下JVM的结构,比如有堆区,栈区和方法区,这类八股文太多,但一般只要说出,new出来的对象是放堆区,GC流程和JVM调优,一般也是基于堆区。其它JVM结构的话,别多说,因为后面的说辞更值钱。

2 我知道GC的流程,是分代管理,包括年轻代,年老代和Metadata区,JDK8之前,metadata区叫持久代,GC时,一般分Minor GC(轻量级GC)和Full GC(重量级GC),大致说下各种GC的流程。

3 为了提升内存性能,我一般用好Connection, IO对象或Httpclient对象后,会close,用好ArrayList或HashMap等对象,也会clear,否则对象无法被回收。

4 再进一步,可以说,在项目里,我还解决过OOM问题,这个一般的流程是,通过Zabbix或Cat等监控工具告警,发现内存用量很大,用Dump命令看内存镜像,发现内存大量出现没回收的对象,原因是,我用mybatis获取数据时,分页没做好,一下子返回了数据表里10万多条数据,撑爆内存,导致OOM告警,解决方法是,优化分页代码,让一次只返回50条,解决该问题。

大家可以看到,上述技能,哪怕初级开发也能理解,而且比如分页问题,一个做增删改查的初级程序员也会遇到。而且更为重要的是,上述说辞,一旦在被问到equals等基础问题时,能较为轻易地通过引导话术说出。

事实上,比如有程序员干了3年增删改查,你问他项目里有什么亮点,或者问如何证明自己的能力,对方估计除了说业务,还未必能说出些什么出来,这其实就是会面试和不会面试的差别。

说句直接点的话,如果会面试,哪怕平时只做增删改查,(事实上大多数3,5年经验的Java开发还估计真只是做增删改查),平时干项目的能力差些其实没什么,但如果面试时说出些亮点出来,还真可能展示些高于实际技能的能力。

事实上,比如有程序员干了3年增删改查,你问他项目里有什么亮点,或者问如何证明自己的能力,对方估计除了说业务,还未必能说出些什么出来,这其实就是会面试和不会面试的差别。

说句直接点的话,如果会面试,哪怕平时只做增删改查,(事实上大多数3,5年经验的Java开发还估计真只是做增删改查),平时干项目的能力差些其实没什么,但如果面试时说出些亮点出来,还真可能展示些高于实际技能的能力。

大家可以想象下,如果在面试时能说出如下的技能点,应该很能展示自己的能力。

1 我在项目里,通过执行计划,索引和Redis提升过数据库的性能。

2 我们项目有性能和高可用的需求,所以我们项目里用到了nacos和gateway等组件。

3 我在用dubbo或openfeign时,解决过因重发或超时时间而导致的问题。

4 我解决过因超时和不回滚导致的事务问题,在解决问题的基础上,我还深入了解过事务隔离级别和事务传播机制。

5 我通过dump等命令,排查和解决过各种内存和CPU等性能问题。

如果再有些能力,还可以说如下的点。

6 数据库层面,我用过分库分表组件提升过性能。解决过redis等组件的问题。

7 我有用过docker容器和k8s的技能,同时我还有过ci/cd以及jenkins的实践经验。

8 我有过项目部署经验,在测试环境上启动过jar,同时搭建过nacos,redis或项目集群。

上述说辞应该比单纯背八股文要值钱,比如某人只有1年经验,甚至只跑通过学习项目,本来如果被面试官追着问,10个问题里能说好3,4个就不错了,而且包装的项目还有可能被面试官看穿。

但如果会些引导技巧,说好了上述里的5,6个点,比如JVM调优或者是数据库调优,估计面试官就不问了。退而求其次,比如展示好了上述亮点,但其它点因为基础差没说好,但依然有面试通过的可能。

这其实就是会面试以及掌握面试素材和不会面试的差别。会面试的,第一能通过简历拿到面试机会,不会面试的,简历上包装的项目会被看穿。第二面试时能让面试官确信自己做的是商业项目,第三能充分展示亮点。至于展示必要的能力,这本身就是顺带而为之。

顺带发个咨询,如果大家要进一步得到简历和面试方面的帮助,可以向本人发起咨询,除了做社招方面的Java面试辅导,本人还做校招应届生的面试辅导,而且在校生的辅导费用是低于社招的。大家可以在咨询前先私信联系本人。

1 本人的咨询是一对一电话沟通,相当于是量身定做,根据不同人的情况具体给出面试建议。

2 本人的面试辅导绝不是单纯给面试题或视频,首先会做简历辅导,先让各位拿到更好的面试机会,其次是做项目真实性方面的说辞辅导,在此基础上会结合spring boot等技术,告诉求职者如何证明项目的真实性。

3 量身定做各种亮点说辞,亮点说辞包含源码,解决过的问题,数据库调优和jvm调优,甚至可以是微服务或分布式组件的使用技巧。同时还包含一对一的模拟面试。而辅导是通过电话进行的,每次辅导大概是1到2个小时的量,而不是仅仅是文字沟通。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/9657.html

分享给朋友:

相关文章

b站真的能自学PS吗?

b站真的能自学PS吗?

看你想达到哪一种程度了,如果你只是平常用PS扣图、调整照片大小、尺寸、简单调个色这样,自学真的挺简单的,B站很多免费的教程都可以教会你这些技巧。 但是如果说你想成为专业的设计师或者是商业修图师,无师自通真的非常难,首先你会走很多弯路,不知道…

感觉手机配置都差不多,为什么有的手机能卖2k-3k,而有的手机却能卖到6k-8k?

感觉手机配置都差不多,为什么有的手机能卖2k-3k,而有的手机却能卖到6k-8k?

与所有的商品一样,手机的价格,也是由它的成本所决定的。 虽然看起来3000元的手机和6000的手机配置差不多,甚至处理器都可能是同一个,但在很多大家容易忽略的地方,决定了两者价格的不同: 例如手机的外观,塑料的机身,与素皮机身和玻璃机身就完…

你是如何在不依靠工资收入的情况下赚到一万元的?

你是如何在不依靠工资收入的情况下赚到一万元的?

分享几个路子稳,门槛低,变现快,适合年轻人的靠谱的副业。绝对不是送外卖、滴滴、搬砖等等的苦力活,这几个副业都是能是性价比极高,还能让你快速成长的工作。 想通过副业实现暴富、立马月入过万的同学,建议速速划走。 今天撇哥就给大家分享 100+个…

2024,java开发,已经炸了吗?

炸的透透的了,坐标南京。 一月底,一个好哥们,双休朝九晚六不加班18K,被裁。 入职不到两年,算是工资和年终奖才赔了6.5W左右。 上周五新公司入职,周六开始加班。现在每周134加班到晚上八点,好像薪资还不如以前高。三月上旬,另一个好哥们,…

数字人民币为什么又不火了?

我完全不懂行。 我一开始以为,数字人民币,是对我银行里的每一分钱,都赋予一个独一无二的数字编码。 我要用一块钱买矿泉水,它就从我的存款中随机选取一百个一分钱,组合成一块钱,支付给商家。 我花一百块钱吃饭,它就随机选取一万个一分钱,组合成一百…

提升自己最快的方式是什么?

提升自己最快的方式是什么?

1. 稻盛和夫说过: “改变自己最快的方法就是做自己害怕的事,不敢做的事,认为自己做不到,觉得不可能的事。如果在自己的舒适区待久了,就会丧失斗志,如果想快速的改变,可以坚持去做一些对自己有益的事。 2. 早睡早起,坚持运动 保持旺盛的精力,…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。