
源码分析
zhangyingchengqi
学无止境。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Integer类的toBinaryString源码分析
jdk的Integer包装类中提供了已经封装好的进制转换函数 toBinaryString(), toOctalString(),toHexString(),下面分析一下它们的源码。 //转二进制 public static String toBinaryString(int i) { return toUnsignedString0(i, 1); } //转八进制 public static String toOctalString(int i) { return...原创 2020-12-28 12:42:07 · 2498 阅读 · 3 评论 -
java中浮点数表示方式
java虚拟机中的浮点数分为float和double两种,分别为32位和64位.它参考了IEEE 754的规范对浮点数进行处理。下面以float为例 ,分析一下float数的表示方法. float的32位分成三个部分来表示一个浮点数: 浮点数的取值计算公式为: 解析: 1) 当符号位s的取值为0时,sflag为1, 当s为1时,sflag为-1. 所以有: 2)e 为指数位,用 8 位表示 3) m 为尾数值,占用空间为23位,但是根据 e 的取...原创 2020-12-27 15:38:29 · 2837 阅读 · 2 评论 -
java中整数表示方式补码
在java虚拟机规范中定义的整数类型有byte(8位),short(16位),int(32位),long(64位),它们都是有符号整数,即最高位为符号位。这些整数JVM中使用补码来表示. 那么我们首先来了解一下原码,反码和补码. 1. 原码 符号位+二进制值,符号位在最左边. 例如: 32位的整型原码: 10的原码: 00000000 00000000 00000000 00001010 // 最左边的0表示正数 -10的原码: 10000000 00000000 00000000 000..原创 2020-12-27 15:03:24 · 963 阅读 · 1 评论 -
Date的构造方法分析
Date的构造方法分析: Date有一个构造方法如下: public Date(long date) { fastTime = date; } 官方文档解释: long值 为 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数 运行测试代码: Date d2=new Date( 0 ); System.out.println( d2 ); 结果为: Thu Jan 01 08:00:00 CST 1970 为什么是 08:00点呢? 因为我们当原创 2020-12-20 19:53:48 · 324 阅读 · 0 评论 -
jdk源码探索 - Boolean类
jdk 8 中的Boolean 类源码分析: 1. 此类为 final类,表明它不能被继承了,因为它是一个基础类, 且实现了Serializable接口和Comparable接口,表明这个类的对象可以实现序列化及比较操作. public final class Boolean implements java.io.Serializable, Comparable<Boolean> 2. 它有两个有参构造方法,但没有无参构造方法: public Boolean(boolean val.原创 2020-12-16 20:48:29 · 221 阅读 · 0 评论