从底层重学 Java 之两大浮点类型 GitChat链接
chat连接
https://gitbook.cn/gitchat/activity/5f03fdd3852a4f3686fb3366
简介
从底层,从原理,我们来重学一次 Java。两大 Java 浮点类 Double、Float 是我们比较常用的对象,他们的源码及实现是怎样的呢?
本系列秉承所有结论尽量从源码中来,没有源码的尽量标明出处。相关源码会附着在文章中,读本文即可,不用再自行查找源码及资料学习,方便大家充分利用路上的碎片时间。
本篇 Chat 对两大浮点类型的常量、构造函数、常用函数等进行逐一源码分析,帮助大家深入理解和学习 JDK 源码的牛掰优化。
本文包含以下内容:
Double
- IEEE 754 double的存储原理
- 符号位
- 指数位
- 尾数位
- 示例25.375
- 二进制转换
- 转成科学计数法
- 拆分
- 存储
- 浮点字面值(FloatingPointLiteral)
- 十进制浮点字面值(DecimalFloatingPointLiteral)
- 十六进制浮点字面值(HexadecimalFloatingPointLiteral)
- 常量
- 构造函数
- parseDouble(String s)
- FloatingDecimal.parseDouble(s)
- 特殊值判断
- boolean isNaN()
- boolean isInfinite()
- static boolean isInfinite(double v)
- static boolean isFinite(double d)
- valueOf
- Double valueOf(double d)
- Double valueOf(String s)
- 类型转换
- toString
- String toString()
- String toString(double d)
- hashCode
- int hashCode()
- static int hashCode(double value)
- static long doubleToLongBits(double value)
- static native long doubleToRawLongBits(double value)
- 计算比较
- boolean equals(Object obj)
- double sum(double a, double b)
- double max(double a, double b)
- Math.max(double a, double b)
- double min(double a, double b)
- double Math.min(double a, double b)
- IEEE 754 double的存储原理
Float
- IEEE 754 float的存储原理
- 符号位
- 指数位
- 尾数位
- 示例25.375
- 二进制转换
- 转成科学计数法
- 拆分
- 存储
- 浮点字面值(FloatingPointLiteral)
- 十进制浮点字面值(DecimalFloatingPointLiteral)
- 十六进制浮点字面值(HexadecimalFloatingPointLiteral)
- 常量
- 构造函数
- Float(float value)
- Float(double value)
- Float(String s)
- float parseFloat(String s)
- FloatingDecimal.parseFloat(String s)
- 特殊值判断
- boolean isNaN()
- boolean isInfinite()
- static boolean isInfinite(float v)
- static boolean isFinite(float d)
- valueOf
- Float valueOf(float d)
- Float valueOf(String s)
- 类型转换
- toString
- String toString()
- String toString(float d)
- hashCode
- int hashCode()
- static int hashCode(float value)
- static int floatToIntBits(float value)
- static native int floatToRawIntBits(float value)
- 计算比较
- boolean equals(Object obj)
- float sum(float a, float b)
- float max(float a, float b)
- Math.max(float a, float b)
- float min(float a, float b)
- Math.min(float a, float b)
- IEEE 754 float的存储原理
适用人群:有一些 Java 基础的人群。
从底层重学 Java 之两大浮点类型 GitChat链接相关推荐
- 从底层重学 Java 之两大浮点类型 GitChat连接
从底层,从原理,我们来重学一次 Java.两大 Java 浮点类 Double.Float 是我们比较常用的对象,他们的源码及实现是怎样的呢? 本系列秉承所有结论尽量从源码中来,没有源码的尽量标明出处 ...
- 从底层重学 Java 之 BigInteger 大整数 Gitchat连接
Gitchat连接 https://gitbook.cn/gitchat/activity/5f395a80aced402379f6a0ca 简介 从底层,从原理,我们来重学一次 Java.BigIn ...
- 从底层重学 Java 之 Stream 并行及标志 GitChat连接
GitChat连接 https://gitbook.cn/gitchat/activity/5f8fc6cd1f577d4d9f428562 简介 从底层,从原理,我们来重学一次 Java.Strea ...
- 从底层重学 Java 之 Stream 初探 Gitchat连接
Gitchat连接 https://gitbook.cn/gitchat/activity/5f85696aad812d16b498848c 简介 从底层,从原理,我们来重学一次 Java.Strea ...
- 从底层重学 Java 之 Character 字符型 Gitchat连接
Gitchat连接 https://gitbook.cn/gitchat/activity/5f50804bbe67a5348a9b2c91 简介 从底层,从原理,我们来重学一次 Java.Chara ...
- 从底层重学 Java 之四大整数 GitChat链接
从底层,从原理,我们来重学一次 Java.四大 Java 整数类 Byte.Short.Integer.Long 是我们比较常用的对象,他们的源码及实现是怎样的呢? 本系列秉承所有结论尽量从源码中来, ...
- 《重学 Java 面试题》PDF 出炉了 - 退休的程序猿,肝了30天写出15万字241页的实战编程资料
一.前言 我膨胀了 ,在编写完上一本PDF<字节码编程>被下载了2000份以后,蠢蠢欲动开始计划第二本.于是从 5月20日那天投身实战型设计模式打磨,通过模拟互联网业务开发实际需求作为学习 ...
- 重学 Java 设计模式:实战适配器模式
重学 Java 设计模式:实战适配器模式 一.前言 擦屁屁纸80%的面积都是保护手的! 工作到3年左右很大一部分程序员都想提升自己的技术栈,开始尝试去阅读一些源码,例如Spring.Mybaits.D ...
- 重学Java(四):操作符
之前我写了一篇<重学Java(四):对象.引用.堆.栈.堆栈>,本以为凭借自己8年的Java编程经验足够把这些"吃人"的Java名词解释清楚了,但有网友不以为然,在文章 ...
最新文章
- 当你 ping 的时候,你知道背后发生了什么吗?
- java shiro原理_Springboot shiro认证授权实现原理及实例
- c语言约瑟夫环问题,C++_详解约瑟夫环问题及其相关的C语言算法实现,约瑟夫环问题
N个人围成一圈 - phpStudy...
- cfdiv2/c/找规律
- CS224n-week1-课程导学
- Spring MVC静态资源实例
- 为了减少接口的响应时间,有哪些优化措施?(可以从架构、代码等各个角度谈)?
- 手机安装python3.5_CentOS 7安装Python3.5
- Rancher 1.6发布:EBS支持、密文管理和CLI增强
- c语言源程序自动评判系统,C语言源程序的自动评判毕业设计论文
- CListCtrl,SetItemState 高亮(显示蓝色)
- 安全还是效率? 移动化的两难抉择
- 【安卓大作业】Android Studio开发项目图书管理系统“书香驿站”
- 【技巧】谷歌Chrome浏览器清理缓存的两种方式
- 4-AT命令交互之-COPS选择营运商
- C#通过函数名字符串执行相应的函数
- 使用Matlab把图片集合生成视频流文件
- Linux权限详解(chmod、600、644、700、711、755、777、4755、6755、7755)
- spring data jpa 执行sql
- 一个大二博主的一年来写博的年终总结与未来展望——致2019努力的自己,也致2020更好的自己
热门文章
- 工作237:vuex取值
- 前端学习(1918)vue之电商管理系统电商系统之渲染权限列表的数据
- 前端学习(1301):gulp建立任务csso和less
- 实例38:python
- 实例13:python
- 学计算机后悔转专业,大学转专业容易吗 会后悔吗
- 粗暴,干就完了----徐晓冬似的C语言自学笔记-----实现一个链表结构
- WPF Color、String、Brush转换
- javascript构造函数类和原型prototype定义的属性和方法的区别
- 个性化推荐系统原理介绍(基于内容推荐/协同过滤/关联规则/序列模式/基于社交推荐)...