Java
matrix5247
这个作者很懒,什么都没留下…
展开
-
2016 Multi-University Training Contest 3
hdu5752 Sqrt Bo 题意:给一个数n,n 题解:肯定是大数,但JavaBigInteger没有直接开方的函数,倒过来想,平方5次最大得到多少即可 import java.util.Scanner; import java.math.BigInteger; public class Main { public static void main(String[] args原创 2016-09-08 13:42:10 · 287 阅读 · 0 评论 -
Java源码分析之ArrayList
先看私有属性//保存ArrayList中的内容 transient Object[] elementData; // non-private to simplify nested class access //表示元素的数量 private int size;transient 关键字,就是这部分不参与序列化构造函数构造函数有三个//没有参数时,构建一个空的 private static final原创 2017-03-09 23:34:33 · 282 阅读 · 0 评论 -
Java源码分析之HashMap
成员变量//默认的初始容量,空间必须为2的幂 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 //最大容量 static final int MAXIMUM_CAPACITY = 1 << 30; //默认的加载因子,这里解释一下加载因子,在map被创建后,就有了一个容量,在put键值对时,会首先算key的hashcode,原创 2017-03-10 20:09:03 · 296 阅读 · 0 评论 -
Java源码分析之HashSet
成员变量//HashSet的本质,其实就是HashMap private transient HashMap<E,Object> map; //HashMap是键值对,而HashSet是单值,所以需要一个值来充当键值对中的值 private static final Object PRESENT = new Object();构造函数public HashSet() { map = new原创 2017-03-11 23:03:52 · 242 阅读 · 0 评论 -
Java源码分析之Arrays
乍一看Arrays的源码,223k,5000多行,心想争取2,3内看完,没想到,里面,居然,是每种基本类型都写了一遍,还有object,真的是,!先看排序吧(只拿int举例了)//基本类型都是调用另一个类的排序函数,是快排,当我也想顺便把这个也贴上来的时候发现,一个int的排序有400行!!!我还是决定,再开一篇在讨论吧 public static void sort(int[] a) {原创 2017-03-12 16:09:19 · 517 阅读 · 0 评论 -
Java中的Final 与 C++中的const
修饰基础数据成员一样的,被称为常量,意味着不可修改修饰对象Final修饰的,意味着该引用不可变,也就是说,new过以后,不能再new一个出来,可以调用方法const修饰的,意味着该对象不可变,并且不能调用非const函数,只能调用const修饰的函数修饰方法Final修饰的,意味着不可以被重载,就相当于是privateconst修饰的,意味着不能改变类中的非const函数,最重要的作用,就是被con原创 2017-03-12 21:39:15 · 395 阅读 · 0 评论 -
Java源码分析之String
仰慕了已久的String类成员变量//内部就是char数组保存,注意是final哦 private final char value[]; private int hash; // Default to 0构造函数public String() { this.value = "".value; }public String(String original) { this.value原创 2017-03-14 12:42:33 · 527 阅读 · 1 评论 -
Java源码分析之AbstractStringBuilder
在看StringBuilder之前,还是来先看下AbstractStringBuilder吧成员变量//这也是较String很大的一个不同点,是可变的 char[] value;//表示目前已经用了多长,注意,count!=value.length int count;构造函数AbstractStringBuilder() { }//给定一个初始的空间 AbstractStringBuilder(i原创 2017-03-15 19:11:16 · 1278 阅读 · 0 评论 -
Java源码分析之StringBuilder,StringBuffer
这两个类极为相似,都是继承自AbstractStringBuilder,并且都实现了Serializable, CharSequence,区别也很明显,StringBuilder不支持多线程,而StringBuffer支持多线程由于是继承自AbstractStringBuilder,所以不需要成员变量了,StringBuffer中有char[] toStringCache;将两个类放一起,以便形成对原创 2017-03-16 15:29:01 · 347 阅读 · 0 评论