2020
09-24
09-24
java中ThreadLocalRandom的使用详解
在java中我们通常会需要使用到java.util.Random来便利的生产随机数。但是Random是线程安全的,如果要在线程环境中的话就有可能产生性能瓶颈。我们以Random中常用的nextInt方法为例来具体看一下:publicintnextInt(){returnnext(32);}nextInt方法实际上调用了下面的方法:protectedintnext(intbits){longoldseed,nextseed;AtomicLongseed=this.seed;do{oldseed=seed.get();nexts...
继续阅读 >
2020年3月17日发布,Java正式发布了JDK14,目前已经可以开放下载。在JDK14中,共有16个新特性,本文主要来介绍其中的一个特性:JEP358:HelpfulNullPointerExceptionsnull何错之有?对于Java程序员来说,null是令人头痛的东西。时常会受到空指针异常(NullPointerException)的骚扰。相信很多程序员都特别害怕出现程序中出现NPE,因为这种异常往往伴随着代码的非预期运行。在编程语言中,空引用(NullReference)是一个与空...
条形码,是由宽度不等的多个黑条和空白所组成,用以表达一组信息的图形标识符。通过给文档添加条形码,可以直观,快捷地访问和分享一些重要的信息。本文就将通过使用Java程序来演示如何在PDF文档中添加Codebar、Code128A和Code39条形码。除此之外,还可支持创建Code11、Code128B、Code32、Code39Extended、Code93和Code93Extended条形码。使用工具:FreeSpire.PDFforJava(免费版)Jar文件获取及导入:方法1:通过E-iceblue...
折半查找技术,也就是二分查找,通常称为二分法查找。它的前期是线性表中的记录必须是关键码有序(通常从大到小有序),线性表必须采用顺序存储、折半查找的基本思想是:取中间记录作为比较对象,若给定值与中间记录的关键字,则在中间记录的关键字相等,则查找成功;若给定值小于中间记录的做半,去继续查找;若给定值大于中间记录的关键字,则在中间记录的右半区继续查找。不断重复上述过程,直到查找成功,或所有查找区域无记录...
这几天在学习javaio流的东西,有一个网友看到博客后问了一个问题,就是说他的doc文档为什么用我所说的方法死活就是乱码。我一开始以为是他方法问题,结果自己试了之后发现和他的结果一样也是乱码。于是在网上搜寻了一阵之后才发现原来doc文档和excel一样不能用普通的io流的方法来读取,而是也需要用poi,于是进行了一番尝试后,终于以正确的编码格式读取了这个doc文件。在网上搜索的过程中发现doc和docx的读取方法是不一样的,于...
在java的实际开发过程中,我们可能常常需要使用到initmethod和destroymethod,比如初始化一个对象(bean)后立即初始化(加载)一些数据,在销毁一个对象之前进行垃圾回收等等。周末对这两个方法进行了一点学习和整理,倒也不是专门为了这两个方法,而是在巩固spring相关知识的时候提到了,然后感觉自己并不是很熟悉这个,便好好的了解一下。根据特意的去了解后,发现实际上可以有三种方式来实现initmethod和destroymethod。...