了解ReentrantLock

ReetrantLock是一个可重入的独占锁,主要有两个特性,一个是支持公平锁和非公平锁,一个是可重入。ReetrantLock实现依赖于AQS(AbstractQueuedSynchronizer)ReetrantLock主要依靠AQS维护一个阻塞队列,多个线程对加锁时,失败则会进入阻塞队列。等待

金额转大写

在处理财务账款时,需要将转账金额写成大写的。也就是说,如果要转账123456.00元,则需要写成“壹拾贰万叁仟肆佰伍拾陆元整”。所以常常需要通过程序控制自动进行转换。本实例实现了小写金额到大写金额的转换。具体代码如下:importjava.text.DecimalFormat;importjava.

多线程一定就快吗?

并发编程与多线程编程要了解并发编程,首先要懂得与并行这个概念进行区分。并行是指两个事件同时进行,并发是CPU切换速度快,看起来像是每个任务同时进行一样。多线程是实现并发编程的一种方式,假设一个场景,在广州地铁高峰时段,一群人涌进地铁里,在不同的闸机口刷卡进去。在这个场景里,进地铁就是任务,每个人可以

jxls嵌套导出excel。

jar包地址密码:gp4o嵌套循环?说白了就是大循环套小循环,请看下图: 我们设想一下,有一条哆啦A梦的流水生产线,生产线上在生成这哆啦A梦。我们知道,哆啦A梦的口袋中有很多不同的道具,那么我们在生成的时候就把这些道具预先放进哆啦A梦的口袋吧。  每一个产品的哆啦A梦拥有的道具都是不一样的,这样我们

浏览器下载文件

实现效果代码如下publicvoidgetReport(HttpServletRequestrequest,HttpServletResponseresponse)throwsException{try{StringfileName=URLEncoder.encode("文件名称"

CopyOnWriteArrayList

CopyOnWriteArrayList是怎么实现写有锁,读无锁,读写之间不堵塞的?(加强版读写分离源码剖析)CopyOnWriteArrayList是ArrayList的线程安全版本,从名字推测,CopyOnWriteArrayList是在有写操作的时候会copy一份数据,然后写完再设置成新的数据

Java 在PDF中添加表格

本文将介绍通过Java编程在PDF文档中添加表格的方法。添加表格时,可设置表格边框、单元格对齐方式、单元格背景色、单元格合并、插入图片、设置行高、列宽、字体、字号等。通过maven导入地址代码如下:importcom.spire.pdf.*;importcom.spire.pdf.graphics.

Java设置Excel数据验证

数据验证是Excel2013版本中,数据功能组下面的一个功能,在Excel2013之前的版本,包含Excel2010Excel2007称为数据有效性。通过在excel表格中设置数据验证可有效规范数据输入。设置数据类型时,可设置如验证数字(数字区间/数字类型)、日期、文本长度等。下面通过Java程序代

接口调用失败的退避策略

退避策略简介在开发过程中我们经常会遇到调用接口失败的情况。遇到这种情况,我们有时候需要重试机制,常用的重试(退避)策略有:固定的时间间隔重试一次,最多重试N次:比如我现在一个接口调用失败了,不是立马返回失败,而是hold住线程,每隔2秒重新调下接口,最多调5次,只要其中一次成功了就直接返回。如果5次