自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

转载 ArrayList的实现原理

1. ArrayList概述:    ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。    每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向ArrayList中不断添加元素,其容量

2017-11-22 21:44:43 178

转载 HashTable底层代码及与HashTable的差别

Hashtable简介     Hashtable同样是基于哈希表实现的,同样每个元素是一个key-value对,其内部也是通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。     Hashtable也是JDK1.0引入的类,是线程安全的,能用于多线程环境中。     Hashtable同样实现了Serializable接口,它支持序列化,实现了Cloneabl

2017-11-22 21:31:46 3018

转载 HashMap的原理及实现

一.JDK 1.7 1.基本属性 继承关系 public class HashMapextends AbstractMap implements Map, Cloneable, Serializable 基本属性 static final int DEFAULT_INITIAL_CAPACITY = 1 static final

2017-11-21 21:04:33 169

转载 Mysql索引实现

MySQL索引实现 在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,本文主要讨论MyISAM和InnoDB两个存储引擎(MySQL数据库MyISAM和InnoDB存储引擎的比较)的索引实现方式。 MyISAM索引实现 MyISAM引擎使用B+Tree作为索引结构,叶结点的data域存放的是数据记录的地址。下面是MyISAM索引的原理图: 图

2017-11-17 15:42:45 170

转载 B-和B+树

B-Tree和B+Tree 关于B树和B+树请参考关于B树的一些总结,这篇文章介绍的比较详细,同时容易理解。 目前大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构,在本文的下一节会结合存储器原理及计算机存取原理讨论为什么B-Tree和B+Tree在被如此广泛用于索引,这一节先单纯从数据结构角度描述它们。 B-Tree 为了描述B-Tree,首先定义一条数据记录为

2017-11-17 15:37:59 247

转载 JVM虚拟机参数配置

堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统 下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 典型设置: java -Xmx3550m -Xms35

2017-11-16 22:58:15 164

转载 StackOverflow和OutOfMemory

1、stackoverflow: 每当java程序启动一个新的线程时,java虚拟机会为他分配一个栈,java栈以帧为单位保持线程运行状态;当线程调用一个方法是,jvm压入一个新的栈帧到这个线程的栈中,只要这个方法还没返回,这个栈帧就存在。  如果方法的嵌套调用层次太多(如递归调用),随着java栈中的帧的增多,最终导致这个线程的栈中的所有栈帧的大小的总和大于-Xss设置的值,而产生生St

2017-11-16 22:31:15 11547 1

转载 Mysql数据库引擎区别

1.如何选择数据库引擎? 为了做出选择哪一个存储引擎的决定,我们首先需要考虑每一个存储引擎提供了哪些不同的核心功能。这种功能使我们能够把不同的存储引擎区别开来。我们 一般把这些核心功能分为四类:支持的字段和数据类型、锁定类型、索引和处理。一些引擎具有能过促使你做出决定的独特的功能,我们一会儿再仔细研究这些具体 问题。   (1)字段和数据类型   虽然所有这些引擎都支持通用的

2017-11-15 22:47:21 396

转载 ConcurrentHashMap原理

本文所有源码都是基于jdk1.6  首先说明一点,ConcurrentHashMap并不是可以完全替换Hashtable的,因为ConcurrentHashMap的get、clear函数是弱一致的(后面会说到),而Hashtable是强一致的。有作者是这么解释的:我们将“一致性强度”和“扩展性”之间的对比交给用户来权衡,所以大多数集合都提供了synchronized和concurrent两个版本

2017-11-15 22:30:12 165

转载 ConcurrentModificationException

异常产生 当我们迭代一个ArrayList或者HashMap时,如果尝试对集合做一些修改操作(例如删除元素),可能会抛出java.util.ConcurrentModificationException的异常。 import java.util.Iterator; import java.util.List; public class AddRemoveListElement { pu

2017-11-15 22:04:22 415

转载 UML图及其含义

1.先做个总结: UML图的标志: (1)实现, 虚线 + 三角; (2)泛化(继承),实线 + 三角; (3)依赖,虚线 + 箭头; (4)关联,实线 + 箭头; (5)聚合,实线 + 空心菱形; (6)组合,实线 + 实心菱形。 2.相互间关系 组合>聚合>关联>依赖 2.1 依赖(Dependency): 元素A的变化会影响元素B,但反之

2017-11-14 22:31:07 2016

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除