摘要: HashMap【源码解析】 简介 HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。 JDK1.8 之前 HashMap由数组+链表组成的, 阅读全文
posted @ 2024-07-23 10:59 DAawson 阅读(65) 评论(0) 推荐(0)
摘要: LinkedList【源码解析】 show Diagram 按照上图的内容来看,LinkedList实现了Cloneable、Serializable两个接口,并继承了AbstractSequentialList类。 LinkedList底层实现了双向链表。以下是LinkedList源码。 内部结构 public class Lin 阅读全文
posted @ 2024-07-22 15:35 DAawson 阅读(34) 评论(0) 推荐(0)
摘要: ArrayList【源码解析】 show Diagram 从上图可以看出我们的老朋友ArrayList实现了Cloneable、RandomAccess、Serializable3个接口,并且继承了AbstractList抽象类。 1. Cloneable Cloneable接口是Java中的一个标记接口,它没有任何方法定义,只是 阅读全文
posted @ 2024-07-21 23:28 DAawson 阅读(24) 评论(0) 推荐(0)
摘要: Vue3-slot 描述 为了能在当前组件中使用其他组件中的内容,并且可以改变其他组件中的内容结构。使用的技术就叫做“插槽”。 在某些场景中,我们可能想要为子组件传递一些模板片段,让子组件在它们的组件中渲染这些片段。举例: 子组件<FancyButton/>: <template> <button class="fan 阅读全文
posted @ 2024-07-09 15:55 DAawson 阅读(107) 评论(0) 推荐(0)
摘要: Vue3-组件通信 defineEmits-自定义事件 使用 defineEmits()函数,定义一个事件,比如 send-toy。 触发该事件的条件是,使用@click 调用事件函数,并传入相应的值,如:@click="emit('emit('send-toy',value)')" 以上为子组件中的内容 父组件中,只 阅读全文
posted @ 2024-07-09 11:33 DAawson 阅读(102) 评论(0) 推荐(0)
摘要: Redis(击穿、穿透、雪崩) 缓存击穿 问题描述:客户端在服务端访问热点数据,服务端访问缓存数据,而缓存数据并不存在,或者已经过期。导致大量的客户端去访问了MySQL数据库。 图1【缓存击穿】 解决方案: 互斥锁:使用了redis中的setnx方法实现了互斥锁,只允许一条线程去访问数据库,并把数据带出,再次刷新redis中的数据 阅读全文
posted @ 2024-06-28 17:22 DAawson 阅读(59) 评论(0) 推荐(0)
摘要: IDEA创建Java项目的初始配置 第一步,新建项目打开settings 第二步,设置Java Compiler 第三步,设置项目文件和编码 第四步,设置Maven仓库位置 阅读全文
posted @ 2024-06-26 17:20 DAawson 阅读(75) 评论(0) 推荐(0)
摘要: Java多线程 线程的定义 Java线程是Java编程语言中的执行单元。在Java中,线程可以看作是轻量级的进程,它独立运行,具有自己的执行路径。 线程的原理 Java线程的实现基于操作系统的线程模型,但Java虚拟机(JVM)对线程的管理和调度做了封装和优化,使得Java线程更加可控和可靠。下面是Java线程的一 阅读全文
posted @ 2024-06-03 15:31 DAawson 阅读(63) 评论(0) 推荐(0)
摘要: Java容器集合 简单示意图 详细示意图 ArrayList 和 LinkedList 区别 ArrayList(默认size为10) 是实现了基于动态数组的数据结构,LinkedList 基于双向链表的数据结构。 对于随机访问 get 和 set,ArrayList 效率优于 LinkedList,因为 Linke 阅读全文
posted @ 2024-05-30 21:08 DAawson 阅读(22) 评论(0) 推荐(0)
摘要: JDK8新特性 《Lambda表达式》 一、为什么要使用Lambda表达式 避免匿名内部类定义过多 让代码看起来简洁 去掉多余没有意义的代码 留下核心逻辑 Lambda是在JDK1.8中产生的 二、理解Functional Interface(函数式接口) 函数式接口是学习Java8 lambda表达式的关键所在 阅读全文
posted @ 2024-05-30 16:12 DAawson 阅读(103) 评论(0) 推荐(0)