![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 75
努力学习的小飞侠
这个作者很懒,什么都没留下…
展开
-
基于JWT登录思维导图
原创 2024-03-18 16:07:12 · 119 阅读 · 0 评论 -
Java之NIO思维导图
原创 2024-03-17 22:55:00 · 359 阅读 · 0 评论 -
ConcurrentHashMap详解
Java 7 中的存储结构如上图,由很多个Segment组合,而每一个Segment是一个类似于HashMap的结构,所以每一个HashMap的内部可以进行扩容。但是Segment的个数一旦,默认Segment的个数是 16 个,你也可以认为默认支持最多 16 个线程并发。不难看出,ConcurrentHashMap采用了的方式,,而。为什么要用二次hash,主要原因是为了构造分离锁,使得对于map的修改不会锁住整个容器,提高并发能力。原创 2024-02-16 18:22:08 · 1136 阅读 · 0 评论 -
Java序列化
比较常用的序列化协议有 Hessian、Kryo、Protobuf、ProtoStuff,这些都是基于二进制的序列化协议。另外,Kryo 已经是一种非常成熟的序列化实现了,已经在 Twitter、Groupon、Yahoo 以及多个著名开源项目(如 Hive、Storm)中广泛的使用。Kryo 是一个高性能的序列化/反序列化工具,由于其变长存储特性并使用了字节码生成机制,拥有较高的运行速度和较小的字节码体积。Java对象是运行在JVM的堆内存中的,如果JVM停止后,它的生命也就戛然而止。原创 2024-01-24 10:50:46 · 450 阅读 · 0 评论 -
Java NIO
在传统的 Java I/O 模型(BIO)中,I/O 操作是以阻塞的方式进行的。也就是说,当一个线程执行一个 I/O 操作时,它会被阻塞直到操作完成。这种阻塞模型在处理多个并发连接时可能会导致性能瓶颈,因为需要为每个连接创建一个线程,而线程的创建和切换都是有开销的。为了解决这个问题,在 Java1.4 版本引入了一种新的 I/O 模型 —NIO(New IO,也称为 Non-blocking IO)。NIO 弥补了同步阻塞 I/O 的不足,它在标准 Java 代码中提供了。原创 2024-01-23 09:31:54 · 1016 阅读 · 0 评论 -
Java动态代理
提到代理我们会想到设计模式中有代理模式,我们先了解代理模式是什么?原创 2024-01-23 09:31:03 · 877 阅读 · 0 评论 -
Java反射机制
• 在 Java 的日常应用程序开发中,类的加载几乎是由上述 3 种类加载器相互配合执行的。在必要时,我们还可以自定义类加载器,来定制类的加载方式。• 体现 Java 语言强大生命力和巨大魅力的关键因素之一便是,Java 开发者可以自定义类加载器来实现类库的动态加载,加载源可以是本地的 JAR 包,也可以是网络上的远程资源。• 同时,自定义加载器能够实现应用隔离,例如 Tomcat,Spring 等中间件和组件框架都在内部实现了自定义的加载器,并通过自定义加载器隔离不同的组件模块。原创 2024-01-22 15:10:36 · 457 阅读 · 0 评论 -
Java线程的创建流程
什么是进程?操作系统会系统资源(),进程是。当一个程序被运行,从磁盘,这时就。什么是线程?线程,有时被称为,是操作系统。是进程中的,一个进程可以拥有。一个就是一个,将指令流中的一条条指令以一定的顺序交给 CPU 执行。线程的生命周期。原创 2023-12-24 13:25:12 · 402 阅读 · 0 评论 -
Java之HashMap核心源码解读
HashMap 主要用来,它,是,是的。HashMap可以存储 null 的 key 和 value,但 null 作为键只能有一个,null 作为值可以有多个JDK1.8 之前 HashMap 由组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突而存在的(“”解决冲突)。JDK1.8 以后的HashMap。原创 2023-12-23 04:01:20 · 838 阅读 · 0 评论 -
Java之LinkedList核心源码解读
LinkedList是一个基于实现的集合类,经常被拿来和ArrayList做比较。原创 2023-12-23 03:30:21 · 1658 阅读 · 0 评论 -
Java之ArrayList源码解读
ArrayList的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用操作来增加ArrayList实例的容量。这可以减少递增式再分配的数量。ArrayList继承于,实现了ListCloneable这些接口。: 表明它是一个列表,支持添加、删除、查找等操作,并且可以通过下标进行访问。:这是一个标志接口,表明实现这个接口的List集合是支持的。在ArrayList中,我们即可以通过元素的序号快速获取元素对象,这就是快速随机访问。原创 2023-12-23 03:29:46 · 878 阅读 · 0 评论