自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BeanFactory与FactoryBean的区别

https://zhuanlan.zhihu.com/p/87382038

2020-08-20 15:29:03 115

原创 深入了解 AQS

https://segmentfault.com/a/1190000017372067

2020-07-27 21:00:57 88

原创 初学Redis+布隆盾

https://www.bilibili.com/video/av53985987/

2020-07-11 17:09:16 114

原创 hashMap底层详解

转载:https://zhuanlan.zhihu.com/p/28501879https://zhuanlan.zhihu.com/p/28587782

2020-05-18 16:23:42 118

原创 spring boot 动态改变定时时间

package com.rkt.demo.Task;import com.rkt.demo.dao.MyDao;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Configuration;import org.spring...

2020-03-13 15:04:32 196

原创 简单例子理解主键,索引,聚集索引,复合索引,非聚合索引

测试数据以及表结构一、 创建主键(主键=主键索引=聚集索引)主键是什么?答:拿主键可以唯一确定一条数据,它和物理存储排序一致,不能为空,一个表只能有一个。原本没有创建的主键的表在磁盘上存储为:Id=0;username=username0;sex=男;address=浙江;Id=1;username=username1;sex=女;address=北京;Id=2;username...

2020-03-10 15:47:18 913

原创 一个简单例子初步了解主键、索引、sql优化的重要性

测试数据:条数100W,查询目标数据只有一条,选取的数据为所有数据的中间数据,为了公正。在进行操作时没有增加进程初学者可以纵向、横向比较一、未加主键、未加索引select * from myindex where username like ‘username500000%’456 458 456 454 464 466 456 457 460 458 平均458msselec...

2020-03-09 17:14:03 160

原创 Java-观察者模式简单例子

一、自定义观察者模式需要subject类 (一)以及Observer类(多)subject 主要功能是接收数据以及通知变更观察者(Observer)。observer 主要功能是接收变更后的数据,一定实现update接口。核心:subject管理所有观察者,当数据变更时通知所用观察者(就是调用update)subject接口类:public interface ISubject { ...

2020-02-04 12:05:46 615

原创 多重if判断简单优化

一、最笨重的维护看起来很难受public class Test { private static String getPrice(String fruit) { if ("梨".equals(fruit)) { return "梨价格"; } else if ("苹果".equals(fruit)) { ...

2020-01-20 16:48:57 2152

原创 设计模式收录

参考文献:http://c.biancheng.net/design_pattern/

2020-01-20 14:27:25 80

原创 redis 持久化机制+缓存雪崩、击穿、穿透

目前redis作为比较流行的缓存框架,为开发这提供高效稳定快速的数据缓存方案,但是redis不能无限制的将数据放到内存中,遇到服务器宕机,那么缓存中的所有数据将丢失,那么为了避免这种情况redis提供了两种方式做持久化将数据存储到硬盘,一种是RDB 一种是AOF。RDB也称为快照,就是当达到一定的条件时将内存中的整个数据全部写到磁盘存储,整个过程redis服务器内部需要将缓存的数据进行格式化处理...

2020-01-19 09:59:38 225

原创 Redis与数据库的数据一致性解决方案

我们该如何保证Redis与数据库的一致性呢?更新的时候,先更新数据库,然后再删除缓存。读的时候,先读缓存;如果没有的话,就读数据库,同时将数据放入缓存,并返回响应。乍一看,一致性问题貌似很好的得到了解决。但仔细一想,你会发现还是有问题:如果先更新了数据库,删除缓存的时候失败了怎么办?那么数据库中是新数据,缓存中是老数据,数据出现不一致了。改进方案:先删除缓存,后更新数据库。因为即使后面更...

2020-01-16 17:15:42 2436 1

原创 互斥锁(包括其中的自旋锁)、读写锁的介绍

读写锁特点:读写锁有三种状态:读加锁状态、写加锁状态和不加锁状态只有一个线程可以占有写状态的锁,但可以有多个线程同时占有读状态锁,这也是它可以实现高并发的原因。当其处于写状态锁下,任何想要尝试获得锁的线程都会被阻塞,直到写状态锁被释放;如果是处于读状态锁下,允许其它线程获得它的读状态锁,但是不允许获得它的写状态锁,直到所有线程的读状态锁被释放;为了避免想要尝试写操作的线程一直得不到写状态锁,当...

2020-01-16 16:34:35 195

原创 乐观锁悲观锁 随行笔记

悲观锁和乐观锁是一种思想悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中synchronized和ReentrantLo...

2020-01-16 15:55:23 72

原创 GC清理机制 随行笔记

1.标记-清除:当堆中的有效内存空间被耗尽的时候,就会停止整个程序,然后进行两项工作,第一项是标记,第二项是清除。标记:遍历所有的GC Roots,然后将GC Roots可达的对象标记为存活的对象。清除:清除的过程将遍历对中所有的对象,将没有标记的对象全部清除掉。缺点:效率不高,标记和清除的效率都很低;会产生大量不连续的内存碎片,导致以后程序在分配较大的对象时,由于没有充足的连续内存而提...

2020-01-16 15:36:33 253

原创 JVM内存模型 随行笔记

JVM内存模型:堆、方法区、本地方法区、虚拟机栈、程序计数器堆:线程共享区域,是jvm管理的最大一块内存,几乎所有的对象实例都在heap中分配方法区:线程共享区域,用来存储已被虚拟机加载的类信息、常量、静态变量、编译后的代码,运行时常量池等数据。平时通过反射获取到的类型、方法名、字段名称、访问修饰符等信息就是从方法区获取到的虚拟机栈**:虚拟机栈是线程独享的,存储每个线程中运行的各个方法...

2020-01-15 22:38:44 116

原创 LocalDateTime 随行笔记

public class Subject {private static DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern(“yyyy-MM-dd HH:mm:ss”);public static void main(String[] args) {LocalDateTime currentDateTime = LocalDa...

2020-01-15 10:57:07 561

空空如也

空空如也

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

TA关注的人

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