首页 / 作者AUTHOR / SPRINGFORALL

hello

记录技术探索,分享实践心得。

共 1900 篇文章

Java ArrayList 介绍

ArrayList 简介 ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用 ensureCapacity 操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。 ArrayList 继承于 AbstractList ,实现了 List ,…

Java ArrayBlockingQueue 介绍(一)

阻塞队列简介 阻塞队列的历史 Java 阻塞队列的历史可以追溯到 JDK1.5 版本,当时 Java 平台增加了 java.util.concurrent ,即我们常说的 JUC 包,其中包含了各种并发流程控制工具、并发容器、原子类等。这其中自然也包含了我们这篇文章所讨论的阻塞队列。 为了解决高并发场景下多线程之间数据共享的问题,JDK1.5 版本中出现了…

Java HashMap 介绍

HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的 Map 接口实现,是常用的 Java 集合之一,是非线程安全的。 HashMap 可以存储 null 的 key 和 value,但 null 作为键只能有一个,null 作为值可以有多个 JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap…

推荐三款好用的VS Code插件:美化注释、可视化数据结构、AI辅助

周末了,分享点轻松的!给大家推荐3款最近看到的两款优质的VS Code插件。 Better Comments Better Comments是一个让你的注释变得更加清晰的插件。 该插件可以方便的为不同注释做分类,也支持自定义分类。非常有助于在注释中记录和查看不同级别的信息。 GitHub Copilot 公认的目前最强AI辅助编码工具。…

Java SPI 介绍

面向对象设计鼓励模块间基于接口而非具体实现编程,以降低模块间的耦合,遵循依赖倒置原则,并支持开闭原则(对扩展开放,对修改封闭)。然而,直接依赖具体实现会导致在替换实现时需要修改代码,违背了开闭原则。为了解决这个问题,SPI…

Java Syntactic Sugar 介绍

本文从 Java 编译原理角度,深入字节码及 class 文件,抽丝剥茧,了解 Java 中的语法糖原理及用法,帮助大家在学会如何使用 Java 语法糖的同时,了解这些语法糖背后的原理。 什么是语法糖? 语法糖(Syntactic Sugar) 也称糖衣语法,是英国计算机学家 Peter.J.Landin…

Java 值传递介绍

开始之前,我们先来搞懂下面这两个概念: 形参&实参 值传递&引用传递 形参&实参 方法的定义可能会用到 参数 (有参的方法),参数在程序语言中分为: 实参(实际参数,Arguments) :用于传递给函数/方法的参数,必须有确定的值。 形参(形式参数,Parameters) :用于定义函数/方法,接收实参,不需要有确定的值。 String hello =…

Java 魔法类 Unsafe 介绍(一)

阅读过 JUC 源码的同学,一定会发现很多并发工具类都调用了一个叫做 Unsafe 的类。 那这个类主要是用来干什么的呢?有什么使用场景呢?这篇文章就带你搞清楚! Unsafe 介绍 Unsafe 是位于 sun.misc 包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升 Java…

一文彻底弄懂MySQL的各个存储引擎,InnoDB、MyISAM

MySQL 中的存储引擎是其数据库管理系统的核心模块,用于处理不同类型的数据存储和检索操作。每种存储引擎都有自己的特点,适用于不同类型的应用场景。MySQL 最常用的存储引擎包括 InnoDB 、 MyISAM 、 Memory 、 CSV 、 Archive 、 Merge 、 Federated 、 NDB 等。以下是对 MySQL…