自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (1)
  • 收藏
  • 关注

转载 关于【缓存穿透、缓存击穿、缓存雪崩、热点数据失效】问题的解决方案

原文:关于【缓存穿透、缓存击穿、缓存雪崩、热点数据失效】问题的解决方案一、前言在我们的平常的项目中多多少少都会使用到缓存,因为一些数据我们没有必要每次查询的时候都去查询到数据库。特别是高 QPS 的系统,每次都去查询数据库,对于你的数据库来说将是灾难。今天我们不牵涉多级缓存的知识,就把系统使用到的缓存方案,不管是一级还是多级的都统称为缓存,主要是为了讲述使用缓存的时候可能会遇到的一些问题以及一些解决办法。我们使用缓存时,我们的业务系统大概的调用流程如下图:当我们查询一条数据时,先去查询缓存,如

2021-04-07 09:38:18 127

转载 Spring事务的7种传播行为

原文:https://blog.csdn.net/weixin_39625809/article/details/80707695一、事务传播行为的定义事务传播行为(propagation behavior)指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。例如:methodA事务方法调用methodB事务方法时,methodB是继续在调用者methodA的事务中运行呢...

2019-12-24 16:49:34 99

转载 CAP定理

原文:http://www.ruanyifeng.com/blog/2018/07/cap.html分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的。分布式系统的最大难点,就是各个节点的状态如何同步。CAP 定理是这方面的基本定理,也是理解分布式系统的起点。一、分布式系统的三个指标它们的第一个字母分别是 C、A、P。Eric Brewer 说...

2019-12-23 22:18:49 85

原创 Redis

引用:https://blog.csdn.net/qq_34337272/article/details/80012284引用:https://blog.csdn.net/qq_35190492/article/details/102958250一、redis 简介简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以读写速度非常快,因此 re...

2019-12-23 18:59:03 101

转载 Forward和Redirect的区别

转载:JAVA常见面试题之Forward和Redirect的区别一、说明用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求,但是用户是感觉不到请求转发的。根据转发方式的不同,可以区分为直接请求转发(Forward)和间接请求转发(Redirect),那么这两种转发方式有何区别呢?本篇在回答该问题的同时全面的讲解两种请求转发方式的原理和区别。二、分析Forward和Redirect代表了两种请求转发方式:直接转发和间接转发。

2021-03-07 12:03:27 112

转载 Nginx中proxy_pass的斜杠问题

转载:Nginx中proxy_pass的斜杠问题Nginx的官网将proxy_pass分为两种类型:一种是只包含IP和端口号的(连端口之后的/也没有,这里要特别注意),比如proxy_pass http://localhost:8080,这种方式称为不带URI方式;另一种是在端口号之后有其他路径的,包含了只有单个/的如proxy_pass http://localhost:8080/,以及其他路径,比如proxy_pass http://localhost:8080/abc。也即:proxy_pass

2021-01-10 16:35:17 282

转载 单工,半双工和全双工有何区别和联系?

转载:https://zhidao.baidu.com/question/58243700.html单工数据传输只支持数据在一个方向上传bai输;在同一时间只有一方能接受或发送信息,不能实现双向通信,举例:电视,广播。半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;在同一时间只可以有一方接受或发送信息,可以实现双向通信。举例:对讲机。全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送

2020-10-29 11:47:07 208

原创 SQL注入

1.SQL注入大家都不陌生,是一种常见的攻击方式。攻击者在界面的表单信息或URL上输入一些奇怪的SQL片段(例如“or ‘1’=’1’”这样的语句),有可能入侵参数检验不足的应用程序。所以,在我们的应用中需要做一些工作,来防备这样的攻击方式。在一些安全性要求很高的应用中(比如银行软件),经常使用将SQL语句全部替换为存储过程这样的方式,来防止SQL注入。这当然是一种很安全的方式,但我们平时开发中,可能不需要这种死板的方式。例:String sql = "select * from user_tabl

2020-09-01 23:15:19 80

转载 Java反射

转载:https://www.cnblogs.com/chanshuyi/p/head_first_of_reflection.html一、定义反射之中包含了一个「反」字,所以想要解释反射就必须先从「正」开始解释。一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化,之后使用这个类对象进行操作。Apple apple = new Apple(); //直接初始化,「正射」apple.setPrice(4);上面这样子进行类对象的初始化,我们可以理解为「

2020-06-16 10:49:20 1571

转载 内存溢出和内存泄漏的区别

转载:https://blog.csdn.net/buutterfly/article/details/6617375内存溢出 out of memory:是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。一个盘子用尽各种方法只能装4个果子,你装了5个,结果掉倒地上不能吃了。这就是溢出!比方说栈,栈满时再做进栈必定产生空间溢出,叫上溢,栈空时再做退栈也产生空间溢出,称为下溢。就是分配的内存不足以

2020-06-15 16:52:27 111

转载 幂等性设计

转载:https://www.cnblogs.com/zxf330301/p/10079997.html一、定义接口的幂等性实际上就是接口可重复调用,在调用方多次调用的情况下,接口最终得到的结果是一致的。有些接口可以天然的实现幂等性,比如查询接口,对于查询来说,你查询一次和两次,对于系统来说,没有任何影响,查出的结果也是一样。除了查询功能具有天然的幂等性之外,增加、更新、删除都要保证幂等性。那么如何来保证幂等性呢?二、实现全局唯一ID如果使用全局唯一ID,就是根据业务的操作和内容生成一个全

2020-06-08 15:58:23 202

转载 Java中的23种设计模式与6大原则(二)

参考:https://www.cnblogs.com/geek6/p/3951677.html参考:https://blog.csdn.net/zhangerqing/article/details/8243942三、行为型模式先来张图,看看这11中模式的关系:第一类:通过父类与子类的关系进行实现。第二类:两个类之间。第三类:类的状态。第四类:通过中间类...

2020-05-20 15:23:40 214

转载 Java中的23种设计模式与6大原则(一)

原文:https://www.cnblogs.com/lspz/p/6859991.htmlJava中的24种设计模式与7大原则一、创建型模式1、抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2、生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造....

2020-05-12 11:22:08 371

原创 Hash索引和BTree索引区别

参考原文:https://blog.csdn.net/superdangbo/article/details/79485724索引是帮助mysql获取数据的数据结构。最常见的索引是Btree索引和Hash索引。不同的引擎对于索引有不同的支持:Innodb和MyISAM默认的索引是Btree索引;而Mermory默认的索引是Hash索引。我们在mysql中常用两种索引算法BTree和Hash,...

2020-05-12 11:21:46 334

转载 为什么重写equals()还需要重写hashCode()

原文:为什么重写equals方法,还必须要重写hashcode方法为什么?是为了提高效率,采取重写hashcode方法,先进行hashcode比较,如果不同,那么就没必要在进行equals的比较了,这样就大大减少了equals比较的次数,这对比需要比较的数量很大的效率提高是很明显的,一个很好的例子就是在集合中的使用;我们都知道java中的List集合是有序的,因此是可以重复的,而set集合是无序的,因此是不能重复的,那么怎么能保证不能被放入重复的元素呢,但靠equals方法一样比较的话,如果原来集合中

2020-05-11 19:17:01 1198 1

原创 SpringBoot要点

启动默认加载我们知道(不知道的就当知道吧,哈哈),springboot启动时会帮我自动配置好很多的默认配置项,并且加载配置类都会写在spring.factories文件中,所以我们这里开始,看看springsecurity做了查找spring.factories文件随后在该配置文件中,文件中都是一些启动时默认加载的类,以spring security为例,查找security,我们可以看到,一共初始化了9个security相关的类,如下:yml文件配置(以spring security为例)S

2020-05-08 18:16:05 112

转载 java泛型通配符详解

转载:https://www.cnblogs.com/minikobe/p/11547220.html前言Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型带来的好处在没有泛型的情况的下,通过对类型 Object 的引用来...

2020-05-08 16:22:27 699

原创 AOP笔记

参考:https://www.jianshu.com/p/2487cb852f0b参考:https://blog.csdn.net/qq_37933685/article/details/81673831说明前置通知[Before advice]:在连接点前面执行,前置通知不会影响连接点的执行,除非此处抛出异常。正常返回通知[After returning advice]:在连接点正常...

2020-04-29 10:02:30 162

转载 数据库三范式

转载:数据库逻辑设计之三大范式通俗理解,一看就懂,书上说的太晦涩一、第一范式1NF是对属性的原子性,要求属性具有原子性,不可再分解;表:字段1、 字段2(字段2.1、字段2.2)、字段3 …如学生(学号,姓名,性别,出生年月日),如果认为最后一列还可以再分成(出生年,出生月,出生日),它就不是一范式了,否则就是;二、第二范式2NF是对记录的惟一性,要求记录有惟一标识,即实体的惟一性,即...

2020-04-25 19:57:46 137

原创 数据库性能

一、说明在mysql中,每个数据库最多可创建20亿个表,一个表允许定义1024列,每行的最大长度为8092字节(不包括文本和图像类型的长度)。当表中定义有varchar、nvarchar或varbinary类型列时,如果向表中插入的数据行超过8092字节时将导致Transact-SQL语句失败,并产生错误信息。二、性能无论是oracle数据库,还是其他什么受市场认可度较高的关系型数据库,都...

2020-04-25 19:04:53 198

转载 Linux常用指令

转载:https://www.cnblogs.com/javastack/p/8796178.htmlls   显示文件或目录 -l 列出文件详细信息l(list),简写ls -l --> ll -a 列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir 创建目录 -p 创建目录,若无父目录,则创建...

2020-03-25 00:08:03 80

原创 HTTP协议知识点

HTTPHTTP无状态协议,是指协议对于交互性场景没有记忆能力。当同一个浏览器再次给你服务器发送请求的时候,服务器并不知道它就是刚才那个浏览器。简单的说,服务器不会记得你,所以就是无状态协议。HTTP请求报文与响应报文格式请求报文包含四部分:请求行:包含请求方法、URI、HTTP版本信息请求首部字段空行空行请求内容实体响应报文包含四部分:状态行:包含HTTP版本、状态...

2020-03-24 21:48:22 264

转载 LinkedHashMap

引用:图解LinkedHashMap原理一、前言LinkedHashMap继承于HashMap,数据结构图:二、详细定义public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>{...}把accessOrder设置为false,这就跟存储的顺序有关了,...

2020-02-11 22:14:08 394

转载 华为:方舟编译器

原文:https://baijiahao.baidu.com/s?id=1632022883273035842&wfr=spider&for=pc前一阵子,华为P30系列发布,最为明显的升级就是相机拍照部分,外加上P20打下的基础,突破了自己,就算是突破了整个行业,然而从长远的眼光看,华为P30的发布带来的拍照提升只是例行升级,真正懂行的人都注意到了华为推出的“方舟编译器”,也看...

2019-09-04 23:00:49 1570

转载 数据库索引和锁

参考:https://blog.csdn.net/puhaiyang/article/details/72284702参考:https://blog.csdn.net/liutong123987/article/details/79384395参考:https://www.cnblogs.com/xianrou/p/6328006.html一、数据库索引MySQL索引的建立对于MySQL...

2019-05-25 16:50:47 267

原创 Spring事务

原文:https://blog.csdn.net/weixin_38070406/article/details/78157603Spring事务:事务逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败.事务特性(4种):原子性 (atomicity):强调事务的不可分割.一致性 (consistency):事务的执行的前后数据的完整性保持一致.隔离性 (iso...

2019-05-25 15:50:00 112

转载 HashMap

参考:https://www.cnblogs.com/skywang12345/p/3310835.html简介哈希表HashMap 是一个散列表(也叫哈希表),它存储的内容是键值对(key-value)映射。HashMap 继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。Warming:HashMap将“key为null...

2019-05-22 20:34:57 108

转载 Thread类

原文:https://www.jianshu.com/p/13addbedc965static Thread currentThread()------- 返回对当前正在执行的线程对象的引用。 long getId()------- 返回该线程的标识符。 String getName()------- 返回该线程的名称。 int getPriority() ------- 返回线程的优先...

2019-05-20 00:05:35 112

转载 JAVA线程的终止

参考:https://www.cnblogs.com/qufanblog/p/3951375.html三种方法使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。使用interrupt方法中断线程。1. 使用退出标志终止线程当run方法执行完...

2019-05-18 23:20:15 67

原创 接口和抽象类的区别

抽象类抽象类不能创建实例,它只能作为父类被继承。抽象类是从多个具体类中抽象出来的父类,它具有更高层次的抽象。从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为其子类的模板,从而避免了子类的随意性。(1) 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法(2) 抽象类不能被实例化(3) 抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为...

2019-05-17 23:01:44 82

转载 Object类

原文:https://blog.csdn.net/k678mh/article/details/8594769Object是所有类的父类,任何类都默认继承Object。Object类到底实现了哪些方法?1.clone方法保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。2.getClass方法...

2019-05-07 23:05:20 78

转载 Spring Bean的生命周期

原文:https://www.cnblogs.com/kenshinobiy/p/4652008.html在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,对单线程的程序说并不会有什么问题,但对于多线程的程序,就...

2019-05-07 15:04:17 66

转载 Java动态代理

关于Jdk代理和Cglib代理,其优缺点主要在于:Jdk代理生成的代理类只有一个,因而其编译速度是非常快的;而由于被代理的目标类是动态传入代理类中的,Jdk代理的执行效率相对来说低一点,这也是Jdk代理被称为动态代理的原因;Cglib代理需要为每个目标类生成相应的子类,因而在实际运行过程中,其可能会生成非常多的子类,过多的子类始终不是太好的,因为这影响了虚拟机编译类的效率;但由于在调用过程中,...

2019-05-07 13:55:08 85

转载 SpringMVC工作流程

原文:https://www.cnblogs.com/jiyukai/p/7629498.html一、SpringMVC简介SpringMVC是一种基于Spring实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想,将web层进行职责解耦,并管理应用所需对象的生命周期,为简化日常开发,提供了很大便利。SpringMVC提供了总开关DispatcherS...

2019-05-06 15:30:11 87

原创 Java类加载

原文:https://www.cnblogs.com/xiaoxian1369/p/5498817.html类加载过程类从被加载到JVM中开始,到卸载为止,整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载七个阶段。其中类加载过程包括加载、验证、准备、解析和初始化五个阶段。类加载器的任务根据一个类的全限定名来读取此类的二进制字节流到JVM中,然后转换为一个与目标类对应的java...

2019-05-05 19:09:27 233

转载 死锁

原文:https://blog.csdn.net/guaiguaihenguai/article/details/80303835死锁概念及产生原理概念:多个并发进程因争夺系统资源而产生相互等待的现象。原理:当一组进程中的每个进程都在等待某个事件发生,而只有这组进程中的其他进程才能触发该事件,这就称这组进程发生了死锁。本质原因: 1)、系统资源有限。 2)、进程推进顺序不合...

2019-05-03 15:03:28 153

原创 JAVA IO、AIO、BIO、NIO知识

原文:https://mp.weixin.qq.com/s/dFumpp1wBO1NWes3AxVBRw假设某银行只有10个职员。该银行的业务流程分为以下4个步骤:1) 顾客填申请表(5分钟);2) 职员审核(1分钟);3) 职员叫保安去金库取钱(3分钟);4) 职员打印票据,并将钱和票据返回给顾客(1分钟)。我们看看银行不同的工作方式对其工作效率到底有何影响。一:BIO方式每来一...

2019-05-03 13:45:32 240

原创 Java知识--零碎

1.&和&&的区别。2.==和equals的区别。3.int和Integer的自动拆箱/装箱相关问题。4.IO和NIO的区别。5.final、finally、finalize的区别。6.重载(Overload)和重写(Override)的区别。7.String、StringBuffer和StringBuilder的区别。8.如何实现浅克隆和深克隆。9.单例模...

2019-05-02 23:19:10 158

转载 线程同步的七种方法

原文:https://www.cnblogs.com/XHJT/p/3897440.html为何要使用同步?java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查),将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用,从而保证了该变量的唯一性和准确性。1.同步方法即有synchronized关键字修饰的方...

2019-05-01 17:57:21 142

原创 JAVA多线程、同步

原文:https://www.cnblogs.com/wxd0108/p/5479442.html原文:https://www.cnblogs.com/zhaoyan001/p/7049627.html原文:https://blog.csdn.net/xiaojin21cen/article/details/81778651概念多线程:指的是这个程序(一个进程)运行时产生了不止一个线程并行...

2019-04-22 23:12:25 199

Aspose.rar

Aspose office文件(word、excel、ppt)转pdf的Java demo,包括jar包和license,亲测可用

2020-06-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除