记录 2020年2月26日 java的一次远程技术面试

1、 自我介绍

2、String 类型为什么是final类型?String 为啥不可变?

String 类型是final类型原因:
  1.不可变性支持线程安全(为了线程安全)
   2.不可变性支持字符串常量池,提升性能(为了实现字符串池)
   3.String字符串作为最常用数据类型之一,不可变防止了随意修改,保证了数据的安全性。(为了实现String可以创建HashCode不可变性)

String 不可变的原因:

String类被final修饰,是不可继承和修改的。当一个String变量被第二次赋值时,不是在原有内存地址上修改数据,而是在内存中重新开辟一块内存地址,并指向新地址。

注意:final修饰的String,代表了String的不可继承性,final修饰的char[]代表了被存储的数据不可更改性。但是:虽然final代表了不可变,但仅仅是引用地址不可变,并不代表了数组本身不会变

看如下图:

记录 2020年2月26日 java的一次远程技术面试

记录 2020年2月26日 java的一次远程技术面试


3、HashMap实现底层原理结构是怎么实现

4、java 内存泄漏 的问题,你是如何查询定位的

5、SpringMVC的实现原理

6、spring 事物实现原理

7、Java 线程的 run 和start 方法的区别

8、 Java线程池的原理

9、 数据库的悲观锁和乐观锁的实现

10、项目使用什么设计模式

11、假如你们系统在高并发的情况下,处理多个大数据量请求的情况下,你们系统是如何设计的

上一篇:.NET 5 Preview 1中的ASP.NET Core更新 (2020年3月16日)


下一篇:一个由"2020年1月7日 京东出现的重大 Bug 漏洞"引起的思考...