面试题随笔总结(二)

  1. zk工作原理

广播 恢复(Paxos)

  1. tcp/ip五层模型

数据链路层,网络层,传输层,物理层,应用层

  1. osi 7层

2+会话层和表示层

  1. 如果我们登录一个web,获取到自己身份对应的权限,这些权限信息是存储在session还是存储在cookie

all

  1. springmvc原理

(1) Http请求:客户端请求提交到DispatcherServlet。
(2) 寻找处理器:由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller。
(3) 调用处理器:DispatcherServlet将请求提交到Controller。
(4)(5)调用业务处理和返回结果:Controller调用业务逻辑处理后,返回ModelAndView。
(6)(7)处理视图映射并返回模型: DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图。
(8) Http响应:视图负责将结果显示到客户端。

  1. ThreadLocal作用

保证线程安全,因为实例是线程私有的

  1. io,bio,nio,aio

io同步阻塞
bio同步非阻塞 单线程
aio异步非阻塞
nio异步阻塞 单/多

  1. ThreadLocal原理

每个Thread维护着一个ThreadLocalMap的引用

ThreadLocalMap是ThreadLocal的内部类,用Entry来进行存储

调用ThreadLocal的set()方法时,实际上就是往ThreadLocalMap设置值,key是ThreadLocal对象,值是传递进来的对象

调用ThreadLocal的get()方法时,实际上就是往ThreadLocalMap获取值,key是ThreadLocal对象

ThreadLocal本身并不存储值,它只是作为一个key来让线程从ThreadLocalMap获取value。

在这里插入图片描述
9. socket比起dubbo的劣势在哪

socket的底层还是tcp协议,不同的语言,实现的tcp协议,解析数据的方式是不一样的,java就是Serializable,其他的语言都其他的解析规则,所以数据可以传送,但是无法识别,但是dubbo使用的http协议作为底层,大多数语言都能实现http协议,而且http的解析规则是相同的,所以可以让数据正常传输识别

  1. 什么是线程安全,什么是线程不安全

多个线程在执行同一段代码的时候,每次的执行结果都是一样的,这就是线程安全,反之就是线程不安全。

  1. 谈谈你对线程池的理解

线程集合,然后在需要执行新的任务时重用这些线程而不是新建一个线程(提高线程复用,减少性能开销),线程池中的每个线程都有被分配一个任务,一旦任务已经完成了,线程回到池子中然后等待下一次分配任务

  1. 线程池有几种

4

  1. 谈谈进程和线程都是啥?

进程里面有很多线程,资源调度的单位是进程,程序执行的单位是线程

  1. 创建线程池的几种方式?

一:创建大小不固定的线程池

二:创建固定数量线程的线程池

三:创建单线程的线程池

四:创建定时线程

  1. 什么是并发,什么是分布式

并发就是宏观同时执行多个操作,微观是存在先后的。
分布式是,把一件大事情分成多个小事情,类似于分治算法。

  1. java4种引用

幻象(PR),强(new)弱(null)软()

  1. synchronized和Lock的区别

可以说,Lock的功能会更多一些,是一个接口,且Lock下的方法加锁方式一定要有一个lock和unlock的体现,也就是加锁和解锁。
sync是一个关键字,被括起来的是代码块或者方法,括号里是锁住的对象,自带加锁和解锁过程。

  1. CountDownLatch和CyclicBarrier的区别

在这里插入图片描述

  1. java的浅拷贝和深拷贝的区别

浅拷贝:对基本数据类型进行值传递,对引用数据类型进行引用传递般的拷贝,此为浅拷贝。
8种基本类型的赋值操作均为浅拷贝,对象之间的直接复制也是浅拷贝(不改变存储地址)

深拷贝:对基本数据类型进行值传递,对引用数据类型,创建一个新的对象,并复制其内容,此为深拷贝。
重写clone方法将super.clone修改成a.clone强转一下就是深拷贝

  1. @Builder lombok的作用

创建静态内部类,并且重写set操作且创建内部构造方法,返回set的对象,作用是防止外部写入

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值