旅途

用汗水浇注成长的旅途,用细流汇聚浩荡的大河

Redis集群方案整理

方案汇总 主从模式(master/slaver) sentinel模式 cluster模式 一、主从模式(master/slaver) 1、主从模式的必要性 备份数据,这样当一个节点损坏(指不可恢复的硬件损坏)时,数据因为有备份,可以方便恢复。 负载均衡,所有客户端都访问一个节点肯定会影响R...

2019-07-16 13:16:57

阅读数 321

评论数 0

Redis缓存穿透、缓存雪崩、缓存并发竞争

一、缓存击穿问题 缓存击穿表示恶意用户模拟请求很多缓存中不存在的数据,由于缓存中都没有,导致这些请求短时间内直接落在了数据库上,导致数据库异常。比如有些抢购活动、秒杀活动的接口API被大量的恶意用户刷,导致短时间内数据库超时了,好在数据库是读写分离,同时也有进行接口限流,hold住了。 方案1、使...

2019-07-15 23:51:43

阅读数 377

评论数 0

redis的持久化

一、为什么需要持久化 使用redis时,把许多重要的数据都存储在内存中,如果突然断电,岂不是很糟糕,于是就有了数据的持久化机制,这个其实就是把内存中的数据存储到硬盘中,方便数据的持续存在,也可以减少断电造成的损失。 二、持久化方式有哪些 那么我们怎么持久化数据呢?多长时间进行一次持久化呢? red...

2019-07-14 22:06:51

阅读数 213

评论数 0

redis的淘汰策略

1、问题引入—— MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据(redis有哪些数据淘汰策略???) 说明:redis内存数据集大小上升到一定大小的时候,就会实行数据淘汰策略(回收策略)。 redis提供6种数据淘汰策略: 1、volatil...

2019-07-14 21:45:07

阅读数 310

评论数 0

乐观锁与悲观锁

一、乐观锁 总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS操作实现。 版本号机制:一般是在数据表中加上一个数据版本号version字段,表示数据被修改的次数,当数...

2019-07-14 14:54:21

阅读数 136

评论数 0

BIO与NIO、AIO的区别

IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。 一、BIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程...

2019-07-14 00:43:45

阅读数 7

评论数 0

同步、异步、阻塞、非阻塞

一、概念理解 同步与异步 同步与异步是针对应用程序与内核的交互而言的。 同步过程中,进程触发IO操作并等待或者轮询的去查看IO操作是否完成。 异步过程中,进程触发IO操作以后,直接返回,做自己的事情,IO交给内核来处理,完成后内核通知进程IO完成。 阻塞与非阻塞 应用进程请求I/O操作时,...

2019-07-14 00:17:01

阅读数 2

评论数 0

linux查询CPU等命令

uname -a # 查看内核/操作系统/CPU信息的linux系统信息 head -n l /etc/issue # 查看操作系统版本 cat /proc/cpuinfo # 查看CPU信息 hostname # 查看计算机名的linux系统信息命令 lspci -tv # 列出...

2019-07-12 14:23:45

阅读数 3

评论数 0

MySQL表设计之索引

一、MySQL中的索引分类: MySQL目前主要有以下几种索引类型: 1.普通索引(index) 2.唯一索引(unique) 3.主键索引(primary key) 4.组合索引 5.全文索引 (fullText) 二、多个单列索引和联合索引的区别 https://blog.csdn.net/A...

2019-07-10 23:57:07

阅读数 4

评论数 0

UML——员工请假状态转换图

一、背景: 有一位小伙近来去面试,共有4道题目,都是设计题。其中,一道题目是:请描述一下员工请假的业务流程和画出状态转换图,并做必要的文字描述,总字数不超过400字。突然脑子空白,哈,大三UML课程不好好学,说实话,现在还真后悔的。争取马上补起来吧 ~_~ 二、基本概述 状态机图描述的是围绕某一事...

2019-07-09 23:59:54

阅读数 5

评论数 0

String的一些比较

一、几个例子 1、Demo1 (1)实例代码: public class Main { public static void main(String[] args) { String a = "123"; String b = "...

2019-07-07 00:30:10

阅读数 295

评论数 0

多线程实战例子

一、实战链接 https://blog.csdn.net/qq_27093465/article/details/76066882

2019-07-06 22:42:40

阅读数 34

评论数 0

java中的代理模式

一、三种代理模式 静态代理 动态代理(或JDK代理、接口代理) Cglib代理

2019-07-06 00:11:14

阅读数 1057

评论数 0

java7用法之try-with-resources

一、入门背景 近来公司安全工程师利用VCG漏洞扫描工具,对开发接近尾声的项目进行安全扫描。长长扫描结果列表,对于java服务端的程序员真是一件苦差事。为什么呢?因为这个工具会出现扫描误报情况,比如try-with-resources用法对应代码没有finally语句块,结果是处处报standard...

2019-07-04 00:23:08

阅读数 544

评论数 0

轻松入门枚举类Enum源码

一、源码解读 public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializable { /** ...

2019-06-29 17:43:00

阅读数 15

评论数 0

MySQL表结构字段查询

一、关于mysql内置数据库 1. 概述 information_schema 数据库跟 performance_schema 一样,都是 MySQL 自带的信息数据库。其中 performance_schema 用于性能分析,而 information_schema 用于存储数据库元数据(关于数...

2019-06-27 17:12:26

阅读数 230

评论数 0

带你轻松解读Integer自动装箱源码

一、最近总结 最近这几天不用加班,时间比较多,在微信读书阅读《编写高质量代码-改善Java程序的151个建议》这本书,截止现在读到5%左右,给我的感觉就是干货满满,作者以他丰富的经验,解决问题之后的智慧,让读者收益匪浅呀=-= 二、抛砖引玉 1、请看下面程序,智慧的你,请在控制台分次输入:127、...

2019-06-24 21:40:00

阅读数 3860

评论数 0

Linux命令_cat

一、说明 说明:cat 命令用于连接文件并打印到标准输出设备上 使用:所有使用者都可以使用 格式:cat [-AbeEnstTuv] [--help] [--version] fileName 参数: -n 或 --number:由 1 开始对所有输出的行数编号。 -b 或 --number-n...

2019-06-23 23:38:47

阅读数 490

评论数 0

Java Map接口源码解析

在平时工作之中,有一些java的用法知道个大概,却没有将一些接口或者类的源码进行阅读,今晚趁着睡觉前,对Map源码进行快速的阅读,做一下笔记,以便后续翻看。 一、Map接口里面有什么呢 interface Entry clear compute computeIfAbsent computeIfP...

2019-06-22 00:45:41

阅读数 64

评论数 0

Java面试题整理

1、switch支持的数据类型 java版本 支持类型 java5以前 byte、short、char、int java5 byte、short、char、int、enum java7以后 byte、short、char、int、enum、string 温馨提示:在目前...

2019-06-17 20:59:36

阅读数 788

评论数 0

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