Loading

摘要: 乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。 悲观锁: 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到 阅读全文
posted @ 2019-01-20 20:12 烟草的香味 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 缓存一致性问题 当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象。这就比较依赖缓存的过期和更新策略。一般会在数据发生更改的时,主动更新缓存中的数据或者移除对应的缓存。 缓存并发问题 缓存并发问题通常发生在高并发的场景下, 阅读全文
posted @ 2019-01-20 20:11 烟草的香味 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 什么是死锁 两个或两个以上的进程在执行过程中,因争夺资源而造成的一种相互等待的现象,若无外力作用,他们都将无法推进下去,陷入死循环 产生死锁的必要条件 死锁的预防 上面介绍了死锁的四个必要条件, 只要破坏了四个必要条件中的任意一个条件, 死锁就不会发生了. 1.打破互斥条件 就是允许进程同时访问某些 阅读全文
posted @ 2019-01-20 20:10 烟草的香味 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 多线程的优点 多线程有如下优点: 资源利用率更好 程序设计在某些情况下更简单 程序响应更快 1.资源利用率更好 例如一个应用程序需要从本地文件系统中读取和处理文件的情景. 比方说, 从磁盘读取一个文件需要5s, 处理一个文件需要2s. 那么处理两个文件就需要: 5秒读取文件A 2秒处理文件A 5秒读 阅读全文
posted @ 2019-01-20 20:08 烟草的香味 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 同步和异步、阻塞和非阻塞 同步和异步关注的是消息通信机制. 同步是指: 发送方发出数据后, 等待接收方发回响应后才发下一个数据包的通讯方式. 就是在发出一个调用时, 在没有得到结果之前, 该调用就不返回, 但是一旦调用返回, 就得到返回值了. 也就是由"调用者"主动等待这个"调用"的结果. 异步是指 阅读全文
posted @ 2019-01-20 20:03 烟草的香味 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 内存泄漏: 内存泄漏是指在程序申请内存后, 那些被该回收的内存无法被系统回收. 内存泄漏的堆积, 最终会耗尽系统的所有内存 在c++中需要程序员手动释放内存对象, 所以更容易存在内存泄漏. java中有自动回收机制, 即垃圾回收, 使得该问题得到了有效的改善, 但也时有可能发生内存泄漏的, 因为ja 阅读全文
posted @ 2019-01-20 19:59 烟草的香味 阅读(218) 评论(0) 推荐(0) 编辑