
java
文章平均质量分 80
yznl!
即使再小的帆也能远航!
展开
-
AOP+责任链
自定义注解进行安全检查import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * @description: 安全检查 */@Target(ElementType.METHOD)@Retention(RetentionPo.原创 2022-03-22 14:17:22 · 321 阅读 · 1 评论 -
SpringBoot 集成 ShedLock (基于mysql)
目录ShedLock 简介代码数据库mavenyaml配置/任务SchedulerLock注解说明ShedLock 简介Shedlock从严格意义上来说,并不是一个分布式任务调度框架,设计的初衷也不是作为一个调度框架,而是一种分布式锁。所谓的分布式锁,解决的核心问题就是各个节点中无法通信的痛点。 各个节点并不知道这个定时任务有没有被其他节点的定时器执行,所以理论上只需要有一个各个节点都能够访问到的资源,用这个资源去标记这个定时任务有没有执行就可以了。ShedLock是一个在分布式环境中使用的定时任务框架原创 2022-02-09 17:09:46 · 1067 阅读 · 1 评论 -
etcd中Raft协议
文章目录前言Raft协议Leader选举日志复制前言文章内容来自:《etcd技术内幕》 — 百里燊,感兴趣的读者可以去读一下。Paxos 算法和 Raft 算法:Paxos 算法诞生于 1990 年,这是一种解决分布式系统一致性的经典算法 。但是,由于 Paxos 算法非常难以理解和实现,不断有人尝试简化这一算法。到了2013 年才诞生了一个比 Paxos 算法更易理解和实现的分布式一致性算法—Raft 算法。Raft协议在正式开始介绍 Raft 协议之间,我们有必要简单介绍一下其相关概念。在分原创 2022-01-24 16:43:56 · 2970 阅读 · 0 评论 -
硬连接和软连接
硬连接和软连接参考博客链接文件系统简述硬连接软连接二者区别参考博客(整合)关于硬链接和软连接的区别(java)软连接_软连接与硬链接区别链接链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。文件系统简述文件系统简述:linux的哲学就是一切皆文件。为了方便人们的使用,我们可以通过看文件名来区分不同的文件。但作为只识别0 1 的机器,让它转载 2021-12-29 11:10:26 · 1006 阅读 · 0 评论 -
五种基本单例模式
目录标题模式简介饿汉式懒汉式懒汉式(双重检验锁)静态内部类枚举类型模式简介单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。许多时候整个系统只需要拥有一个的全原创 2021-01-29 16:14:28 · 1322 阅读 · 2 评论 -
三种工厂模式详述
目录标题工厂模式概述简单工厂模式工厂方法模式抽象工厂模式工厂模式概述工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。何时使用:工厂模式将创建和使用分离,使用者不需要知道具体的创建过程,只需要使用原创 2021-01-29 15:14:53 · 648 阅读 · 0 评论 -
ArrayList与LinkedList集合实现简单HashMap
目录equals和hashCode()ArrayListLinkedListequals和hashCode()在介绍ArrayList和LinkedList来实现基本的HashMap中的存储,我们有必要介绍一下equals()和hashCode()之间的区别1.equal()相等的两个对象他们的hashCode()肯定相等,也就是用equal()对比是绝对可靠的。2.hashCode()相等的两个对象他们的equal()不一定相等,也就是hashCode()不是绝对可靠的。我们来看一个简单的例子:原创 2021-01-23 00:14:35 · 240 阅读 · 2 评论 -
Java的深拷贝与浅拷贝的几种方式
文章目录1、介绍2、浅拷贝3、深拷贝4、深拷贝和浅拷贝的区别5、浅拷贝的实现6、深拷贝的实现1、介绍关于Java的深拷贝和浅拷贝,简单来说就是创建一个和已知对象一模一样的对象。可能日常编码过程中用的不多,但是这是一个面试经常会问的问题,而且了解深拷贝和浅拷贝的原理,对于Java中的所谓值传递或者引用传递将会有更深的理解。2、浅拷贝浅拷贝就是获得拷贝对象的引用,而不是正真意义上的拷贝一个对象,例如 A a = new A(); A b = a;此时引用变量a和b 同时指向了同一个堆原创 2021-01-21 16:38:32 · 1290 阅读 · 5 评论