上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 61 下一页
摘要: redis的的持久化,RDB,AOF。 redis持久化的意义,在于故障恢复。 redis如果单单把数据放到内存中,是没有办法应对一些灾难性的故障的 如果没有持久化的话,redis遇到灾难性故障的时候,就会丢失所有的数据 如果通过持久化,将数据搞一份在磁盘上,然后定期比如同步和备份到一些云存储服务器 阅读全文
posted @ 2019-07-28 18:57 石shi 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 在读取中写入的方法:ReentrantReadWriteLock 线程安全的写法。 阅读全文
posted @ 2019-07-28 17:07 石shi 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 把对象封装到一个线程中,只有一个线程能看到这个对象。 适用读多写少的场景 设计思想:读写分离,最终一致性,使用时另外开辟空间,读不需要加锁,写需要加锁 concurrentHashMap不允许空值 ConcurrentSkipListMap的key是有序的 阅读全文
posted @ 2019-07-27 23:04 石shi 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 发布对象: 安全发布对象: 线程不安全 volatile+双重检测,线程安全 另外的不可变对象 阅读全文
posted @ 2019-07-23 21:35 石shi 阅读(245) 评论(0) 推荐(0) 编辑
摘要: CPU多级缓存: read(读取):作用于主内存的变量,把一个变量值从主内存传输到线程的工作内存中,以便随后的load动作使用 load(载入):作用于工作内存的变量,它把read操作从主内存中得到的变量值放到工作内存中的变量副本中 write(写入):作用于主内存的变量,他把store操作从工作内 阅读全文
posted @ 2019-07-21 14:18 石shi 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 需求:需要把第一个id替换掉,在序列化成json 这样就实现了,当然还有其他方法。 阅读全文
posted @ 2019-07-16 18:41 石shi 阅读(32189) 评论(0) 推荐(1) 编辑
摘要: 同步容器: BlockingQueue: put和Take 阻塞的 Add和Remove抛出异常 Offer和poll 有返回值得 实现简单的解析web: StampedLock:读锁并不会阻塞写锁 当写一个volatile变量时,java 内存模型会把该线程对应的本地内存中的共享变量值刷新到主内存 阅读全文
posted @ 2019-07-14 19:14 石shi 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 用Condition和synchronized: 线程之间的通信-join ThreadLocal: 线程之间的通讯:CountDownLatch 线程之间的通信:CyclicBarrier 达到屏障点之后,后面的线程才继续执行 线程之间的通讯:Semaphore:能控制被多少个线程同时访问 Exc 阅读全文
posted @ 2019-07-13 21:36 石shi 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 排他锁和共享锁: 读写锁:既是排他锁,又是共享锁。读锁,共享锁,写锁:排他锁 读和读是不互斥的 读写锁需要保存的状态: 写锁重入的次数 读锁的个数 每个读锁重入的次数 锁降级:是指写锁降为读锁 在写锁没有释放的时候,获取到读锁,在释放写锁 锁升级: 把读锁,升级为写锁 在读锁没有释放的时候,获取到写 阅读全文
posted @ 2019-07-07 18:21 石shi 阅读(1544) 评论(0) 推荐(0) 编辑
摘要: 大致分成: 1.原子更新基本类型 2.原子更新数组 3.原子更新抽象类型 4.原子更新字段 Lock接口: Lock需要显示的获取和释放锁,繁琐,但是能让代码更灵活,随时,获取和释放锁 Synchronized:不需要显示的获取和释放锁 ,简单 使用lock可以方便的实现公平性 非阻塞的获取锁 能被 阅读全文
posted @ 2019-07-06 18:09 石shi 阅读(264) 评论(0) 推荐(0) 编辑
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 61 下一页