本文无废话, 全干货, 由 hashCode 方法开始讲起, 带你完全重新认识 hashCode 方法, 并囊括 HashMap 所有可能的八股文知识, 附带源码详细解读; 然后将会讲解阿里面试问题, 进行知识提炼与提升, 希望大家都能认真看完;hashCodeObject 的 hashCode 方法, JDK1.8 的默认实现是通过线程状态和移位异或的算法计算出来的, 并不是内存地址; 内存地址
@Autowired 注解可以说是每天都要用到, 但我们很少去想它底层实现依赖注入的原理到底是什么, 面试被问到这题大部分人也只能说出来 Autowired 注入的一些规则, 今天从SpringBoot 创建 Bean 的过程来给大家详细讲解 @Autowired 注解;看完后, 你将对 @Autowired 注解的注入原则, SpringBoot 属性加载机制, SpringBoot 创建B
本篇文章纯干货, 无废话, 觉得写得不错请点个赞支持一下;SpringBoot启动流程一定要配合这个流程图来看; 流程图重点关注 new SpringApplication 的部分即可https://www.processon.com/view/link/667833be05675d325a7cf3fb?cid=65af5516f97995074a6638e9重点关注带序号的部分public Co
介绍每个Thread对象, 内部有一个ThreadLocalMap threadLocals, 这是一个哈希表, 底层是一个Node[ ] table;当在某个线程中调用ThreadLocal的set方法时, 会使用Thread.currentThread获取当前先线程的thread对象, 然后将ThreadLocal对象作为key, 将set方法的参数作为value, 构建一个Entry, 将此
零拷贝零拷贝机制可以减少数据在内和空间和用户空间缓冲区之间反复的 I/O 拷贝操作。零拷贝机制可以减少用户态和内核态之间切换带来的开销。场景举例, 通过 read 系统调用读取磁盘上的某个文件, 然后通过 write 系统调用将其通过 Socket 发送出去;传统 IO 方式下, 假设 read 和 write 都是阻塞式的, 假设 PageCache 和 Socket 缓冲区一开始都为空用户进程
文件描述符与Socket文件描述符(File Descriptor,简称FD)是操作系统内核用于访问可以进行 I/O 的资源的一个抽象标识符。Linux 万物皆文件, 在操作系统看来, 一个 Socket 对象就是一个可以 IO 的资源, 发送数据就是对 Socket 进行写操作, 接收数据就是读 Socket;文件描述符是一个非负整数,代表一个已经打开的文件、管道、网络套接字或其他
为了直击重点, 循环依赖的概念就不多介绍了, 大家可以自己去看一下;我在学习循环依赖的解决方案时, 一直有这样的疑惑: A, B 循环依赖的话, A 实例化以后直接放到二级缓存, B 注入的时候直接到二级缓存取 A 就可以了, 为什么 A 要先放到三级缓存, 被注入的时候再挪到二级缓存?一句话总结: 为了优雅地引入 AOP;一开始, Spring 没有引入 AOP 的时候, 是采用两级缓存来解决循
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号