java源码分析
pl在之心
立足当下
展开
-
java基础面试题带答案
Java基础 1.JAVA中的几种基本数据类型是什么,各自占用多少bit。 byte(8),char(16),short(16),int(32),long(64),float(32),double(64),boolean(1) 2.String类能被继承吗,为什么。 不能, final类型,不能被继承 3.String,Stringbuffer,StringBuild...原创 2019-10-14 16:53:52 · 761 阅读 · 0 评论 -
java源码分析01-Object源码分析
最近趁着工作前的空闲时间,研究一下JDK的源码,学习java大师的编程风格。 我们从Object类开始,它是所有类的父类,如果一个类没有使用extends关键字来指定继承某个类时,默认继承自Object类。 所有的抽象类也可以继承自Object类。 首先我们来看下Object类的结构: 构造方法Object(), 如果没有显示的指定任何构造函数,那么编译器会自动帮该类添加一个默认构造方法。原创 2015-11-08 12:23:39 · 385 阅读 · 0 评论 -
java源码分析02-HashMap
今天很开心,希望她能是我心中所期待的那位。 总结前段时间的面试,其中有一个问题特别频繁,那就是HashMap与Hashtable的区别。一般人看到这个问题就会想到java面试宝典上的答案,例如是否线程安全,key和value能否为空,contains方法存在歧义,默认容量以及扩容方式不一样等。 其实,这里考察的是我们对HashMap这个集合的理解。 首先,HashMap从使用的角度来看,就是原创 2015-11-08 19:12:42 · 334 阅读 · 0 评论 -
java源码分析03-InputSteam
最近心情有些烦躁,还是多学点java吧,最起码她不会烦你,也不会不理你。 1.类结构 InputStream是一个抽象类,实现了Closeable接口 关于Closeable接口, public interface Closeable extends AutoCloseable { public void close() throws IOException; }原创 2015-11-09 10:46:49 · 653 阅读 · 0 评论 -
java源码分析05-TreeMap
说什么王权富贵,坚持! 今天,我们来看下TreeMap集合。作为Map集合中的一员大将,她的职责还是很大的, 除了常见的存储键值对和快速查找,她还有很多技能,例如可预知的迭代序列,范围查找...,那么,她 到底是怎么拥有这么大的魅力的呢?我迫不及待地想深入了解她。 范围查找让我们想到了Mysql中的limit或者Oracle中的rownum的使用方法,例如查找某段时间内的 记录原创 2015-11-10 18:21:11 · 377 阅读 · 0 评论 -
java源码分析06-Class
苦闷的来源,即在于心地不单纯。 哼着女儿国里的歌曲,爱恋伊...,一手拿着垃圾袋,打开门,她出现在你眼前, 内心有着激动,担忧. 还是来学习java的Class类吧。 1.类结构 2.类解析 我第一次遇到她,是在JDBC的使用时,用来加载驱动,Class.forName(),还需要 捕获异常。 public static Class forName(Strin原创 2015-11-10 19:11:31 · 373 阅读 · 0 评论 -
java源码分析04-FileInputStream
尝尽悲欢离合人间苦 今天,我们来看下FileInputStream的内部结构 1.类结构 public class FileInputStream extends InputStream { 继承自InputStream抽象类,实现父类的所有抽象方法。 2.内部结构 属性 /* File Descriptor - handle to the open file */原创 2015-11-10 16:35:31 · 955 阅读 · 0 评论 -
java源码分析08-LinkedList
喜欢一个人,就会喜欢她的一切吗? 今天,我们来看下LinkedList的结构。 LinkedList内部其实是双向链表实现的,而且拥有轮询以及出栈的功能。 增删改查: public boolean add(E e) { linkLast(e); return true; }void linkLast(E e) { f原创 2015-11-14 22:18:01 · 455 阅读 · 0 评论 -
java源码分析-优先队列
愿她好! 优先队列PriorityQueue 1.类结构 2.优先队列分析 主要是怎么确定优先级 首先我们来看下add(E)方法 public boolean add(E e) { return offer(e); } public boolean offer(E e) { if (e == null)原创 2015-11-19 09:14:02 · 416 阅读 · 0 评论