学习总结
文章平均质量分 93
雨辰465
这个作者很懒,什么都没留下…
展开
-
Java线程池浅淡
Java11 线程池的工作原理与源码分析原创 2022-03-15 17:29:21 · 652 阅读 · 0 评论 -
JUC包源码分析
JUC源码解析原创 2022-02-23 16:57:33 · 865 阅读 · 0 评论 -
TCP中三次握手和四次挥手
文章目录TCP连接三次握手和四次挥手什么是TCPTCP头部三次握手Tips补充问题四次挥手补充问题补充 TCP连接三次握手和四次挥手 什么是TCP TCP 全称为Transmission Control Protocol(传输控制协议) 是面向连接的、可靠的、基于字节流的传输层通信协议。 TCP头部 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DnzwLuX5-1622731035701)(https://note.youdao.com/yws/res/f/WEBRESOU原创 2021-06-03 22:40:10 · 117 阅读 · 1 评论 -
三次握手和四次挥手浅谈
三次握手和四次挥手浅谈相关名词三次握手四次挥手 相关名词 ACK:代表此次报文是确认报文。 SYN:代表此报文是建立连接报文。 ack:代表需要下次接受的报文序号。 seq:代表此次报文序号。 MSL:指的是Maximum Segment Lifetime:一段TCP报文在传输过程中的最大生命周期。 三次握手 开始时客户端发送创建连接报文。 SYN代表请求建立连接。 seq代表此次报文序号为x。并且进入SYN-SENT(连接发送)状态。 服务器监听到请求连接报文后,进入SYN-R原创 2020-09-13 15:32:14 · 83 阅读 · 0 评论 -
23种设计模式理解
文章目录23种设计模式理解创建型模式(5种)工厂方法模式抽象工厂模式建造者模式单例模式原型模式结构型模式(7种)适配器模式装饰器模式代理模式外观模式桥接模式组合模式享元模式行为型模式(11种)策略模式模板方法模式观察者模式迭代模式责任链模式命令模式状态模式备忘录模式访问者模式中介者模式解释器模式 23种设计模式理解 创建型模式(5种) 工厂方法模式 工厂要制造的产品类如下 一个玩具狗 一个玩具猫都实现了玩具接口 interface Toy { void say(); } class ToyDog原创 2020-08-12 22:52:20 · 91 阅读 · 0 评论 -
Java四种引用方式
文章目录Java四种引用方式强引用软引用弱引用虚引用总结 Java四种引用方式 强引用 class TestReference{ // 方便垃圾回收时显示 @Override protected void finalize() throws Throwable { System.out.println("finalize"); } } public static void main(String[] args) { // 强引用原创 2020-07-16 16:30:42 · 118 阅读 · 0 评论 -
JMM内存区域及常见锁
目录JMM内存模型概述内存间交互volatile关键字三大特性可见性有序性原子性先行发生原则常见锁1 JMM内存模型 概述 为了保证CPU高速运算与内存速度不匹配问题,引入了缓存的概念,JMM屏蔽了底层细节展现的分为主内存、工作内存、线程。 主内存 存储在运行中可被多个线程共享的数据。 工作内存 各线程无法直接操作主内存中数据,只能将主内存数据放置工作内存,操作完成后在写回。 内存间交互 规定了主内存和工作内存交互方式,共包括lock、unlock、read、load、use、assign、store原创 2020-05-29 17:24:27 · 317 阅读 · 0 评论 -
JVM类加载器的双亲委派模型
目录双亲委派模型破坏双亲委派模型 双亲委派模型 站在Java虚拟机的角度来看,只存在两种不同的类加载器:一种是启动类加载器(Bootstrap ClassLoader),这个类加载器使用C++语言实现,是虚拟机自身的一部分;另外一种就是其他所有 的类加载器,这些类加载器都由Java语言实现,独立存在于虚拟机外部,并且全都继承自抽象类 java.lang.ClassLoader。 自JDK 1.2以来,Java一直保持着三层类加载器、双亲委派的类加载架构。三层类加载器为(JDK9之前):启动类加载器,扩展类加原创 2020-05-29 08:50:50 · 104 阅读 · 0 评论 -
JVM中垃圾收集器和垃圾收集算法
目录概述垃圾收集需要确定的三件事如何判断对象已死垃圾收集算法分代收集理论标记-清除算法标记-复制算法标记-整理算法垃圾收集器新生代收集器Serial收集器ParNew收集器Parallel Scavenge收集器老年代收集器Serial Old收集器Parallel Old收集器Concurrent Mark Sweep收集器增量更新Garbage First收集器记忆集(Remember Set)卡表(Card Table)原始快照(SATB)ZGC收集器 概述 虚拟机在运行过程中会产生很多对象,但如果原创 2020-05-28 19:08:18 · 232 阅读 · 0 评论 -
Java内存区域总结
Java内存区域运行时内存区域程序计数器(Program Counter Register)虚拟机栈(Java Virtual Machine Stack)本地方法栈方法区堆直接内存对象的创建和访问 运行时内存区域 Java运行时内存区域分为两部分 一部分线程不共享的包括 程序计数器,虚拟机栈,本地方法栈。 一部分为线程共享的包括 方法区和堆。 程序计数器(Program Counter Register) 保存当前线程执行的行号指示器,通过改变该计数器的值获取下一次需要运行的指令,若执行原创 2020-05-27 23:05:53 · 113 阅读 · 0 评论 -
Java多线程创建4种方式
目录实现方式第一种 继承Thread类第二种 实现Runnable接口第三种 实现Callable接口第四种 线程池特点 实现方式 第一种 继承Thread类 自定义类,继承Thread类,并重写run()方法. class MyThread1 extends Thread { @Override public void run() { System.out.println("第一种方式Thread " + Thread.currentThread().getName()原创 2020-05-16 19:32:25 · 130 阅读 · 0 评论 -
个人学习总结-HashMap
HashMap基于1.8 简介 底层维护了一个Node数组,当出现hash碰撞时,维护一个链表,当链表长度大于8且数组长度大于64, 链表转化为红黑树。不是线程安全的集合,若想使用线程安全可使用Collections.synchronizedMap() 方法转换,或者使用HashTable,或者使用ConcurrentHashMap,支持快速失败机制. 特点 key值和value值都可为null,若key值为null的时候存于数组下标为0的位置。同键不同值会被覆盖。 构造方法 /** *原创 2020-05-15 22:10:15 · 184 阅读 · 0 评论 -
个人学习总结-ArrayList
ArrayList 基于1.8 特点 底层数组,查找快,添加删除慢,不是线程安全的,支持快速失败机制. 快速失败(fail-fast)->当创建迭代器遍历时,对原数组增加或删除元素则抛出异常 安全失败(fail-safe)->当需要遍历时先复制一份副本进行遍历,缺点:不能遍历到复制后原数组被修改情况 类定义 继承AbstractList类,实现List,RandomAccess(随机访问),Cloneable(浅复制),Serializable(序列化)接口。 如果仅继承Ab原创 2020-05-15 13:48:03 · 133 阅读 · 0 评论 -
SSM下前后端分离数据交互
SSM下前后端分离数据交互 json交互 后端用@RequestBody注解 用javabean或者map接受 前端需要添加 contentType: “application/json;charset=UTF-8”, JSON.stringify(数据)$.ajax({ url: rootUrl + '/test', dataType: "json", //返回格式为json, content原创 2020-05-10 10:53:39 · 1249 阅读 · 0 评论