自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 资源 (15)
  • 收藏
  • 关注

原创 java源码阅读之ThreadPoolExecutor

概述先看一下ThreadPoolExecutor的继承关系: 线程池ThreadPoolExecutor主要用来解决两个问题:通过减少每个任务的调度开销,从而提高大量异步任务执行效率提供了一种管理和限制资源(如线程)的方法此外线程池也提供给了一些基本的统计信息,如完成的任务数等。线程池有以下好处:降低资源消耗:通过重用已经创建的线程来降低线程创建和销毁的消耗提高响应...

2018-04-07 17:48:10 209

原创 java源码阅读之TreeMap

先看看TreeMap的继承关系: TreeMap是一个基于“红黑树”实现的导航映射(NavigableMap)。其映射的Key根据自然顺序排列,或者根据映射创建时提供的比较器排列。 由于TreeMap继承了SortedMap,这要求TreeMap的key必须是可比较的:要么提供compareTo()方法(实现Comparable)接口,要么在映射初始化的时候提供比较器。主意,TreeM...

2018-01-17 00:13:16 242

原创 java源码阅读之Spliterator

Spliterator是java 8才开始提供的一个迭代器实现,从名称可以看出来,Spliterator是一个可分割的迭代器,用来分割和迭代给定源的元素,这里的源可以是collection,array和io等。 spliterator的特别之处在于,它可以通过trySplit()方法,将spliterator实例分割成多个较小的spliterator实例,方便多线程并发处理。spliterator

2017-12-28 23:55:15 2024 1

原创 java源码阅读之LinkedHashSet

LinkedHashSet是基于LinkedList实现的HashSet。 它与HashSet的区别在于LinkedHashSet内部维护了一个双向链表,这个链表用来记录HashSet的迭代顺序。通常的迭代顺序就是元素的插入顺序,但如果一个元素重复插入,则其迭代顺序不会改变。如果需要接受输入并返回其有顺序的拷贝,则可以考虑使用LinkedHashSet。LinkedHashSet提供了所有可选的S

2017-12-28 23:29:51 208

原创 Java源码阅读之LinkedHashMap

顾名思义,LinkedHashMap是基于链表实现的有序的HashMap。LinkedHashMap内部维护了一个双向链表,链表定义了其元素迭代的顺序,通常的顺序就是元素被插入到LinkedHashMap的顺序。 LinkedHashMap摒弃了HashMap的乱序问题,同时也不像TreeMap一样有较高的开销。LinkedHashMap可以用于生成和原始Map顺序一样的拷贝,它提供了一个可以传

2017-12-28 00:03:19 152

原创 java源码分析之HashSet

HashSet实现了Set接口,由一个哈希表(实际上是一个HashMap实例)缓存数据。对Set的迭代没有保证元素顺序,特别是不能保证订单会随着时间的推移而保持不变。HashSet允许null元素。 遍历HasHSet需要的时间与HashSet实例的大小(元素数量)加上支持HashMap实例的“容量”(桶的数量)的总和成正比。因此,如果迭代性能很重要,不要将初始容量设置得太高(或者负载因子太低)。

2017-12-21 00:20:52 165

原创 Java源码阅读之ArrayDeque

Deque接口的可调整大小的实现。 Arraydeque没有容量限制,可以根据需要增长容量以支持使用。 ArrayDeque是线程不安全的,在没有外部同步的情况下,不支持多线程的并发访问。 ArrayDeque不支持null元素。 当用作堆栈时,ArrayDeque可能比Stack快,在用作队列时比LinkedList快。 和LinkedList、ArrayList一样,ArrayDeque的迭代

2017-12-20 23:30:15 225

原创 java源码阅读之LinkedList

LinkedList是List接口的双向链表实现。它继承了AbstractSequentialList抽象类,这个抽象类我们在AbstractList中讨论过,AbstractSequentialList用于抽象“循序访问”的集合。LinkedList还实现了List接口和Deque接口,List接口大家都很熟悉,Deque接口用来表示一个两端可操作的线性集合,是“Double ended Que

2017-12-20 19:20:49 187

原创 jdk源码阅读之ArrayList

ArrayList是我们java编码过程中最常用的集合类型。它在java collection framework中的位置如下: ArrayList是List的可变大小实现,它实现了List的所有可选操作,允许所有元素,包括null。其内部使用一维数组存储数据,因此可以通过索引随机访问。size(), isEmpty(), get(), set(), iterator() 和listIte

2017-12-17 18:09:33 205

原创 jdk源码阅读之AbstractList

AbstractList继承了AbstractCollection, 实现了List接口。它提供了实现“随机访问”的List的一些方法。可以最大限度的减少实现随机访问的数据存储(如LinkList)的工作量,而如果需要实现随机访问的List(如ArrayList)则最好使用AbstractList。AbstractList在Java Collection Framework中的位置如下图示,j

2017-12-16 20:06:27 233

转载 java之垃圾收集器

总结垃圾收集器前,先总结下如何识别垃圾对象相关的知识。如何识别垃圾对象常见的方法有引用计数器法和可达性分析法。引用计数法的逻辑非常简单:在堆中存储对象时,在对象头处维护一个counter计数器,如果一个对象增加了一个引用与之相连,则将counter++。如果一个引用关系失效则counter–。如果一个对象的counter变为0,则说明该对象已经被废弃,不处于存活状态。这种方法来标记对象的状态会导致两

2017-12-07 20:32:05 165

原创 java 运行时数据区详解

java虚拟机定义了若干java程序运行时产生的运行时数据区,他们中有一些随着程序(进程)创建而创建,另一些则跟随线程的生命周期创建和销毁,了解这些对java程序员排查outofmemoryError错误和性能优化有着非常重要的意义。jvm运行时内存区域划分程序计数器java虚拟机支持多线程,在任意时刻,一个cpu核心只能够运行一条指令,为使得多线程切换后线程能够找到之前的执行状态,需要在pc中保留

2017-12-04 18:54:00 219

原创 maven-shade-plugin踩坑记

maven-shade-plugin打包

2017-12-03 16:30:09 12496

原创 HBase client访问表过程分析

我们访问HBase都是通过ZK来访问的,下面分析下HBase client访问表的过程。 在此之前,先看看表的构成对象:Table (HBase table) Region (Regions for the table) Store (Store per ColumnFamily for

2017-11-26 17:10:44 339

翻译 apache hbase的region 分割与合并

原文地址:APACHE HBASE REGION SPLITTING AND MERGING 本文我们将深入探讨hbase的核心领域之一:region分割与合并。 具体来说,我们将详细讨论hbase如何在region间做负载均衡,以及如何管理region分割。hbase的数据以行为单位存储在hbase表中。hbase表按多行被分割成多个region。这些region分布在hbase集群中,并且由

2017-11-26 15:48:25 4100

翻译 译:HBaseWD:通过顺序RowKey避免HBase RegionServer热点问题

在HBase领域,RegionServer热点是一个共性问题。用一句话来描述HBase热点:以顺序RowKey记录数据时,可以通过startRowkey和endRowKey区间最高效地读取数据,但是这种顺序写入却会不可避免地产生RegionServer热点。接下来两部分我们将讨论并告诉你如何避免这个问题。问题描述Hbase中的记录是按照字典顺序存储的。因此可以通过确定的RowKey快速找到某个记录,

2017-11-19 18:11:25 1864 1

转载 jvm内存分配

1.对象分配堆上分配优先在Eden区分配在JVM新生代堆内存一般由一块Eden区和两块Survivor区组成。在大多数情况下, 对象在新生代Eden区中分配, 当Eden区没有足够空间分配时, JVM会发起一次Minor GC, 将Eden区和其中一块Survivor区内存活的对象放入另一块Survivor区, 如果在Minor GC期间发现新生代存活对象无法放入空闲的Survivor区, 则会

2017-10-21 12:18:02 315

转载 java 内存模型详解

1.概述JVM内存模型,也即运行时数据区由以下五部分组成: 堆虚拟机栈本地方法栈方法区程序计数器 其中,堆、方法区是线程共享的,虚拟机栈、Native栈、程序计数器是线程私有的。2.堆(Heap)几乎所有对象实例和数组都要在堆上分配,因此是VM管理的最大一块内存, 也是垃圾收集器的主要活动区域。 由于现代VM采用分代收集算法, 因此Java堆从GC的角度还可以细分为: 新生代(E

2017-10-20 18:49:39 857 3

原创 Java源码阅读之HashMap

HashMap是基于哈希表的Map实现,它提供了所有可选的映射操作,并允许空value和空key。(HashMap类似于Hashtable, 除了HashMap是线程不安全的,并允许null)。HashMap不保证映射顺序,而且也不保证顺序在一段时间内保持不变。 HashMap的迭代需要与其实例的容量(Hash桶数)与其size(键值映射数)成比例。因此,如果迭代性能很重要,就不要将初始容量设置...

2017-08-13 01:36:36 186

蓝光DVD知识讲座.ppt

蓝光DVD发展历史 蓝光DVD现状 蓝光DVD的技术特点 蓝光DVD的技术专利 蓝光产品的未来发展

2011-12-01

Microsoft_Word_2010_官方中文产品指南

Microsoft_Word_2010_官方中文产品指南

2011-12-01

Unofficial.Guide.to.Microsoft.Office.Word.2007

Microsoft.Office.Word.2007非官方指南,英文原版,word和英语同步学习

2011-12-01

代码规范标准

帮助你养成良好的编程习惯,本文是企业内部文档,对阁下熟悉企业中的文档写作有莫大帮助。

2011-11-22

A Mathematical Theory of Communication

香农于1948年发表的《通信的数学理论》,是现代通信理论与技术的奠基,意识通信史上的里程碑之作,经典收藏。

2011-10-25

c语言--入门的经典辅导材料

1、 应用特点 ● C程序代码质量高。编译后生成的目标程序运行速度高占用存储空间少,几乎与汇编语言相媲美。 ● 可移植性好。不作改动或少加改动就能从一个机器系统移植到另一个机器系统上。 3、C语言的不足 弱类型语言,既是灵活之处又是不足之处。

2009-10-14

Protel 99SE

1.1 电路板类型 1.2 电路板类型选择 1.3 常用工作层面、图件和电气构成 1.4 电路板设计基本步骤 1.5 常用的编辑器 1.6 初识Protel 99SE 1.7 自 测 练 习 小结

2009-10-14

基于cpld的数字秒表设计(vhdl)

1.熟悉简单的VHDL程序,掌握相关的EDA知识。2.了解交通灯的设计原理。3.通过学习掌握程序设计思路及运用VHDL语言的控制

2009-09-30

西安电子科技大学信号与线性系统讲义

1.1 信号 1.1.1 信号的分类 信号的分类方法很多,可以从不同的角度对信号进行分类。在信号与系统分析中,我们常以信号所具有的时间函数特性来加以分类。这样,信号可以分为确定信号与随机信号(如图1.1所示)、连续时间信号与离散时间信号、周期信号与非周期信号、能量信号与功率信号、实信号与复信号等

2009-04-18

六级考试425通关讲义

大学英语六级考试425分通关讲义,新东方资源,绝对经典,而且内容详尽。抱你英语六级过关

2009-04-18

信号与线性系统分析(配合西安电子科技大学吴大正教授主编《信号与线性系统分析(第四版)》经典教材.ppt格式)

配合西安电子科技大学吴大正教授主编《信号与线性系统分析(第四版)》经典教材.ppt格式。名师制作,讲解详细,内容丰富,重点突出。是自学和复习的得力助手! 先修课 后续课程 《高等数学》 《通信原理》 《线性代数》 《数字信号处理》 《电路分析基础》 《数字图象处理》 本课程为通信、电子类学生重要的专业基础课。 课程特点 与《电路分析基础》比较,更抽象,更一般化; 常用数学工具: 微分、积分 线性代数 微分方程

2009-03-14

计算机网络PDF课件01(共22节)

经典《计算机网络》课件!配合本课程经典教材!讲解详细!PDF格式!

2009-03-05

计算机网络PDF课件00(共22节)

经典《计算机网络》课件!配合本课程经典教材!讲解详细!PDF格式!

2009-03-05

空空如也

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

TA关注的人

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