这篇文章继续java.lang包下的源码学习,笔者也是找了几个比较常用的来阅读.下面针对Integer.Long.Double这样的基本类型的封装类,记录一些比较经典.常用的方法的学习心得,如toString().parseInt()等. java.lang.Integer 1. public static String toString(int i) 说起toString(),这是从Object类中继承过来的,当然,如果我们不重写,那么返回的值为ClassName + "@" + h…
Integer类包含了一个原始基本类型int.Integer属性中就一个属性,它的类型就是int. 此外,这个类还提供了几个把int转成String和把String转成int的方法,同样也提供了其它跟int相关处理的常量和方法. 一.定义 public final class Integer extends Number implements Comparable<Integer>{} 从该类的声明中我们可以看出Integer是final类型的,表示该类不能被继承,同时该类继承了Number类…
Java中,除了8种基本类型,最长用的应该就是String类了.那么我们来看看JDK中的源码是怎么建造String.StringBuffer.StrinBuilder一系列类的. java.lang.String 在JAVA里,String类是一个非常特殊的类,我们来看一下它是怎么来表示一个字符串的.首先来看一下它的比较重要的几个属性,源码如下: /** The value is used for character storage. */ private final char value[];…
想要深入学习JAVA,还需追本溯源,从源码学起.这是我目前的想法.如今JAVA各种开源框架涌出,很多JAVA程序员都只停留在如何熟练使用的层次.身为其中一员的我深感惭愧,所以要加快学习的脚步,开始研究源码.希望这个系列我可以坚持下去. JAVA程序员都知道Object是所有类的父类,所以,今天就从Object开始记录我的源码之路. 网上有很多关于Object类的详解,这里我只总结一点我所学到的,算是做个记录吧. 首先要看Object.class中的几个方法: private static nat…
给数组赋值:通过fill方法. 对数组排序:通过sort方法,按升序.比较数组:通过equals方法比较数组中元素值是否相等.查找数组元素:通过binarySearch方法能对排序好的数组进行二分查找法操作. 使用如下: int[] array = new int[5]; //填充数组 Arrays.fill(array, 5); System.out.println("填充数组:Arrays.fill(array, 5):"); test.output(array); //将数组的第…
一.Comparable接口 package java.lang; import java.util.*; public interface Comparable<T> { /** * int x = a.compareTo(b) * a > b, x > 0 * a == b, x = 0 * a < b, x < 0 */ public int compareTo(T o); } 该接口主要用于排序 二.Serializable 与 Externalizable 接…
Random Java中的Random类生成的是伪随机数,使用的是48-bit的种子,然后调用一个linear congruential formula线性同余方程(Donald Knuth的编程艺术的3.2.1节) 如果两个Random实例使用相同的种子,并且调用同样的函数,那么生成的sequence是相同的 也可以调用Math.random()生成随机数 Random实例是线程安全的,但是并发使用Random实例会影响效率,可以考虑使用ThreadLocalRandom变量. Random实…
Android源码浅析(二)--Ubuntu Root,Git,VMware Tools,安装输入法,主题美化,Dock,安装JDK和配置环境 接着上篇,上片主要是介绍了一些安装工具的小知识点Android源码浅析(一)--VMware Workstation Pro和Ubuntu Kylin 16.04 LTS安装配置,其实Ubuntu Kylin 16.04 LTS也只是为了体验,我们为了追求稳定,还是使用了Ubuntu14.04 这里提供一个国内镜像的下载链接,可以用迅雷,下载下来之后后缀…
http://www.iteye.com/topic/1113732 原则网址 Java源码初接触 如果你进行过一年左右的开发,喜欢用eclipse的debug功能.好了,你现在就有阅读源码的技术基础. 我建议从JDK源码开始读起,这个直接和eclipse集成,不需要任何配置. 可以从JDK的工具包开始,也就是我们学的<数据结构和算法>Java版,如List接口和ArrayList.LinkedList实现,HashMap和TreeMap等.这些数据结构里也涉及到排序等算法,一举两得. 面试时…
写作目标 记录常见的使用javac手动编译Java源码和java手动执行字节码的命令,一方面用于应对 Maven 和 Gradle 暂时无法使用的情况,临时生成class文件(使用自己的jar包):另一方面了解下构建工具做了哪些工作. 作者水平有限,行文中如有错误,希望评论告知,自当尽快修复. 一.编译源码 1. javac 命令 编译Java源码都是使用 javac 命令完成的,其语法如下: javac [ options ] [ sourcefiles ] [ classes] [ @arg…