
拾荒日记
文章平均质量分 64
金牌28号技师
记录的不仅仅是代码,也是一个普通人的生活.
展开
-
ThreadLocal 有什么用?
通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。JDK 中自带的类正是为了解决这样的问题。如果你创建了一个变量,那么访问这个变量的每个线程都会有这个变量的本地副本,这也是变量名的由来。他们可以使用get()和set()方法来获取默认值或将其值更改为当前线程所存的副本的值,从而避免了线程安全问题。再举个简单的例子:两个人去宝屋收集宝物,这两个共用一个袋子的话肯定会产生争执,但是给他们两个人每个人分配一个袋子的话就不会出现这样的问题。原创 2022-12-14 23:58:53 · 360 阅读 · 2 评论 -
浅谈BigDecimal
BigDecimal可以实现对浮点数的运算,不会造成精度丢失。通常情况下,大部分需要浮点数精确运算结果的业务场景(比如涉及到钱的场景)都是通过BigDecimal来做的。浮点数之间的等值判断,基本数据类型不能用 == 来比较,包装数据类型不能用 equals 来判断。具体原因我们在上面已经详细介绍了,这里就不多提了。想要解决浮点数运算精度丢失这个问题,可以直接使用BigDecimal来定义浮点数的值,然后再进行浮点数的运算操作即可。// 0。转载 2022-12-01 22:40:28 · 285 阅读 · 0 评论 -
拾荒日记(三)深拷贝和浅拷贝区别了解吗?
浅拷贝:浅拷贝会在堆上创建一个新的对象(区别于引用拷贝的一点),不过,如果原对象内部的属性是引用类型的话,浅拷贝会直接复制内部对象的引用地址,也就是说拷贝对象和原对象共用同一个内部对象。深拷贝:深拷贝会完全复制整个对象,包括这个对象所包含的内部对象。上面的结论没有完全理解的话也没关系,我们来看一个具体的案例!浅拷贝浅拷贝的示例代码如下,我们这里实现了Cloneable接口,并重写了clone()方法。clone()方法的实现很简单,直接调用的是父类Object的clone()方法。/***/原创 2022-11-28 23:14:10 · 128 阅读 · 0 评论 -
拾荒日记(二)SpringBoot整合QuartZ 和SpringTask定时器
拾荒日记(二)SpringBoot整合QuartZ 和SpringTask定时器原创 2022-11-24 23:49:15 · 320 阅读 · 1 评论 -
SpringBoot整合Mybatis
SpringBoot整合Mybatis原创 2022-11-24 14:16:19 · 422 阅读 · 0 评论