Java的基础知识有很多,但是我认为最基础的知识应该要属jdk的基础代码,jdk的基础代码里面,有分了很多基础模块,其中又属jdk包下面的lang包最为基础。 我们下面将总结和分析一下lang包下面最为基础和常用的几个部分。 1:常用的对象类型包 (1)其中最基础的类为Object,所有的对象都是继 ...
分类:
其他好文 时间:
2017-05-04 13:30:37
阅读次数:
201
置顶一篇文章,主要是整理一下写过的JDK中各个类的源码解析以及其他框架源码解析的文章,方便自己随时阅读也方便网友朋友们阅读及指正 基础篇 从为什么String=String谈到StringBuilder和StringBuffer Java语法糖1:可变长度参数以及foreach循环原理 Java语法 ...
分类:
其他好文 时间:
2017-05-01 14:20:38
阅读次数:
177
HashMap和HashTable有什么不同?在面试和被面试的过程中,我问过也被问过这个问题,也见过了不少回答,今天决定写一写自己心目中的理想答案。 代码版本 JDK每一版本都在改进。本文讨论的HashMap和HashTable基于JDK 1.7.0_67。源码见这里 1. 时间 HashTable ...
分类:
编程语言 时间:
2017-04-20 19:40:53
阅读次数:
291
2017/3/13 12:59:41 看JDK源码,在HashMap类中发现了一个可以很好解决这个问题的方法。问题描述:假设给定 14,输出16;给定16,也输出16;给定17,输出32。输出满足给定数字的最小2的幂值算法:int tableSizeFor(int cap) { int n = ca... ...
分类:
其他好文 时间:
2017-04-13 09:15:19
阅读次数:
175
HashMap 结合数组的快速查询和链表的快速插入等优点实现。 参数说明: table:数组长度。 size:k-v数量。 modCount:结构改变标记,主要在并发环境下HashMap发生扩容等结构变化时校验,迭代时如果不及预期则抛出异常ConcurrentModificationExceptio ...
分类:
其他好文 时间:
2017-04-13 09:11:31
阅读次数:
161
(一)集合框架: Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(实现接口的类)。所有抽象出来的数据结构和操作(算法)统称为集合框架。 程序员在具体应用的时候,不必考虑数据结构和算法实现细节,只需要用这些类创建一些对象,然后直接应用就可以了,这样就大大提高了编程效率。 (二)集 ...
分类:
编程语言 时间:
2017-04-09 16:21:57
阅读次数:
198
tomcat需要配合java环境来运行,所以我们需要先安装java(我这里使用的是java1.7.0版本) 一、准备工作:下载java1.7.0压缩包 1.将下载的JDK源码包解压,并拷贝到指定目录 2.卸载系统安装的JAVA环境 3.将JAVA变量添加到环境变量,使所有用户都可以使用 3.1更新环 ...
分类:
编程语言 时间:
2017-04-05 12:43:40
阅读次数:
237
1、源码包准备: 首先到官网下载jdk,http://www.oracle.com/technetwork/java/javase/downloads/jdk7- downloads-1880260.html,我下载jdk-7u45-linux-x64.tar.gz,下载到主目录 2、解压源码包 通 ...
分类:
其他好文 时间:
2017-04-03 20:45:00
阅读次数:
131
学习jdk源码第一篇 首先来看HashMap用来计算key的hash值的函数 这里面使用了两个java运算符: 无符号右移: >>> 小知识 >>是带符号右移 >>>是无符号右移.. 带符号右移就是将那个数转为2进制然后在前面补0或1 如果是正数就补0 负数补1 例如11 >> 2,则是将数字11右 ...
分类:
其他好文 时间:
2017-03-28 19:19:46
阅读次数:
148
Integer是平时开发中最常用的类之一,但是如果没有研究过源码很多特性和坑可能就不知道,下面深入源码来分析一下Integer的设计和实现。 Integer: 继承结构: -java.lang.Object --java.lang.Number java.lang.Integer 其中父类Numbe ...
分类:
其他好文 时间:
2017-03-10 19:12:12
阅读次数:
139