java基础
9随遇而安
这个作者很懒,什么都没留下…
展开
-
java CAS讲解
CAS(Compare and Swap),本质是乐观锁的概念:有3个操作数,内存值V,旧的预期值A,要修改的新值B。当预期值A和内存值V相同时,将内存值V修改为B。实际应用,浏览器上,多人打开同一篇文章进行编辑,保证最后数据正确:a打开编辑的时候,b也打开了,此时b先进行保存,a再保存,那a会把b编辑的内容覆盖掉。该怎么保证b编辑的内容不会被覆盖呢?引入一个版本的概念,文章的数据是从数据库读出来的,数据库里的版本是1,a打开的时候版本是1,b打开的时候也是版本1,b对数据进行了编辑,版本.原创 2021-03-30 23:15:39 · 116 阅读 · 0 评论 -
java 从字符串中找出所有身份证号码
只能绝对匹配值 String content = "皖F26581 00-01-6C-06-A6-29 皖F26584 00:01:6C:06:A6:29 330621199112090043 浙F601ML_0 8428cc88-2e76-4188-8495-1c26858c6c8f 13622222222 [email protected] ...原创 2019-10-24 16:37:45 · 4566 阅读 · 0 评论 -
NullPointException
Map<String,Boolean> map = new HashMap<String, Boolean>();Boolean b = ( map!=null ? map.get("test") : false );这个是同事QQ发过来问的一个问题,问之:看看这个结果返回是什么? 答曰:b=null啊! 结果报空指针异常此外,试了基本数据类型,全部都不可以,即在装箱的过程中抛异常了。 而原创 2015-11-23 17:47:20 · 684 阅读 · 0 评论 -
BigDecimal和float相乘不能得到精确值
float numF = 1.2f;BigDecimal numDecimal = new BigDecimal(100);System.out.println(numDecimal.multiply(new BigDecimal(numF)));result:120.0000047683715820312500原因是System.out.println(new BigDecimal(numF))原创 2015-12-30 11:30:32 · 1645 阅读 · 0 评论