return -1;
}
2、
String a=“abc”;
String b=“abc”;
a.equal(b);
a==b;
各自的返回值是什么?String对象存在什么里?堆还是栈?
返回值都是true。
equal方法比较的是内容,==对基本数据类型比较的是值,对引用数据类型比较的是地址。在当前例子中,a和b都是对字符串abc的引用,所以地址是一致的。
String对象存在堆里。
栈存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)
堆:存放所有new出来的对象。
4、构造方法能否重写?能否重载?
构造方法无法被子类继承,所以无法重写。
可以重载,通过创建不同参数的构造方法,灵活地创建对象。
3、说一下finally,有什么用途?
finally:在try catch异常捕捉代码块中,不管是否发生异常,finally代码块一定会被执行。
一般情况下,把关闭物理连接池(数据库连接、IO流、Socket连接)放在其中。
4、你怎么做数据库查询优化?
1、尽量避免出现select * from 表,要尽可能明确查询的字段。
2、在一个SQL语句中,如果一个where条件过滤的数据库记录越多,定位越准确,则该where条件越应该前移。
3、查询时尽量用索引覆盖,即对SELECT的字段建立复合索引,这样查询时只进行索引扫描,不读取数据块。
4、在判断有无符合条件的记录时尽量不要使用select count(*)和select top 1。
5、使用内层限定原则,在拼写SQL语句时,将查询条件分解、分类,并尽量在SQL语句最里层限定,以减少数据的处理量。
6、应避免在order by字句中使用表达式。
7、小心使用in和or,在in中的数据尽量不超过两百个。
5、索引怎么创建,为什么要用索引?
创建索引语法:
CREAT INDEX index_name
ON table_name(colume name1,colume name2……)
索引相当于书籍的目录,能提高数据的检索速度。
6、说一说你理解的事务?
SQL采用事务将一系列不可分割的数据库操作作为整体来执行,保证数据库数据库的时效性和完整性。
7、讲一下Object,它有什么常用方法?
java.lang.Object,所有类都直接或间接继承了Object类,Object类是所有类的父类。
Object类的常用方法:
equals()方法:比较两个对象的引用是否相同。
toString()方法:返回一个“以文本方式表示”此对象的字符串。
getClass()方法:返回调用该方法的对象的类。
hashCode()方法:返回对象的散列值。
clone()方法:快速创建一个对象的引用副本。
finalize()方法:垃圾回收器准备释放内存的时候,会先调用finalize()。
wait()、notify()、notifyAll()用于线程相关操作。
8、@Service有什么用?
标记服务层,完成依赖注入,在控制层中可以用@AutoWired自动装配。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Java开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!