2022年6月13日
摘要: 一、spring 用到的设计模式 1.工厂模式 beanfactory就是简单工厂模式的体现,用来创建实例 2.单例模式 bean默认为单例模式 3.代理模式 spring的aop功能用到了jdk 的动态代理和CG lIB 的字节码生成技术 4.模板方法 用来解决代码的重复问题,比如 RestTem 阅读全文
posted @ 2022-06-13 22:15 迎新 阅读(83) 评论(0) 推荐(0) 编辑
  2022年4月30日
摘要: 三次握手,四次挥手 三次握手建立连接,三次的原因是保证 客户端发出的消息服务端能接收到,反过来,服务端发出的消息客户端也能接收到 ACK = seq + 1 ACK表示应答 首先由客户端发送一个syn位 置 1 的报文,而seq是随机的;服务端收到之后,返回syn位 为 1 ,seq 随机, ACK 阅读全文
posted @ 2022-04-30 16:13 迎新 阅读(22) 评论(0) 推荐(0) 编辑
  2022年4月16日
摘要: Hash Map 存储原理 (图解比较详细) 调用hashcode方法算出哈希码,然后再算出在主数组中对应的存储位置,将key value 、哈希码 、下一个元素的地址 这四个数据存储在一个Entry类的对象中,这样以来,主数组就成为了一个Entry的数组。 每一个数组元素都是由链表组成的,链表头部 阅读全文
posted @ 2022-04-16 11:03 迎新 阅读(25) 评论(0) 推荐(0) 编辑
  2022年4月12日
摘要: 一、Java构建线程的方式 1.继承Thread(几乎不用) 2.实现Runnable 3.实现Callable 4.线程池(Java提供了构建线程池的方式)Java提供了Executors 常见线程池,(规范中不允许使用这种方式,对象成的控制力度比较低) 推荐手动创建 二、线程池的7个参数 三、线 阅读全文
posted @ 2022-04-12 14:36 迎新 阅读(97) 评论(0) 推荐(0) 编辑
  2022年4月9日
摘要: 源代码 .Java文件编译成 . Class 文件,然后进入到类加载器Class Loader,最后由类加载器加载到JVM 双亲委派机制:保证安全的机制 1.类加载器收到类加载的请求 2.将这个请求向上委托给父类加载器去完成,一直向上委托,知道启动类加载器 3.启动加载器检查是否能够启动这个类,能加 阅读全文
posted @ 2022-04-09 20:09 迎新 阅读(36) 评论(0) 推荐(0) 编辑
  2022年4月7日
摘要: Java的垃圾回收使用可达性分析算法, GC Roots (根对象)包括 1.虚拟机栈中引用的对象 2.方法区中类静态属性引用的对象 3.方法区中常量引用的对象 4.本地方法栈中,JNI(native 方法)引用的对象 回收的方法有两个,标记消除法和标记整理法:两个方法都是先将通过可达性算法找到的要 阅读全文
posted @ 2022-04-07 21:05 迎新 阅读(35) 评论(0) 推荐(0) 编辑
  2022年4月6日
摘要: JVM虚拟机内存模型 堆、栈、本地方法栈、方法区、程序计数器之间的关系 只要有一个线程开始运行,Java虚拟机就会给他在线程栈挖一块自己专属的内存空间, 程序计数器是每一个线程都有的,程序开始运行的时候就会挖出一个属于他的空间,程序计数器的作用:记录当前的程序运行到这一个行的地址,当线程被其他的线程 阅读全文
posted @ 2022-04-06 16:54 迎新 阅读(48) 评论(0) 推荐(0) 编辑
  2022年3月23日
摘要: Java线程模型和cpu的缓存模型类似,是基于cpu的缓存模型来建立的。Java线程内存模型是标准化的,屏蔽掉了底层不同计算机的区别。 MESI缓存一致性协议,多个cpu从主内存读取到同一个数据到各自的高速缓存,当其中的某个cpu修改了缓存里的数据,该数据会马上同不会主内存,其他CPU通过总线嗅探机 阅读全文
posted @ 2022-03-23 20:24 迎新 阅读(121) 评论(0) 推荐(0) 编辑
  2022年3月22日
摘要: 阅读全文
posted @ 2022-03-22 15:32 迎新 阅读(14) 评论(0) 推荐(0) 编辑
  2022年3月21日
摘要: 阅读全文
posted @ 2022-03-21 16:50 迎新 阅读(45) 评论(0) 推荐(0) 编辑