您现在的位置:首页 > 教案格式 > 正文

线程暂停的方法、基本数据类型包装类、十进制单精度浮点数(32

2018-01-03 09:01 网络整理 教案网

浮点数怎么计算_二进制浮点数表示方法_浮点数

2.Object类的wait()方法使线程放弃对象锁,进入等锁池,直到获得对象锁后才继续往下执行

3.Thread类的yield()方法平时比较少用,使线程进入就绪状态而不是阻塞状态,也就是说下一个执行的线程可能还是这个线程,当然也可能让给了其他的线程,那么这个线程就暂停了。

4.Java5后的使用Lock接口也可以实现类似于对象锁的功能,优点是比较灵活、可以知道线程获得锁了没有等,比较大的缺点是需要手动释放锁,如果没有释放可能会造成死锁。浮点数浮点数

八大数据类型的包装类中哪几个使用了常量池机制?

Byte,Character,Short,Interger,Long。其中Character类的常量池(数组)大小为128,其他四个类的常量池大小为256,当使用类似于Integer i = 1;这样的赋值语句就会使用常量池,将和他等值得对象赋值给他,而不是创建新的对象,前提是赋值的范围是-128~127,也就是说:

Integer n1 = 100,n2 = 100,n3 = 150,n4 = 150;

System.out.print(n1 == n2); //true 两个变量指向的地址相同

System.out.print(n3 == n4); //false 两个变量指向的地址不同

P.s. byte的范围本就是-128~127也就是直接赋值的话(而不是new)必然使用常量池。

浮点数怎么计算_浮点数_二进制浮点数表示方法

浮点数6.125在内存中的形式?

浮点数在内存中符号位(1bit),指数符号位(1bit),指数位(7bit)和尾数位(23bit)组成

第一步

十进制的6.125先转换为二进制,6-->0110。

0.125乘2得 0.25 取 0

0.25乘2得0.5 取 0

0.5乘2得1 取1

0.125-->0.001

(ps.二进制小数如何转换为十进制:

浮点数_二进制浮点数表示方法_浮点数怎么计算

小数点后的第n个数乘以2的负n次方后全部相加:

以0.001为例 0 x 1/2 + 0 x 1/4 + 1 x 1/8 = 0.125)

第二步

浮点数的最高位表示正负,1为正,0为负

第二高位高位表示指数的正负,1为正,0为负

110.001 = 1.10001 x 2 x 2

指数是4-->0000 100 (七位二进制)

最终的结果为

1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1

TreeSet和TreeMap存储的对象要求实现了comparable接口,因为这两个存储的对象都是有序的,实际上TreeSet内部也实现了Map。

Collections 是个工具类(和集合接口 Collection区分开),sort提供两个重载sort(list)和sort(list,obj) 前者要求list中存储的对象实现了comparable接口,后者 没有这个要求但obj不需实现了comparor接口,等于临时提供了排序规则。