摘要: oracle支持并发,而锁是实现并发的重要技术之一。oracle锁的类型可以通过v$lock_type查看,平时我们接触得最多是以下两种,表锁和行锁,也称为DML锁和事务锁。 行锁只有一种,就是排它锁。 表锁有以下5种: (1)RS行级共享锁(row share):其他对象只能查询这些数据行,sql 阅读全文
posted @ 2017-05-31 14:32 gdpuzxs 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 最近学习了JVM,知道得越多,才知道自己越不足,现在进行总结一下哈。 (1)什么是虚拟机? 相信学习JAVA的人都知道因为虚拟机JVM的存在,才使得java程序可以跨平台,跨操作系统进行运行。首先在D盘新建一个test.java,代码如下: 打开cmd控制台,执行javac test.java进行编 阅读全文
posted @ 2017-05-29 23:00 gdpuzxs 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 最近学习oracle的一些知识,发现自己sql还是很薄弱,需要继续学习,现在总结一下哈。 (1)oracle递归查询 start with ... connect by prior ,至于是否向上查询(根节点)还是向下查询(叶节点),主要看prior后面跟的字段是否是父ID。 向上查询:select 阅读全文
posted @ 2017-05-25 19:19 gdpuzxs 阅读(1423) 评论(0) 推荐(0) 编辑
摘要: 临时收到一个任务,就是在生产环境上定时备份oracle的数据。空闲时间搞了一下,真是一波三折,过程有点小郁闷,结果哈哈。现在进行总结一下 (1)新建一个shell脚本test.sh (2)chmod 744 test.sh (3)使用linux的crontab命令定时备份 crontab -e 进入 阅读全文
posted @ 2017-05-16 15:08 gdpuzxs 阅读(9052) 评论(0) 推荐(0) 编辑
摘要: 这几天在学习MongDB的分片技术,网上搜了好多资料,那些资料都比较老了,新版的MongDB已经不支持以前的那种分片方法了,最后都是失败告终。我用的版本是MongDB3.4,后面直接去官网看了一下,这也是自己第一次看全英文看文档,毕竟一直看中文的资料的,过程有点小痛苦,但是最后做出来,还是爽歪歪的哈 阅读全文
posted @ 2017-05-10 15:30 gdpuzxs 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 这个月开始学习了MongoDB,下面总结一下芒果DB的副本集。 mongoDB官方已经不建议使用主从模式了,替代方案是采用副本集的模式。主从模式的缺点其实就是主机挂了,从机无法向外提供服务了。 而mongoDB的副本集可以做到主机宕机了,从机可以根据一定选举机制,在从机中重新选取一个节点当成主机,继 阅读全文
posted @ 2017-05-08 17:15 gdpuzxs 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 对于多线程,当A线程需要获得B线程的处理结果,而B线程处理业务需要很长时间,这时候A线程如果一直等待B线程的处理结果,线程A才能继续往下执行代码,这种方式在效率不是很好。所以,这种场景可以使用多线程的Future模式。 Future模式,就是当A线程需要B线程的处理结果,启动B线程,然后A线程继续往 阅读全文
posted @ 2017-04-23 19:29 gdpuzxs 阅读(314) 评论(0) 推荐(0) 编辑
摘要: DelayQueue是一个无界队列,只有在延迟期满的时候,才可以取出元素。该队列的头部存储的延期期满了后保存时间最长的元素。 DelayQueue阻塞队列在我们系统开发中也常常会用到,例如:缓存系统的设计,缓存中的对象,超过了空闲时间,需要从缓存中移出;任务调度系统,能够准确把握任务的执行时间。我们 阅读全文
posted @ 2017-04-22 18:47 gdpuzxs 阅读(524) 评论(1) 推荐(0) 编辑
摘要: java提供的线程安全的Queue可以分为阻塞队列与非阻塞队列。其中阻塞队列的典型代表就是LinkedBlockingQueue与ArrayBlockingQueue,非阻塞队列的代表就是ConcurrentLinkedQueue。下面对阻塞个队列进行总结一下。 LinkedBlockingQueu 阅读全文
posted @ 2017-04-22 16:58 gdpuzxs 阅读(1805) 评论(0) 推荐(0) 编辑
摘要: 一:为什么会出现同步容器? 平时我们使用的ArrayList,HashSet,HashMap都是非线程安全的,如果有多个线程同时操作集合,就会出现线程安全问题。 下面举个例子来说明一下,为什么是是非线程安全的。 运行结果有时候为A,有时候为B,出现这种不确定的结果。所以在多线程环境下就需要对集合容器 阅读全文
posted @ 2017-04-17 18:50 gdpuzxs 阅读(212) 评论(0) 推荐(0) 编辑