![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java源码
IceMimosa
博客转战 http://patamon.me
展开
-
java变量的初始化顺序
假设子类B继承了父类A,当执行语句new B()或者new B(…)语句之后 1. 类的装载 (多次实例化只装载一次) (1). 首先要进行类A和B的装载(类只有在使用New调用创建的时候才会被 java类装载器装入),先装载父类A,再装载子类B2. 静态初始化 (多次实例化只初始化一次) (1). 装载父类A后,完成静态动作(包括静态代码块和变量,它们的级别是相同的,按代原创 2015-12-29 16:41:54 · 457 阅读 · 0 评论 -
Vector和Stack分析
1. Vector与ArrayList作为底层都是采用动态数组作为实现基础的类,Vector和ArrayList在很多方面都是大同小异的。在阅读之前本文之前可以先阅读ArrayList的源码解析,然后Vector基本就一目了然了。 说下他们的主要区别: 1. Vector里面的方法都是同步的,线程安全的。 2. Vector的扩容大小与ArrayList不同,Vector1.6原创 2015-12-30 00:42:57 · 1099 阅读 · 3 评论 -
ConcurrentHashMap分析
熟悉了HashMap和HashTable,下面就来聊一聊并发问题。。以及说一说 ConcurrentHashMap的分析。1 为什么采用ConcurrentHashMap为什么在多线程的环境下java建议使用ConcurrentHashMap呢,那么首先从HashMap和HashTable的缺点出发。1.1 HashMap的问题首先大家大家都知道HashMap是线程不安全的,那为毛不安全呢。。 不原创 2015-12-31 23:41:12 · 712 阅读 · 0 评论 -
java交换两个变量的值
// 1. 临时变量(推荐使用,简单直接) temp = a; a = b; b = temp; // 2. 异或(只支持整形,float等不支持) a = a ^ b; b = a ^ b;原创 2016-01-21 15:46:51 · 453 阅读 · 0 评论 -
HashMap分析
HashMap类的源码分析,本文是基于 java1.6 和 java1.7 的源码。HashMap 是基于哈希表的Map接口的实现,主要用来提供键和值的映射操作,并且键值不能“重复”,且无序。java6和7 两个版本中如果有明显不同,我会明确标出。1. HashMap简介1.1 结构HashMap存储结构图: 从图中可以看出HashMap结合了数组和链表两种数据结构,众所周知1. 数组在检索的原创 2015-12-26 17:09:38 · 1372 阅读 · 0 评论 -
ArrayList分析
ArrayList类的源码分析, 主要针对java1.6和java1.7的进行源码的分析。原创 2015-12-25 10:30:39 · 1523 阅读 · 0 评论 -
LinkedList分析
LinkedList源码分析,基于java1.6和java1.7的分析,由于1.6和1.7在实现上相差比较大,参考之前,我先对1.6实现的LinkedList做下简单的介绍。首先呢,LinkedList原创 2015-12-27 19:43:03 · 1377 阅读 · 0 评论 -
Spring-04-事务管理
Spring中的事务管理(1) 事务简介事务管理是企业级应用程序开发中必不可少的技术, 用来确保数据的完整性和一致性. 事务就是一系列的动作, 它们被当做一个单独的工作单元. 这些动作要么全部完成, 要么全部不起作用事务的四个关键属性(ACID) 原子性(atomicity): 事务是一个原子操作, 由一系列动作组成. 事务的原子性确保动作要么全部完成要么完全不起作用.一致性(consi原创 2016-02-25 17:39:50 · 557 阅读 · 0 评论