B站总结某up主面试题(持续等待更新......)

【java面试讲解第1题】基本数据类型分类:

基本数据类型分类:
1> 整数型:
byte,short,int,long(1字节,2字节,4字节,8字节)
2> 浮点型
float,double(4字节,8字节)
3> 字符型
char(1字节)
4> 布尔型
boolean		(1位(bit)即可存储,位是计算机最小的存储单位)


【java面试讲解第2题】你会用什么数据类型来存储金额?

double a=0.3;
double b=0.2;
System.out.println(a-b);
//0.09999999999999998
--浮点型会损失精度
BigDecimal a = new BigDecimal("0.3");
BigDecimal b = new BigDecimal("0.2");
System.out.println(a.subtract(b));
//0.1


【java面试讲解第3题】WEB-INF目录的作用:

基于Servlet的声明,WEB-INF不作为Web应用的公共文档树的一部分。
因此,WEB-INF目录下的资源不是为客户直接服务的。我们仍然可以使用WEB-INF目录下的JSP页面来提供视图给客户,客户却不能直接请求访问JSP。


【java面试讲解第4题】servlet的执行流程:

1> servlet是单实例多线程。
2> 第一次访问时,服务器创建servlet,并调用init进行初始化,然后,调用service方法。
3> 每当请求来到的时候,服务器创建一个线程,并调用service方法完成自己的业务逻辑。
4> 当servlet被移除和服务器正常关闭的时候,服务器调用servlet的destroy方法。


【java面试讲解第5题】@Autowired 注解的作用:

1、默认按照类型去容器中查找;
2、如果找到多个相同类型的组件,再将属性名作为组件的id去容器中查找。
这个注解就是spring可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get。
autowired有4种模式,byName、byType、constructor、autodectect
//@Autowired注解是使用byType方式的
//byType方式是根据属性类型在容器中寻找bean类

@Autowired
NewsService newsService;

/*规则如下:
1.Spring先去容器中寻找NewsSevice类型的bean(先不扫描newsService字段);
2.若找不到一个bean,会抛出异常;
3.若找到一个NewsSevice类型的bean,自动匹配,并把bean装配到newsService中;
4.若NewsService类型的bean有多个,则扫描后面newsService字段进行名字匹配,匹配成功后将bean装配到newsService中。
*/

特例:

1.
@Autowired
@Qualifier("userJdbcImps")
private UserRepository userRepository;
//若有多个UserRepository 类型的bean,可以指定bean的名称,名称为userJdbcImps,装配到userRepository中
------------------------------------------------------------------------------
@Qualifier:限定描述符,用于细粒度选择候选者
@Autowired默认是根据类型进行注入的,因此如果有多个类型一样的Bean候选者,则需要限定其中一个候选者,否则将抛出异常

@Qualifier限定描述符除了能根据名字进行注入,更能进行更细粒度的控制如何选择候选者,具体使用方式如下:
@Qualifier(value = "限定标识符")  
字段、方法、参数  
2.
@Autowired(required = false)
NewsService newsService;

//若找不到bean时不会抛出异常
--required属性
@Autowired(required=true):当使用@Autowired注解的时候,其实默认就是
@Autowired(required=true),表示注入的时候,该bean必须存在,否则就会注入失败。
@Autowired(required=false):表示忽略当前要注入的bean,如果有直接注入,没有跳过,不会报错。



【java面试讲解第6题】jdk和jre有什么区别?

jre:包括java虚拟机和java核心类库。
jdk:包括java开发工具和jre
使用jdk开发的程序,交给jre运行。
//从jdk9后安装后的文件夹就没有jre文件夹了


【java面试讲解第7题】final关键字的作用:

1、修饰类,类不能被继承;
2、修饰成员方法,方法不能被重写;
3、修饰成员变量,变量的值不能被改变。


【java面试讲解第8题】==和equals有什么区别?

1、==作用于基本数据类型变量,比较的是存储的值是否相等,作用于引用数据类型变量,比较的是指向的对象的地址是否相等;
2、equals不能作用于基本数据类型变量,如果没有重写equals方法,比较的是指向的对象的地址,如果重写了,比较的是所指向对象的内容。
int a=1;
int b=2;
if(a==b){
    System.out.print("a等于b");
}


Integer a=2;
Integer b=3;
if(a.intValue()==b.intValue()){
    System.out.print("a等于b");
}


String a=new String("abc");
String b=new String("abc");
if(a.equals(b)){
    System.out.print("a等于b");
}
  • intValue()
intValue()
1.intValue()是java.lang.Number类的方法,Number是一个抽象类。Java中所有的数值类都继承它。也就是说,不单是Integer有intValue方法,Double,Long等都有此方法。 
2.此方法的意思是:输出int数据。每个数值类中具体的实现是不同的。例如: 
Float类和Double类的intValue方法,就是丢掉了小数位,而Long的intValue方法又不一样的


valueOf()
String 类中的valueOf():
static String valueOf(boolean b) 
          返回 boolean 参数的字符串表示形式。 
static String valueOf(Object obj) 
          返回 Object 参数的字符串表示形式。 
  表示的是将( )中的 值,转换成字符串类型

版权声明:程序员胖胖胖虎阿 发表于 2022年9月20日 下午8:40。
转载请注明:B站总结某up主面试题(持续等待更新......) | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...