05 2020 档案
摘要:一、拥塞 阻塞:当用户对网络资源的需求量,超过了服务器提供的可用资源数量,这时就出现了拥塞现象。 如果让这种情况一直持续下去,那么网络的吞吐量逐渐下降。 **参考“湖南科技大学”的网课教程:**https://www.bilibili.com/video/BV1kJ41177io 二、控制 TCP提
阅读全文
摘要:一、三次握手,都做了些什么? 第一次握手:(客户端向服务端伸手)客户端发送请求建立连接的信号给服务端 第二次握手:(服务端向客户端伸手)服务端接收到了信息,然后立马发送了确认的信号,同时还有个请求建立连接的信号。 第三次握手:(客户端向服务端伸手)最后这次不会继续发送请求建立连接的讯号了,只有个确认
阅读全文
摘要:一、ThreadLocal它是什么?有什么作用? ThreadLocal 是一个存储了线程独有变量的类。 二、它是如何存储线程独有变量的呢? ThreadLocal 主要是通过自身的一个静态内部类 ThreadLocalMap,对当前线程的变量进行存储的。 首先我们来看一下这个静态内部类: 那看完了
阅读全文
摘要:一、堆的组成部分 1 1、三大组成部分: 新生代:新生代会频繁触发 ==MinorGC== 进行垃圾回收 伊甸园区( Eden ):每次 new 出来的对象存放的位置。 幸存者0区( ServivorFrom ):每次gc垃圾回收的幸存者存放的位置。 幸存者1区( ServivorTo ):每次gc
阅读全文
摘要:谈谈我对 String、StringBuilder、StringBuffer 的理解 StringBuilder、StringBuffer 和 String 一样,都是用于存储字符串的。 1、那既然有了 String ,为什么还需要他们两个呢? 原因是 String 是不可变的,它每次的字符串拼接,
阅读全文
摘要:一、HashMap 的数据结构 Java7 及之前主要是 “数组+链表” ,到了 Java8 之后,就变成了 “数组+链表+红黑树” 。 二、Java7 源码浅析: 在Java7 中,HashMap 是数据结构里学的 HashTable 经典的实现! ==注意点:==Java7 中的 HashMap
阅读全文
摘要:一、什么是 JMM JMM : Java 内存模型,它并不实际存在,是一种概念,一种约定! 作用 :主要是定义了 ==线程== 与 ==主内存== 之间存取数据的一些规则,进行一定的约束。 二、关于 JMM 的约定 线程加锁前,必须读取 最新 的数据的到工作内存中去! 线程解锁前,必须 立刻 把修改
阅读全文
摘要:双亲委派机制及作用 什么是双亲委派机制 当 文件需要被加载时,它首先把这个任务委托给他的上级类加载器,层层往上委托,如果上级的类加载器没有加载过,自己才会去加载这个类。 源码分析 虚拟机自带的加载器以及优先级: 1. bootstrap(根类加载器/引导类加载器,由C++编写)= 加载 jre/li
阅读全文
摘要:SpringBoot SrpingBoot 给人的第一印象就是 简洁,易上手。它是自 Spring 而来为了简化我们开发的,而经历过了 Spring 中繁琐的配置文件,我确实很好奇它到底是怎么帮我们把 Spring 的配置给自动化的,所以现在来探究一下它的自动装配原理! 自动装配: 1. Sprin
阅读全文