java面试
文章平均质量分 85
java后端面试八股文
Dark_Flame_Master?
这个作者很懒,什么都没留下…
展开
-
八股文完:消息队列&Redis&Nginx
八、MQ 消息队列1、场景作用削峰填谷,异步解耦。2、如何保证消息不被重复消费呢?这个问题可以换个思路,保证消息重复消费,其实是保证程序的幂等性。无论消息如何重复,程序运行的结果是一致的。比如消费消息后做数据库插入操作,为了防止消息重复消费,可以在插入前先查询一下有没有对应的数据。3、怎么保证从消息队列里拿到的数据按顺序执行?消费端在接收到消息后放入内存队列,然后对队列中的消息进行有序消费。4、如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积转载 2021-04-07 23:35:58 · 708 阅读 · 0 评论 -
八股文七:计网
七、计算机网络1、TCP/IP 五层模型2、浏览器输入地址后做了什么?3、三次握手与四次挥手三次握手 四次挥手 4、TIME_WAIT 与 CLOSE_WAIT5、TCP 滑动窗口TCP 流量控制,主要使用滑动窗口协议,滑动窗口是接受数据端使用的窗口大小,用来告诉发送端接收端的缓存大小,以此可以控制发送端发送数据的大小,从而达到流量控制的目的。这个窗口大小就是我们一次传输几个数据。对所有数据帧按顺序赋予编号,发送方在发...原创 2021-04-04 22:06:08 · 878 阅读 · 1 评论 -
八股文六:Spring
六、Spring 相关1、Bean 的作用域|:---|:---| | 类别 | 说明 | |singleton| 默认在 Spring 容器中仅存在一个实例 | |prototype| 每次调用 getBean() 都重新生成一个实例 | |request| 为每个 HTTP 请求生成一个实例 | |session| 同一个 HTTP session 使用一个实例,不同 session 使用不同实例 |2、Bean 生命周期简单来说四步: 实例化 Instantiation转载 2021-04-07 22:02:58 · 604 阅读 · 0 评论 -
八股文五:数据库
五、MySQL (Inno DB)1、聚簇索引与非聚簇索引都使用 B+ 树作为数据结构 聚簇索引中数据存在主键索引的叶子结点中,得到 key 即得到 data ;非聚簇索引的数据存在单独的空间。 聚簇索引中辅助索引的叶子结点存的是主键;非聚簇索引中叶子结点存的是数据的地址; 聚簇索引的优势是找到主键就找到数据,只需一次磁盘 IO ;当 B+ 树的结点发生变化时,地址也会发生变化,这时非聚簇索引需要更新所有的地址,增加开销。2、为何使用 B 树做索引而不是红黑树?索引很大,..转载 2021-04-04 20:33:36 · 711 阅读 · 0 评论 -
八股文四:JVM虚拟机
四、Java 虚拟机1、Java 内存结构堆 由线程共享,存放 new 出来的对象,是垃圾回收器的主要工作区域。 栈 线程私有,分为 Java 虚拟机栈和本地方法栈,存放局部变量表、操作栈、动态链接、方法出口等信息,方法的执行对应着入栈到出栈的过程。 方法区 线程共享,存放已被加载的类信息、常量、静态变量、即时编译器编译后的代码等信息,JDK 1.8 中方法区被元空间取代,使用直接内存。2、Java 类加载机制加载 加载字节码文件。 链接 验证 验证字节...原创 2021-04-03 19:07:34 · 171 阅读 · 0 评论 -
八股文三:多线程
三、Java 多线程1、synchronized修饰代码块 底层实现,通过 monitorenter & monitorexit 标志代码块为同步代码块。 修饰方法 底层实现,通过 ACC_SYNCHRONIZED 标志方法是同步方法。 修饰类 class 对象时,实际锁在类的实例上面。 单例模式public class Singleton { private static volatile Singleton instance = null; private转载 2021-04-03 17:56:54 · 399 阅读 · 0 评论 -
八股文二:集合框架
二、Java 集合框架(同样引自知乎,未修改完)1、List(线性结构)ArrayList Object[] 数组实现,默认大小为 10 ,支持随机访问,连续内存空间,插入末尾时间复杂度 o(1),插入第 i 个位置时间复杂度 o(n - i)。扩容,大小变为 1.5 倍,Arrays.copyOf(底层 System.ArrayCopy),复制到新数组,指针指向新数组。 Vector 类似 ArrayList,线程安全,扩容默认增长为原来的 2 倍,还可以指定增长空间长度。 Linke转载 2021-04-03 10:29:54 · 167 阅读 · 0 评论 -
八股文一:Java 基础
一、Java 基础知识(引自知乎:https://zhuanlan.zhihu.com/p/215878135 稍加修改)1、Object 类相关方法getClass 获取当前运行时对象的 Class 对象。 hashCode 返回对象的 hash 码。 clone 拷贝当前对象, 必须实现 Cloneable 接口。浅拷贝对基本类型进行值拷贝,对引用类型拷贝引用; 深拷贝对基本类型进行值拷贝,对引用类型对象不但拷贝对象的引用还拷贝对象的相关属性和方法。两者不同在于深拷贝创建了一个新的对原创 2021-04-01 21:43:17 · 467 阅读 · 0 评论 -
同步/异步/阻塞/非阻塞解析
同步/异步/阻塞/非阻塞什么事同步异步,什么事阻塞非阻塞呢:举个例子中午吃饭,两个宝宝,我两只手一起喂饭,他们同时吃下就叫做同步;什么叫异步呢,我喂他俩吃饭,一个宝宝闹脾气,不肯吃,另一个听话我就先喂了他,然后哄着另一个吃了饭,虽然不是同时吃的饭,但是中饭时间他俩都吃完了,这就叫做异步,就一段时间内吃完就行;什么叫做阻塞呢,我喂宝宝吃饭,他不肯吃,我就举着勺子一直等待,这就叫阻塞;什么叫非阻塞呢,我喂他吃饭,他不肯吃,我就不等了,我先去玩一会,再来喂他,这就叫非阻塞,我才不等他;同步阻原创 2021-03-19 21:35:27 · 66 阅读 · 0 评论