Java
Java开发中常见的问题
Java基础
面包片片
这个作者很懒,什么都没留下…
展开
-
BigDecimal为何能解决浮点数运算时精度丢失问题(底层)
1 为什么浮点数运算有精度丢失风险原因:计算机在存储浮点数时,指数和尾数能占用的bit位是固定的,十进制小数在转二进制小数时乘2取整,直到不存在小数为止,如果在运算时超过尾数限制的bit位长度,就会被截断,所以就导致小数精度发生损失解决方法:定义一个误差范围;或使用decimal2 底层原理十进制整数在转化为二进制数时不会有精度问题,所以将十进制小数扩大N被让它在整数维度上进行计算(BigInteger类型),并记录小数点位置即可;BigDecimal进行运算时分解为两部分,BigInteg原创 2023-05-07 22:21:35 · 1792 阅读 · 0 评论 -
自动装箱拆箱+包装类的缓存机制(底层代码)
【代码】自动装箱拆箱+包装类的缓存机制(底层代码)原创 2023-05-07 20:13:56 · 191 阅读 · 0 评论 -
Java对象逃逸及逃逸分析
同步省略:如果通过逃逸分析发现,同步代码块所使用的锁对象,只能够被一个线程访问而没有被发布到其他线程,那么JIT编译器在编译这个同步代码块的时候,会取消对这部分代码的同步(锁消除),极大提高并发性和性能。栈上分配:将堆分配转为栈分配,线程结束后,栈空间被回收,对象也会被回收,无须进行垃圾回收了。标量替换:对象拆分成标量,存储在栈中。原创 2023-05-07 16:39:20 · 363 阅读 · 0 评论 -
Eclpise项目如何导入外部jar包
项目名上右击,依次选择【Build Path】–>【Configure Build Path…】,在打开的窗口中,先选中【Libraries】页,再从右边的按钮中点击 【add JARs…在打开的窗口中,我们依次展开本项目的项目和lib文件夹,然后选中我们刚才复制到项目中的jar包,然后点击【Apply】使刚才的操作生效,最后点击【OK】关闭窗口。注:原文链接:https://blog.csdn.net/qq_36853469/article/details/89520178。原创 2023-04-09 15:00:29 · 424 阅读 · 0 评论