
面试
小诺博文栈
活出最耀眼的自己
展开
-
java多线程面试基础篇
1. 进程和线程的区别 进程是调用系统资源的最小单位,线程是调度cpu的最小单位 线程是进程的不同执行路劲 进程占用内存空间,多进程程序比多线程程序健壮,但多进程比多线程程序耗损资源 2. 线程的start和run方法的关系 Thread通过调用start来创建并启动线程 run方法只是执行线程的一个普通方法 3. Thread和Runnable的关系 Thread类实现自Runnable接口,切runnable没有start方法,需要Thread的start方法来实现 由于类的单一继承原则,考虑到开发原创 2020-07-22 19:10:10 · 219 阅读 · 0 评论 -
Java多线程面试总结进阶篇
1.什么是synchronized 获取对象锁的两种用法 1. 同步代码块 2. 同步非静态方法 2. synchronized底层实现原理 synchronized的四种状态 无锁、偏向锁、轻量级锁、重量级锁 偏向锁:减少同一线程获取锁的代价 如果一个线程获得了锁,那么锁就进入偏向模式,此时Mark Word结果变为偏向锁模式,当该线程再次请求锁时,无需在做任何同步操作 不适用于锁竞争比较激烈的多线程场合 轻量级锁 轻量级锁是由偏向锁升级来的,偏向锁运行在一个线程进入同步块的情况下,当第二个线程原创 2020-07-22 19:08:49 · 272 阅读 · 0 评论 -
Redis面试知识点总结v1
1. Meincache 和 Redis的区别 meincache: 支持简单数据类型 ,不支持持久化、不支持主从同步、不支持分片 Redis: 支持丰富的数据类型, 支持数据持久化存储 支持分片 支持主从同步 2. Redis为什么能这么快 完全基于内存,绝大多数请求是内存操作,执行效率高 数据结构简单,对数据的操作也简单 读取时不进行磁盘IO,采用了多路复用io阻塞机制 单线程没有线程上下文切换,且单线程也能处理高并发请求 3.Redis的数据结构原创 2020-07-11 16:34:22 · 198 阅读 · 0 评论 -
MySQL面试知识点
MySQL面试详解原创 2020-07-10 20:23:20 · 139 阅读 · 0 评论 -
网络面试知识点总结一
1.GET请求和Post请求的区别 a. http报文层面:GET请求将请求参数存放在url中以键值对的方式存在,而Post请求将请求参数存放在请求报文中及请求体中,相对于GET请求相对安全,但可以通过抓包获取到参数,所以也不是绝对安全的 b. 数据库层面:GET请求符合幂等性和安全性,而Post请求则不然 c. 其他方面:GET请求可以被缓存、存储,而Post请求则不行 2.tcp3次握手及4次挥手 2.1 3次握手 作用:创建连接 第一次握手:客户端向服务端发送请求,请求数据包会生成原创 2020-06-25 21:57:56 · 150 阅读 · 0 评论