自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 ConcurrentHashMap和Hashtable的区别

底层数据结构上的不同:jdk1.7之前ConcurrentHashMap采用的是分段数组+链表的数据结构,jdk1.8采用的数据结构跟jdk1.8的HashMap数据结构一样,都是数组+链表/红黑二叉树的。HashTable和jdk1.8之前的HashMap的数据结构一样,都是数组+链表的数据结构。 实现线程安全方式的不同:jdk1.8之前ConcurrentHashMap采用分段锁的形式实现线程安全。每一把锁只锁容器的一部分数据。多线程访问容器里不同分段的数据不会产生竞争。jdk1.8摒弃了分段的思想,

2021-09-02 21:20:24 171

转载 缓存穿透、缓存击穿、缓存雪崩区别和解决方法

一、缓存处理流程 前台请求,后台先从缓存中取数据,取到直接返回结果,取不到时从数据库中取,数据库取到更新缓存,并返回结果,数据库也没取到,那直接返回空结果。 二、缓存穿透 描述: 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。 解决方案:接口层增加校验,如用户鉴权校验,id做基础校验,id<=0...

2021-08-29 17:28:04 96

转载 spring singleton实例中的变量怎么保证线程安全

pring中管理的bean实例默认情况下是单例的[sigleton类型],就还有prototype类型按其作用域来讲有sigleton,prototype,request,session,global session。spring中的单例与设计模式里面的单例略有不同,设计模式的单例是在整个应用中只有一个实例,而spring中的单例是在一个IoC容器中就只有一个实例。但spring中的单例也不会影响应用的并发访问,【不会出现各个线程之间的等待问题,或是死锁问题】因为大多数时候客户端都在访问我们应用中的业

2021-08-21 22:27:17 269

原创 mysql的事务特性+事务隔离级别+事务锁详解

一、事务四大属性分别是原子性、一致性、隔离性、持久性。1、原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。2、一致性(Consistency)一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。举例来说,假设用户A和用户B两者的钱加起来一共是1000,那么不管A和B之间如何转账、转几次账,事务结

2021-08-21 21:45:57 150

转载 java项目一般监听器有用么_史上最全面“java监听器”解读,读完就能用进项目...

Web监听器导图详解监听器是JAVA Web开发中很重要的内容,其中涉及到的知识,可以参考下面导图:​一、Web监听器什么是web监听器?==============web监听器是一种Servlet中的特殊的类,它们能帮助开发者监听web中的特定事件,比如ServletContext,HttpSession,ServletRequest的创建和销毁;变量的创建、销毁和修改等。可以在某些动作前后增加处理,实现监控。监听器常用的用途============通常使用We..

2021-08-16 14:29:59 313

原创 `符号在sql中的作用

为了防止sql报错。因为sql中有一些保留字,当用户的字段名是它的保留字时,这个时候必须在sql语句中加`,否则sql就会报错。

2021-08-12 11:43:50 869

原创 SpringBoot的单例和多例如何选择

单例多例需要搞明白两个问题: 1. 什么是单例多例; 2. 如何产生单例多例; 3. 为什么要用单例多例 4. 什么时候用单例,什么时候用多例。1、什么是单例多例: 所谓单例就是所有的请求都用一个对象来处理,我们称之为Full模式,比如我们常用的service和dao层的对象通常都是单例的。而多例则指每个请求用一个新的对象来处理,我们称之为Lite模式,比如action;2. 如何产生单例多例: 单例在spring中是默认的,如果要产生多例,则在配置文...

2021-07-28 17:41:43 3691

原创 Linux如何安装jdk

Linux的jdk安装与配置 到https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html下载jdk的Linux版本安装包。 将本地的linux版本jdk上传到linux操作系统(使用scp、ftp工具),在安装包所在位置输入:scp ./jdk安装包root@外网地址:~ 安装,将jdk解压到/opt下:$ sudo tar -xvf jdk.xxx.gz 配置环境变量:$.

2021-06-02 14:17:14 104 2

空空如也

空空如也

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

TA关注的人

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