Long类源码浅析
1、Long类和Integer相类似,都是基本类型的包装类,类中的方法大部分都是类似的;
关于Integer类的浅析可以参看:Integer类源码浅析
2、这里主要介绍一下LongCache类,该缓存类比Integer的缓存类,实现更简单
     private static class LongCache {
         private LongCache(){}
         static final Long cache[] = new Long[-(-128) + 127 + 1];
         static {
             for(int i = 0; i < cache.length; i++)
                 cache[i] = new Long(i - 128);
         }
     }
LongCache类缓存的大小不能更改了,这个大小已经固定了256;
@Test
public void coreLong(){
//定义方法内部类
class LongCacheTest {
Long cache[] = new Long[-(-128) + 127 + 1]; public LongCacheTest(){
for(int i = 0; i < cache.length; i++)
cache[i] = new Long(i - 128);
}
} System.out.println(Arrays.toString(new LongCacheTest().cache));
}
输出结果:[-128 ~ 127]
Long类源码浅析的更多相关文章
- [原创]Android系统中常用JAVA类源码浅析之HashMap
		由于是浅析,所以我只分析常用的接口,注意是Android系统中的JAVA类,可能和JDK的源码有区别. 首先从构造函数开始, /** * Min capacity (other than zero) ... 
- ArrayList类源码浅析(一)
		1.首先来看一下ArrayList类中的字段 可以看出,ArrayList维护了一个Object数组,默认容量是10,size记录数组的长度: 2.ArrayList提供了三个构造器:ArrayLis ... 
- java.lang.Byte 类源码浅析
		Byte 类字节,属于Number. public final class Byte extends Number implements Comparable<Byte> { /** * ... 
- LinkedList类源码浅析(一)
		1.先来看一看LinkedList类的字段和构造方法 size记录链表的长度,first永远指向链表的第一个元素,last永远指向链表的最后一个元素 提供两个构造方法,一个无参的构造方法,一个接受一个 ... 
- ArrayList类源码浅析(三)
		1.看一个示例 运行上述代码,抛出一个异常: 这是一个典型的并发修改异常,如果把上述代码中的125行注释,把126行打开,运行就能通过了: 原因: 1)因为在迭代的时候,使用的是Itr类的对象,在调用 ... 
- ArrayList类源码浅析(二)
		1.removeAll(Collection<?> c)和retainAll(Collection<?> c)方法 第一个是从list中删除指定的匹配的集合元素,第二个方法是用 ... 
- Integer类源码浅析
		1.首先Integer提供了两类工具类,包括把一个int类型转成二进等, 其实执行转换算法只有一个方法: public static String toString(int i, int radix) ... 
- LinkedList类源码浅析(二)
		1.上一节介绍了LinkedList的几个基本的方法,其他方法类似,就不一一介绍: 现在再来看一个删除的方法:remove(Object o) remove方法接受一个Object参数,这里需要对参数 ... 
- Jdk1.8 之 Integer类源码浅析
		先看一下它的继承.实现关系: public final class Integer extends Number implements Comparable<Integer> Number ... 
随机推荐
- Android尺寸适配问题
			1, 布局与组件大小用dp,文字大小用sp 2, 
- 让图片img标签上下左右居中
			<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ... 
- Inversions After Shuffle CodeForces - 749E (概率,期望)
			大意: 给定一个$n$排列, 随机选一个区间, 求将区间随机重排后整个序列的逆序对期望. 考虑对区间$[l,r]$重排后逆序对的变化, 显然只有区间[l,r]内部会发生改变 而长为$k$的随机排列期望 ... 
- 简述在Ubuntu终端打开文件的几种不同方法与区别
			一· 在Ubuntu下,通常用命令行打开文本文件,比如用命令gedit.more.cat.vim.less. gedit:在文本软件下打开文件,可直接修改. more ,cat 和 less :类似, ... 
- 运维dig语法
			dig命令是常用的域名查询工具,可以用来测试域名系统工作是否正常 语法 1 dig(选项)(参数) 选项 1 @<服务器地址>:指定进行域名解析的域名服务器: 2 -b<ip地址&g ... 
- MySQL之常用SQL语句
			1) 分表之后统计数据的总量 SELECT (a0.total + a1.total + a2.total + a3.total + a4.total + a5.total + a6.total + ... 
- chrome插件2
			转自:http://www.codeceo.com/article/15-chrome-extension.html 1. Web Developer 支持Chrome的Web Developer扩展 ... 
- Big Data(六)用户权限实操&HDFS-API实操
			创建用户实操 1.创建用户god useradd god passwd god 2.设置ssh免密 ssh-copy-id -i id_dsa node02 3.修改hdfs-site.xml中的ss ... 
- 循环 for  读取文件
			cat filename(待读取的文件) | while read line do echo $line done 
- pytho xml
			转载自:https://www.cnblogs.com/gouguoqilinux/p/9168332.html xml是实现不同语言或程序直接进行数据交换的协议,跟json差不多,单json使用起来 ... 
