- 博客(14)
- 收藏
- 关注
转载 Redis初学笔记二
Rdb: 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的snappshot快照,他恢复时是将快照文件直接读到内存中;redis会单独创建(fork)一个子进程,redis会单独创建一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化的文件,整个过程中,主进程是不进行IO操作的,这就确保了极高的性能,如果需要进行大规...
2018-11-15 21:06:00 95
转载 Redis初学笔记一
Redis:易扩展,大数据量高性能,多样灵活的数据类型, Nosql数据库的四大分类:KV键值,文档型数据库magoDB,列存储数据库Hbase,图关系数据库Info数据库; CAP+BASE: 传统数据库: A原子性 事务里的操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作失败,整个事务就失败,需要回滚; C一致性 数据库要处于一致性 I 独立性 并发的...
2018-11-15 21:04:00 98
转载 AQS原理
AQS原理 AQS是一个用来创建锁和同步器的框架,使用AQS能简单且高效的构造出应用广泛的大量的同步器;比如我们提到的RenentranLock,Semphore。,其他的诸如ReentrantReadWriteLock,synchronousQueue,FutureTask等等皆是基于AQS的,当然,我们自己也能利用AQS非常轻松容易地构造出符合自己同步需要需求的同步器; ...
2018-11-06 19:23:00 182
转载 CyclicBarrier和CountDownLatch的区别
CountDownLatch Countdownlatch是一个同步工具类;用来协调多个线程之间的同步; 这个工具通常用来控制线程等待;它可以让某一个线程等待知道倒计时结束,在开始执行; CountDownLatch的两种用法: 1.某一线程在开始运行前等待n个线程执行完毕;将CountDownLatch的计数器初始化为n:new CountDownLatch(n);每当一个...
2018-11-05 22:04:00 242
转载 生产者与消费者模式之管程法
package Tread; public class TestProduce { public static void main(String[] args) { Systack sy = new Systack(); Shengchan sc = new Shengchan(sy); XiaoFei xf = new XiaoFei(sy); n...
2018-10-25 13:20:00 149
转载 Java多线程之死锁
一个线程锁定A,等着B,一个线程锁定B,等着A 过多的同步方法会导致死锁 package Tread; public class Demo02 { public static void main(String[] args) { Object g = new Object(); Object m = new Object(); Test t1 = ne...
2018-10-25 12:58:00 92
转载 Java多线程基础之任务调度
* Timer:任务调度 * schedule(TimerTask task, Date time); * schedule(TimerTask task, Date* firstTime, long period); * TimerTask实现了Runnable接口;也是一个线程 可以了解一下QUQRTZ框架 public class Time { public...
2018-10-25 12:41:00 169
转载 死锁解决方式之一生产消费者模式之信号灯法
package Tread; /** * 生产者消费者模式:信号灯法 * wait():等待,释放锁; * notify(); * wait和notify必须和sychronized一同使用; * sleep():抱着锁睡觉: * */ public class Movie { private String pic; privat...
2018-10-25 12:30:00 121
转载 设计模式之静态代理模式
多线程里的Runnable接口创建线程正是用了静态代理模式package Tread; public class StaticProxy { /** * 静态代理: 真实角色 代理角色 两者要实现相同接口 * * @param args */ public static void main(String[...
2018-10-25 11:18:00 54
转载 Java多线程基础之线程同步与锁定
线程同步与锁定 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突严重的这个问题,Java语言提供了专门的机制以解决这类冲突,有效避免了同一个数据对象被多个线程同时访问,由于我们可以通过private关键字来保证数据对象只能被方法访问,所以我们针对方法提出一整套机制,这套机制就是sychronized关键字; sychronized: HashTabl...
2018-10-25 11:08:00 66
转载 Java多线程基础知识整理二
线程状态 * 新生状态:用new关键字和thread类或其子类建立一个线程对象后,该线程对象就处于新生状态,处于新生状态的* 线程拥有自己的内存空间,通过调用start方法进入就绪状态 * 就绪状态:处于就绪状态的线程已经具备了运行条件,但还没有分配到cpu,处于线程就绪队列,等待系统为其分配cpu,* 等待系统为其分配cpu,等待状态并不是执行状态,当系统选定一个...
2018-10-25 10:44:00 72
转载 Java多线程基础知识整理
一,程序,进程,线程* 1.程序:指令集,静态概念;* 2.进程:操作系统 调度程序 动态概念* 3.线程:在进程内多条执行路径* main方法和gc和异常* 程序是一个静态的概念;进程:是一个动态的概念;* 进程是程序的一次动态执行过程,占用特定的地址空间;* 每个进程都是独立的* 由3部分组成cpu data code;* 缺点:内存的浪费,cpu的负担*线程:是...
2018-10-25 09:52:00 71
转载 Java设计模式之迭代器模式
Java设计模式之迭代器模式 迭代子模式又称游标模式,是对象的行为模式。迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象; Java聚集对象是实现了共同collection接口; 迭代子模式的结构 迭代子模式有两种实现方式,分别是白箱聚集与外禀迭代子和黑箱聚集与内禀迭代子。 白箱聚集与外禀迭代子 如果聚集的接口提供了可以用来修改元素的方法,这个接口就是所谓的...
2018-10-12 09:55:00 77
转载 设计模式之责任链模式
设计模式之责任链模式 责任链模式是一种对象的行为模式,在责任链模式里,很多对象由每一个对象对其下家的引用而来连接起来形成一个链,请求在这个链上传递,直到链上的某一个对象决定处理此请求,发出这个请求的客户端不知道链上的哪一个对象最终处理此请求,这使得系统可以在不影响客户端的情况下动态的重新组织和分配责任;击鼓传花也可以作为责任链模式的应用; 责任链模式的结构 ...
2018-10-11 16:46:00 75
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人