java基础知识
jiang_zf
这个作者很懒,什么都没留下…
展开
-
HashMap实现原理及源码分析
哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。目录 一、什么是哈希表转载 2018-02-01 14:12:01 · 115 阅读 · 0 评论 -
Java中的局部代码块、构造代码块、静态代码块加载顺序测试
先说加载顺序结论:1.父类静态块2.子类静态块3.父类构造代码块4.父类构造函数5.子类构造代码块6.子类构造函数注意:静态代码块只会加载一次,后续创建实例不再加载。示例代码:执行结果:代码地址:https://gitee.com/jzf187/basic/tree/master/classLoadOrder/src...原创 2019-03-23 10:29:55 · 260 阅读 · 0 评论 -
一些java基础知识
一. java基本数据类型及字节大小:基本类型 大小(字节) 默认值 封装类 byte 1 (byte)0 Byte short 2 (short)0 Short int 4 0 Integer long 8 0L Long float 4 0.0f Float ...原创 2019-02-24 11:31:31 · 103 阅读 · 1 评论 -
List总结(LinkedList, ArrayList等使用场景和性能分析)
现在,我们再回头看看总结一下List。内容包括:第1部分 List概括第2部分 List使用场景第3部分 LinkedList和ArrayList性能差异分析第4部分 Vector和ArrayList比较转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308900.html 第1部分 List概括先回顾一下List的框架图(01) List 是一个接口...转载 2018-02-28 19:53:54 · 186 阅读 · 0 评论 -
Stack详细介绍(源码解析)和使用示例
概要学完Vector了之后,接下来我们开始学习Stack。Stack很简单,它继承于Vector。学习方式还是和之前一样,先对Stack有个整体认识,然后再学习它的源码;最后再通过实例来学会使用它。内容包括:第1部分 Stack介绍第2部分 Stack源码解析(基于JDK1.6.0_45)第3部分 Vector示例转载请注明出处:http://www.cnblogs.com/skywang1234...转载 2018-02-28 19:31:11 · 510 阅读 · 0 评论 -
Vector详细介绍(源码解析)和使用示例
概要学完ArrayList和LinkedList之后,我们接着学习Vector。学习方式还是和之前一样,先对Vector有个整体认识,然后再学习它的源码;最后再通过实例来学会使用它。第1部分 Vector介绍第2部分 Vector数据结构第3部分 Vector源码解析(基于JDK1.6.0_45)第4部分 Vector遍历方式第5部分 Vector示例转载请注明出处:http://www.cnbl...转载 2018-02-28 19:13:21 · 216 阅读 · 0 评论 -
Java 集合系列之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)
概要前面,我们已经学习了ArrayList。接下来,我们以ArrayList为例,对Iterator的fail-fast机制进行了解。内容包括::1 fail-fast简介2 fail-fast示例3 fail-fast解决办法4 fail-fast原理5 解决fail-fast的原理转载请注明出处:http://www.cnblogs.com/skywang12345/p/3308762.htm...转载 2018-02-08 19:11:19 · 152 阅读 · 0 评论 -
Java 集合系列之 ArrayList详细介绍(源码解析)和使用示例
概要先对ArrayList有个整体认识,再学习它的源码,最后再通过例子来学习如何使用它。内容包括:第1部分 ArrayList简介第2部分 ArrayList数据结构第3部分 ArrayList源码解析(基于JDK1.6.0_45)第4部分 ArrayList遍历方式第5部分 toArray()异常第6部分 ArrayList示例转载请注明出处:http://www.cnblogs.com/sky...转载 2018-02-08 18:48:45 · 151 阅读 · 0 评论 -
java内部类
局部内部类像上面那样InnerClass在sum()方法中只被用了一次,这时可以用局部内部类:局部类不能用public或private修饰,它的作用域被限定在声明这个局部类的块中。局部类对外界完全透明,sum方法外,无人知道该类的存在。 2.匿名内部类对于局部内部类,假如只需要创建这个类的一个对象,就不必命名了,这个类就称为匿名内部类:原创 2018-01-18 20:43:07 · 99 阅读 · 0 评论 -
java类中serialversionuid 作用是什么
serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常,即是InvalidCastEx转载 2018-01-20 11:14:02 · 180 阅读 · 0 评论 -
Java 集合系列之 LinkedList详细介绍(源码解析)和使用示例
概要 前面,我们已经学习了ArrayList,并了解了fail-fast机制。这一章我们接着学习List的实现类——LinkedList。和学习ArrayList一样,接下来呢,我们先对LinkedList有个整体认识,然后再学习它的源码;最后再通过实例来学会使用LinkedList。内容包括:第1部分 LinkedList介绍第2部分 LinkedList数据结构第3部分 LinkedList源...转载 2018-02-08 19:54:24 · 174 阅读 · 0 评论 -
小知识点备注
1.hashmap、hashtable的快速失败在修改元素值,不进行增删的情况下是不会触发的2.hashtable不允许插入key或者value为null的键值对3.hashtable是线程安全的,hashmap不是线程安全的原创 2018-02-02 14:22:39 · 141 阅读 · 0 评论 -
二叉树遍历(前序、中序、后序、层次、深度优先、广度优先遍历)
二叉树是一种非常重要的数据结构,非常多其他数据结构都是基于二叉树的基础演变而来的。对于二叉树,有深度遍历和广度遍历,深度遍历有前序、中序以及后序三种遍历方法,广度遍历即我们寻常所说的层次遍历。由于树的定义本身就是递归定义,因此採用递归的方法去实现树的三种遍历不仅easy理解并且代码非常简洁,而对于广度遍历来说,须要其他数据结构的支撑。比方堆了。所以。对于一段代码来说,可读性有时候要比代码本身的效率...转载 2019-03-24 11:25:45 · 252 阅读 · 0 评论