2020
11-08
11-08
Java正确比较浮点数的方法
看下面这段代码,将d1和d2两个浮点数进行比较,输出的结果会是什么?doubled1=.1*3;doubled2=.3;System.out.println(d1==d2);按照正常逻辑来看,d1经过计算之后的结果应该是0.3,最后打印的结果应该是true,对吧?但是运行一下就会发现结果并不是true而是false。输出一下d1,发现得到的答案不是想象中的0.3而是0.30000000000000004,所以和d2进行比较结果自然是false如何正确地比较浮点数(单精度的flo...
继续阅读 >
1、首先谈谈为什么要序列化对象-把对象转换为字节序列的过程称为对象的序列化。-把字节序列恢复为对象的过程称为对象的反序列化。对象的序列化主要有两种用途:1)把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;2)在网络上传送对象的字节序列。在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是Web服务器中的Session对象,当有10万用户并发访...
前言volatile相关的知识其实自己一直都是有掌握的,能大概讲出一些知识,例如:它可以保证可见性;禁止指令重排。这两个特性张口就来,但要再往深了问,具体是如何实现这两个特性的,以及在什么场景下使用volatile,为什么不直接用synchronized这种深入和扩展相关的问题,就回答的不好了。因为volatile是面试必问的知识,所以这次准备把这部分知识也给啃掉。系统处理效率与Java内存模型在计算机中,每条程序指令都是在CPU中执行的...