hash 算法(下): hash 算法在分布式系统中有哪些应用? 发表于 2020-07-21 | 分类于 数据结构与算法之美 | 0 | 阅读次数 242 hash算法在分布式系统中的应用主要有三种:负载均衡,数据分片,分布式存储.负载均衡我们知道,负载均衡算法有很多,比如轮询,随机,加权轮询等.那如何才能实现一个会话粘滞(sessionsticky)的负载均衡算法呢?也就是说,我们要在同一个客户端上,在一次会话中的所有请求都路由到同一个服务器上.最直 阅读全文 »
hash 算法(上): 如何防止数据库中的用户信息被脱库 发表于 2020-07-19 | 分类于 数据结构与算法之美 | 0 | 阅读次数 266 带着问题学习:如何防止数据库中的用户信息被脱库:你会如何存储用户密码这么重要的数据?仅仅MD5加密一下存储就够了吗?在实际开发中,我们应该如何用hash算法解决问题?一.什么是hash算法1.定义将任意长度的二进制值串映射成固定长度的二进制值串,这个映射的规则是hash算法,而通过原始数据映射之后得 阅读全文 »
为什么散列表和链表经常会一起使用 发表于 2020-07-17 | 分类于 java 基础 | 0 | 阅读次数 204 散列表和链表,经常会被放在一起使用.借助散列表,我们可以把LRU缓存淘汰算法的时间复杂度降低为O(1).我们需要维护一个按照访问时间从大到小有序排列的链表结构.因为缓存大小有限,存空间不够,需要淘汰一个数据的时候,我们就直接将表头的节点删除.当要缓存某个数据的时候,先在链表中查找这个数据,如果没有找 阅读全文 »
JUC 之 CopyOnWriteArrayList 发表于 2020-06-29 | 分类于 java 基础 | 0 | 阅读次数 226 之前我写过一篇HashMap在并发下造成的问题的博客,里面提到了ConcurrentHashMap的一些知识,大家对于线程安全的容器,可能最熟悉的就是ConcurrentHashMap了,因为这个容器在面试时会经常被问到.举个面试的例子:面试官:HashMap是线程安全的吗,如果线程不安全的话,那有 阅读全文 »
Synchronized 和 ReentrantLock 的区别 发表于 2020-06-29 | 分类于 java 基础 | 0 | 阅读次数 272 Java中获取互斥锁的传统方式是使用synchronized关键字,但是Java5添加了新的锁实现,比如ReentrantLock和ReentrantReadWriteLock,它们提供了锁的扩展操作功能.ReentrantLockVsSynchronized它们都是同步锁,也就是说当如果一个线程获 阅读全文 »
@Transactional 失效的几种场景及原理分析 发表于 2020-06-07 | 分类于 java 基础 | 0 | 阅读次数 362 事务管理是应用系统开发中不可或缺的一部分.Spring事务管理分为编码式和声明式事务两种.编码式事务是指通过编码方式实现事务,编码式事务很不友好,非业务代码在业务系统里面遍地开发,不利于维护和管理;声明式事务是基于AOP,将具体的业务逻辑和事务处理解耦.声明式事务使得业务代码逻辑不受污染,因此在实际 阅读全文 »
号称开箱即用的 Spring Boot, 到底替我们做了些什么 发表于 2020-05-31 | 分类于 Spring Boot | 0 | 阅读次数 309 一.SpringBoot,SpringMVC,Spring之间的区别Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架.Spring使你能够编写更干净,更可管理,并且更易于测试的代码.SpringMVC是Spring的一个模块,一个web框架.通过DispatcherServ 阅读全文 »
创建型模式之工厂模式 发表于 2020-05-23 | 分类于 设计模式 | 0 | 阅读次数 405 工厂方法模式(FactoryMethod)是一种创建型设计模式,它在父类中提供一个创建对象的方法,允许自雷决定实例化对象的类型.工厂方法分类工厂方法细分可分为简单工厂,工厂方法和抽象方法,不过,在Gof的设计模式书中,他将简单工厂看作是工厂方法模式的一种特例,所以工厂模式只被分成了工厂方法和抽象方法 阅读全文 »
在 centos 7 上 手动安装 mysql 发表于 2020-05-14 | 分类于 linux | 0 | 阅读次数 343 查看系统版本cat/etc/redhat-release删除软件包sudoyumremovemariadbmariadb-server删除configfilesudorm-rf/etc/my.cnf/etc/my.cnf.d添加mysql8.0依赖源cd/usr/local/srcsudowgeth 阅读全文 »
jdk 8 获取 昨天的最大和最小时间 发表于 2020-05-12 | 分类于 java 基础 | 0 | 阅读次数 303 //昨天的开始时间和结束时间LocalDateTimestartTime=LocalDateTime.of(LocalDate.now().plusDays(-1),LocalTime.MIN);System.out.println(startTime);LocalDateTimeendTime=L 阅读全文 »