面试题06
Posted SmallCuteMonkey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题06相关的知识,希望对你有一定的参考价值。
1.数组怎么初始化的?
静态初始化:
- 直接赋值进行相关的初始化,数组元素有多少,就有多长。
String[] str1={‘name’,‘hou’,‘zhi’};
动态初始化: - 通过进行数组的长度的固定
String[] str2=new String[6];
2.方法重载和重写的区别?
重载:
- 方法名称 必须相同
- 仅仅返回类型不同不可以构成重载
- 参数类型,参数个数,参数的排列顺序不同
- 方法的重载发生在编译时;根据参数类型的个数进行识别是否重载。
重写:
5. 发生在父类和子类当中
6. 参数类型和参数个数,返回值也需要一样。
7. 子类方法的访问权限不可以低于父类方法的访问权限。
3.类中的初始化的先后顺序?
静态属性初始化---》静态方法初始化
-----》普通属性初始化-----》普通方法初始化。
4. SpringBoot中的properties文件和yml文件的优先级?
properties>yml文件,会先执行properties文件
5.SpringBoot中的@SpringBootApplication注解怎么看待的?(SpringBoot的约定大于配置)
它是一个复合的注解:
包括**@ComponentScan @SpringApplication @EnableConfiguration**
6.SpringBoot用的json转换的工具是?
fastjson jackson都可以用来处理json转换,从速度上面来看JackSon处理果json数据的速度会更快一些,但是fastJson会比jackson数据容易上手一些。
7.SpringBoot中的获取前端的值的方法?
- 直接从url进行?追加参数获取
- HttpServletRequest进行相关的获取
- 直接和前端的参数name一致可以获取,比如(String username,String password)
- Bean获取就是直接通过一个对象(User user)获取
- @RequestParam进行获取
- @PathVariable进行相关的获取(适用于Get请求)
- @ModelAttribute(“user” User user)获取
- @RequestBody绑定请求方法到参数进行获取
8.什么是缓存穿透?
缓存查询一个没有的 key,同时数据库也没有,如果黑客大量的使用这种方式,那么就会导致 DB 宕机。
我们可以使用一个默认值来防止,在缓存里放一个占位符,下次来的时候,检查这个占位符,如果发生时占位符,就不去数据库查询了,防止 DB 宕机。
以上是关于面试题06的主要内容,如果未能解决你的问题,请参考以下文章