Java学习
文章平均质量分 94
Tamayo0914
这个作者很懒,什么都没留下…
展开
-
自定义日志注解Log实现 - SpringAop的实际应用
本篇文章教给大家自定义日志注解功能的实现,主要技术核心是Spring-AOP。原创 2023-04-23 09:49:43 · 1068 阅读 · 1 评论 -
Java后端开发中验证码的实现以及Kaptcha类的详细配置介绍
验证码的本质是{id, key, value}的形式,对于不同的目标提供不同的子集内容,借助Redis的过期时间可以很好的管理验证码的有效时间。除此之外,也可以在Controller中自行设计Map容器用于代替Redis。思路如下:Map的Key仍为uuid的某种形式,Value则封装POJO。// 有效期3分钟 endTime . setTime(createTime . getTime() + 1000 * 60 * 3);} }原创 2023-03-26 17:58:57 · 4819 阅读 · 0 评论 -
AQS入门理解
一、什么是AQS1. AQS的定义AQS 的全称为 AbstractQueuedSynchronizer ,中文译为抽象队列式同步器。这个类在 java.util.concurrent.locks 包下面。这个抽象类对于JUC并发包非常重要,JUC包中的 ReentrantLock,Semaphore,ReentrantReadWriteLock,CountDownLatch 等等几乎所有的类都是基于AQS实现的。2. AQS的原理/思想如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工原创 2022-05-06 18:51:17 · 527 阅读 · 0 评论 -
看完这个文章就可以对 ArrayList 有自己的见解了
ArrayList 也是我们在写代码的过程中很常使用的一种集合类。让大家从使用易操作的数组变成使用 ArrayList 的缘由我想应该是 add 方法,能够“无忧无虑”的向 ArrayList 里存放数据,还能像数组一样用“下标”和 get 方法获得数据。那么这篇文章就对 ArrayList 这个集合类做一次简单的理解吧。一、定义先来看看这个类的作者 Josh Bloch 和 Neal Gafter 是怎么描述他们的作品的:Resizable-array implementation of the原创 2022-05-05 18:52:44 · 547 阅读 · 0 评论 -
一文理解基于MD5的URL短地址处理
在 LeetCode 上有这么一个题:设计一个 TinyURL 的加密 encode 和解密 decode 的方法。你的加密和解密算法如何设计和运作是没有限制的,你只需要保证一个URL可以被加密成一个TinyURL,并且这个TinyURL可以用解密方法恢复成原本的URL。这个题一般来说最简单的做法就是直接给传入的 url 生成一个标识符然后存到哈希表里,然后用标识符再从哈希表取出来。官方的题解1正是如此:public class Codec { Map<Integer, String原创 2022-05-04 20:39:51 · 1665 阅读 · 0 评论 -
从数据结构的角度来看Mysql为什么使用B+树
Mysql数据库为什么使用B+树作为索引?这篇文章我们不鼓吹B+树的优点,我们从数据结构上来看这个问题。一、数据结构数据结构大致可以分为两种 —— 线性结构 和 非线性结构。1. 线性结构线性结构包括:数组、链表、哈希表、栈、队列 等等2. 非线性结构非线性结构包括:树、图还有例如 跳表 之类的其他的数据结构,也都是从基础数据结构演化出来的,用来解决指定的场景问题。二、索引的数据结构我们先把记忆中的 Mysql的索引是使用B+树做的,因为B+树有 xxx 的优点 抹去,没有人在开发的时候就原创 2022-05-01 18:49:16 · 2059 阅读 · 0 评论 -
一文带你入门B树和B+树
B树和B+树,其实在各大论坛平台上总会看到这两个东西。但是他们说的又有种“高手云集”的感觉 —— 他们都会,就我不会,连插嘴的功夫都没有。这篇文章就来简单的讲解一下B树和B+树,下次再遇见这种话题,也不用再尴尬窘迫了。在解读这两个树之前呢,先解释一下 B-树 这个东西。其实很多人不敢去了解 B树 的有关内容,为什么呢,一打听这个东西,就有什么 B-树、B树、B+树 ,3个东西!太多了!实际上不是这样。现在打开百度百科搜索 B树 ,你就会发现,百度百科会直接跳转到 B-树 里。什么意思呢,没错,没有原创 2022-05-01 17:11:59 · 621 阅读 · 0 评论 -
Java的垃圾回收机制
写在前面:在浏览了大量了面试经历之后发现,其实在 JVM 这个模块考察的最多的就是垃圾回收机制。所以写此文来学习一下有关的内容。原创 2022-04-30 11:44:54 · 983 阅读 · 0 评论 -
从类加载开始学习类加载器的内容
本篇文章将以类加载为起点,阐述类加载器的有关内容。一、类加载1. 类加载的方式类的加载有 3 种方式,分别是:1.1 使用new关键字创建属于隐式加载,也叫静态加载。在运行的时候使用 new 关键字,如下:Room room = new Room();1.2 调用forName()方法属于显式加载,也叫动态加载。最常见的是数据库的链接。通过反射加载类型,并创建加载示例。Class cl = Class.forName("Room");Object room = cl.newInst.原创 2022-04-29 19:06:18 · 173 阅读 · 0 评论