摘要:
select to_char(sysdate,'yyyyMM') from dual; select to_char(to_date('202210','yyyyMM'),'yyyyMM') from dual; --计算月份差值返回整数 select months_between(to_date( 阅读全文
摘要:
开闭原则是说不修改原有代码的基础上,对于新增加的功能采用实现接口的方法即可实现 策略模式将对象的行为抽象为一个通用的方法,不同的对象实现同一个方法进行重写,可以减少复杂的if else的出现 代码如下 <?xml version="1.0" encoding="UTF-8"?> <project x 阅读全文
摘要:
在自定义的线程中是无法最直接使用@Autowired创建对象的,因为我们使用的线程是new对象的方式创建的·,所以和spring容器半毛钱关系都没有 这里需要小伙伴手动创建 import org.springframework.beans.BeansException; import org.spr 阅读全文
摘要:
在集合遍历的时候,向集合中添加元素 这里的错误叫做fail-fast机制,当多个线程对同一集合的内容进行操作时,就可能会产生fail-fast事件 当modCount的数量和expectedModCount的数量不一致时,就会抛出上面的异常 集合元素添加产生异常的代码 package com.jav 阅读全文
摘要:
DelayQueue按照延迟时间从小到大出队列的队列,延迟时间表示的是未来将要执行的时间减去当前的时间,对于加入DelayQueue的元素,需要实现Delayed接口 当getDelay()的返回值小于或者等于0时,说明该元素要到期了,需要从队列中拿出来了 当延迟时间大于0,队列处于阻塞状态,直到延 阅读全文
摘要:
SynchronousQueue有点特殊,具备生产者和消费者,但是生产者生产后会执行阻塞,当产生的数据有人取走的时候,生产者的阻塞状态会解除,再次生产再次阻塞,再次等待消费者解锁,多个线程生产数据,对应的需要多个线程的消费者消费数据 同时该队列可以自定义锁的模式,及公平锁和非公平锁由设置决定 非公平 阅读全文
摘要:
--status为空返回3,不为空显示本身的值 select * from public_memo cc where nvl(cc.status,'3')!='4' --status为空显示数据为空,不为空显示本身的值 select nvl2(cc.status,cc.status,'数据为空') 阅读全文
摘要:
队列通常是先进先出的,而PriorityQueue是按照元素的优先级从小到大出队列的。正因为如此,PriorityQueue中的2个元素之间需要可以比较大小,并实现Comparable接口 因为使用PriorityBlockingQueue中默认比较器,当数据无法比较,这是需要我们自定义比较器 pa 阅读全文
摘要:
触发器的作用 数据确认,实施复杂的安全性检查,数据的备份和同步,对于违反规定数据库操作进行监控 触发器创建语法 创建前置触发器,在执行insert操作时,自动修改创建时间和更新时间 create or replace trigger tri_public_memo before insert on 阅读全文
摘要:
LinkdBlockingQueue是一种基于单向链表的阻塞队列,队头和队尾是两个指针愤慨操作,所用采用了两把锁和两个条件,同时1个Atomicinteger记录count数 这里说下LinkedBlockingQueue和ArrayBlockingQueue的区别 ArrayBlockingQue 阅读全文