自定义博客皮肤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)
  • 资源 (1)
  • 收藏
  • 关注

原创 idea卡顿

最近使用idea,一直卡,好难受,后来发现默认配置的内存有点小,改大就好了。我电脑是64位的,直接跑到idea的安装目录的bin目录(我的是装在:D:\intallations\idea\IntelliJ IDEA 2018.2.5\bin):找到idea64.exe.vmoptions配置文件:默认配置:-Xms128m-Xmx512m-XX:ReservedCodeCacheSize=240m-XX:+UseConcMarkSweepGC-XX:SoftRefLRUPolicyM

2020-05-29 16:15:13 380

原创 redis的持久化方式

redis有两种持久化方式,一种是全量的快照 RDB还有一种是增量的AOFRDB这种方式因为是redis服务器中某个时刻的快照副本,它不能使用IO复用的api,因为这样会阻塞正常的redis的请求。比如我7点钟触发快照保存的动作,那么那些数据就好像是在7点钟,被拍了一个照一样,然后慢慢地保存到磁盘里面去。假设保存时间是半个小时,那么保存地那部分数据就会有一部分地缺失。底层是通过fork()出一个子进程来进行数据的保存,那么父进程就可以继续接受redis的请求,提供响应。fork()出子进程后,会拷贝

2020-05-25 11:36:26 138

原创 redis的3大删除策略和6大淘汰策略

内存的删除策略(针对设置了过期时间的key):定时删除,惰性删除,定期删除定时删除:会为每一个设置了过期时间的key开启一个定时器,定时器一到,就会去删除对应的key (不会浪费内存,因为过期了的key是要被删除的,而这个策略会马上删除腾出更多的内存空间,但是每一个key都维护一个定时器,带来一部分的开销,cpu消耗大,如果同时过期的key太多的话,还会出现卡顿的现象)定期删除:就是每隔一段时间,就对过期了的key进行删除,节省了cpu,但是有些过期了的key会在下一个定时周期到来之前占用一部分内存

2020-05-24 13:15:31 885

原创 redis-查找特定前缀key

redis一开始提供了一个keys命令用来查看相应规则的key,可以pattern模式查找keys命令keys * 查看所有的key, 这个命令会阻塞redis执行其他的命令,不建议在生产使用,因为它采用的是遍历的形式,并且是redis是单线程的,顺序执行指令,当查找的key的量特别多的时候,会一直在查找,其他的命令就无法执行,导致阻塞或者超时报错等。如果是平时在学习的时候,可以使用下,方便debug:查找cjh开头的key, keys cjh*查找包含有cjh的key, keys *.

2020-05-24 12:47:20 21579 1

原创 分布式锁-redis

分布式锁的使用场景:比如公司为了实现服务一直可用,会部署多个实例,这样就可以一台一台机器的这样部署,其中一台部署着,另外一台还在运行,那么服务就是可用的,不会说一直处于服务不可用的状态。当处于这样场景的时候,如果你服务中有个定时任务的话,那么到点的时候,会触发多个实例的定时任务,也就是同一个时刻会执行多次定时任务里面的逻辑。如果任务的逻辑是不允许重复执行,那么这个时候就要加分布式锁,就是其中一台机器拿到处理的锁后,其他机器拿不到,就不进入逻辑处理的部分。在redis中,实现分布锁的指令为:SE.

2020-05-23 10:51:38 132

原创 线程8锁问题

package cn.yishijie;import java.util.concurrent.TimeUnit;public class EightLockQuestion { public static void main(String[] args) throws Exception{ //question01();// 结果:AAA BBB ...

2020-05-02 17:24:24 151

原创 三个线程交替打印ABC10次

三个线程交替打印ABC,用到线程的通知机制:用一个共享变量来表示当前需要打印的线程index 0打印A,然后将index修改为1,然后打印B,将index修改为2,打印C,然后将index修改为0判断等待,业务处理(就是打印和修改index),唤醒等待package cn.yishijie;/** * 交替打印AB 10次 */public class ThreadNoti...

2020-05-01 23:19:56 492

原创 线程模拟卖车票

1、通过继承的方式:package com.company;/** * @author jeffchan 2020/04/14 */public class Ticket extends Thread { // 卖的窗口号 private String name; // 卖一百张票 private static int tickets = 100;...

2020-05-01 11:09:35 184

jvm的总结,主要是通过一些例子验证相关理论

jvm的总结,主要是通过一些例子验证相关理论

2020-12-27

空空如也

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

TA关注的人

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