java回归基础复习干货总结三

基础三

  1. 可以管理Spring Bean的生命周期的注解有:@PostContruct、@PreDestroy。

  2. @EnableAutoConfiguration注解:

    • 该注解由组合注解@SpringBootApplication引入
    • 该注解作用是开启SpringBoot自动配置
    • 该注解会扫描各个jar包下的spring.factories文件,并加载文件中注册的AutoCofiguration类等
    • @EnableAutoConfiguration的关键功能是通过@Import注解导入的ImportSelector来完成的
  3. String类能不能被继承?

    不能,你查看源码会发现String类是被final修饰的类,final修饰过的类不能被继承,final修饰过的变量不能被修改。

  4. Spring 如何结局循环依赖?(高端面试题)

    spring只能通过提前暴露bean来解决setter注入的循环依赖,无法解决构造器注入的循环依赖

  5. 简述java的反射机制和使用场景

    反射是java的一种机制,可以让我们在运行时获取类的信息,通过反射我们可以获取到类的所有信息,比如它的属性、构造器、方法、注解等(详细描述:https://blog.csdn.net/qq_33709582/article/details/113550163)

  6. String str = new String(“abc”)到底new了几个对象?

    两种情况:

    • 一个:如果常量池中已经有“abc"这个字符串,也就是说你在前面已经new过一个值为”abc“的字符串,那虚拟机就只会在堆内存中new一个String对象,并将常量池中”abc“的地址指向你刚刚new的String对象。
    • 两个:如果常量池里面没有”abc"这个字符串,那虚拟机就会在堆内存中new出一个String对象,还会在常量池中new一个abc字符串对象。
  7. mysql深度分页查询如何写sql语句

    如果某天的一张单表数据量达到500w条,且你需要的数据恰恰在最后10条,常规的分页非常慢,

    //常规分页
    SELECT * FROM table_name limit 1000000,10  //耗时3.968s
    
    //先查id ,写法很多,看个人习惯
    SELECT * FROM table_name a,(SELECT id FROM table_name limit 1000000,10) b WHERE a.id = b.id  //耗时1.568
    
    //如果你的表有自增id(并且没断层),就这么写,效率直接起飞,真的是项目经理看了感动,架构师看了落泪
    SELECT * FROM table_name WHERE id>1000000 LIMIT 10  //耗时0.572
    //以上代码copy,没有实际在我自己的mysql中写过。
    
  8. 接口也能被继承,是被接口继承的接口。

  9. java中的sleep和wait的区别

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cp7d1fCZ-1675052532775)(C:\Users\30500\AppData\Roaming\Typora\typora-user-images\1669565012569.png)]

    1.sleep是Thread的方法,wait是Object的方法

    2.sleep方法没有释放锁,而wait方法释放了锁(上锁的方法没办法让多个线程同时操作一个数据,

    3.wait,notify和notifAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用。

    4.sleep必须获取异常,而wait,notify和notifyAll不需要捕获异常。

  10. java如何进行高效的数组拷贝?

    Arrays.copyOf或 System.arraycopy,是自己new数组, 然后for循环复制效率的两倍左右
    Arrays.copyOf或 System.arraycopy,是自己new数组, 然后for循环复制效率的两倍左右
    为什么快,因为它们是native方法;native是包装其它语言编写的源程序

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值