有关java中工作日算法的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关java中工作日算法的问题相关的知识,希望对你有一定的参考价值。

配置线程:在3工作日之后发送一封邮件,那么这个工作日该怎么计算了,各位谁有妙招,求帮助?
针对工作日的算法问题有如下设想:
1 通过配置设定每年的具体法定节假日;
2 根据当前月份获取本月的法定假日,之后获取本月的工作日并踢出其中的法定假日,把剩余的天数放入到数组中
3 循环数组匹配当前日期后3天的日期,
目前逻辑是这样,有两个问题待解决:
1,如果时间跨度为两个月怎么办?
2,如果碰到一个月中 拿周末的时间去补充放假的时间改怎么办
(例如:1月1日至3日放假调休,共3天。1月5日(星期六)、1月6日(星期日)上班。)

参考技术A Calendar c = new GregorianCalendar();
int i=0;
while(i<3)
c.add(Calendar.DATE, 1);
if (isHoliday(c.getTime())) continue;
if (isWeekEnd(c.getTime()) && !isTransferAsWorkDay(c.getTime())) continue;

i++;

return c.getTime();
isHoliday() :是否为节假日
isWeekEnd()是否为周末
isTransferAsWorkDay()是否周末转为工作日
这3个需要自己写
参考技术B Calendar c = new GregorianCalendar();
int i=0;
while(i<3)
c.add(Calendar.DATE, 1);
if (isHoliday(c.getTime())) continue;
if (isWeekEnd(c.getTime()) && !isTransferAsWorkDay(c.getTime())) continue;

i++;

return c.getTime();
isHoliday() :是否为节假日
isWeekEnd()是否为周末
isTransferAsWorkDay()是否周末转为工作日
这3个需要自己写本回答被提问者和网友采纳
参考技术C 一般工作日,用Calendar判断,再加上DB设置的调休、法定假期判断

Java面试中,一些常见的有关多线程问题!

面试作为入职的第一道门槛,其重要性不言而喻。对于从事IT的很多工作人员而言,对面试往往信心不足,毕竟在真实面试中,会遇到很多技术问题,万一哪块技术点不熟,就会与心仪的offer失之交臂。接下来,小千以Java面试为例,为大家精心总结了一些常见的有关多线程问题,希望大家能够对这些知识点有所准备。

图片14

一、现在有线程 T1、T2 和 T3。你如何确保 T2 线程在 T1 之后执行,并且 T3 线程在 T2 之后执行?

有关线程面试题通常在第一轮面试或电话面试时会被问到,这道多线程问题为了测试面试者是否熟悉join方法的概念。答案也非常简单:可以用Thread类的join 方法实现这一效果。

二、Java中新的Lock接口相对于同步代码块有什么优势?如果让你实现一个高性能缓存,支持并发读取和单一写入,你如何保证数据完整性?

多线程和并发编程中使用lock接口的最大优势是它为读和写提供两个单独的锁,可以让你构建高性能数据结构,比如Concurrent HashMap和条件阻塞。这道Java 线程面试题越来越多见,而且随后的面试题都基于面试者对这道题的回答。 强烈建议在任何Java多线程面试前都要多看看有关锁的知识。

三、Java中wait和sleep方法有什么区别?

两者主要的区别就是等待释放锁和监视器。sleep方法在等待时不会释放任何锁或监视器。wait方法多用于线程间通信,而sleep只是在执行时暂停。

四、如何在Java中实现一个阻塞队列?

这道题目考察了面试者是否真正写过Java多线程代码,考察了面试者对并发场景的理解。并且可以根据面试者的代码问很多后续问题,如果他用wait()和notify()方法成功实现了阻塞队列,可以让他用Java5的并发类重新实现一次。

五、如何在Java中编写代码解决生产者消费者问题?

这个问题在工作中很典型,但有时面试官会问这类问题,比如“在Java 中如何解决生产者消费者问题?”其实,有很多解决方式。其中Java中BlockingQueue即可解决。

六、在Java中如何解决死锁?

死锁在多线程并发编程中十分常见,只需要问他们如果有N个资源和N个线程去执行某个操作,然后请求所有资源。

七、什么是原子操作?Java 中有哪些原子操作?

这是个简单的Java线程面试题。另一个紧随其后的问题将是:你需要同步原子操作吗?

以上是最常问的Java线程面试题,不仅有助于大家面试,掌握相关问题的答案后,还可为大家打开多线程概念的大门。
  
本文来自千锋教育,转载请注明出处。

以上是关于有关java中工作日算法的问题的主要内容,如果未能解决你的问题,请参考以下文章

对我为 excel 工作簿许可密钥开发的系统的见解?

在Delphi中如何控制往Excel的工作表中传入文本文件数据的问题?有请高手

寻找有关 VB Code for Excel 的指导,它将在每个工作表中的两个动态表之间创建操作。

需要 Id 才能在 gridview 中上传 excel 工作表

计算单元格excel中显示的空行数

Excel-VBA - 列出任何给定工作簿的所有用户窗体的控件