- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 Java集合
一、背景知识1线性表是n个具有相同数据类型的有限序列(n>=0)。在实际应用中,线性表都是以栈、队列、字符串、数组等特殊线性表的形式来使用的。线性表按顺序存储分为顺序表,按链接存储分为链表。由于这些特殊线性表都具有各自的特性,因此,掌握这些特殊线性表的特性,对于数据运算的可靠性和提高操作效率都是至关重要的。 2顺序表:用一段地址连续的存储单元依次存储数据元素,通常用一维
2015-07-22 19:07:29 389 2
原创 探索 ConcurrentHashMap 高并发性的实现机制
简介ConcurrentHashMap 是 util.concurrent 包的重要成员。本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体实现机制。由于 ConcurrentHashMap 的源代码实现依赖于 Java 内存模型,所以阅读本文需要读者了解 Java 内存模型。同时,ConcurrentHashMap 的源代
2015-07-21 15:44:43 326
原创 深入理解HashMap
1. HashMap概述:HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2. HashMap的数据结构: 在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,
2015-07-21 14:36:58 324
原创 java io流
Java中的流,可以从不同的角度进行分类。按照数据流的方向不同可以分为:输入流和输出流。按照处理数据单位不同可以分为:字节流和字符流。按照实现功能不同可以分为:节点流和处理流。 输出流: 输入流:因此输入和输出都是从程序的角度来说的。字节流:一次读入或读出是8位二进制。字符流:一次读入或读出是1
2015-07-20 15:46:07 401
原创 Java 内存分配浅析
Java程序运行在JVM(Java Virtual Machine,Java虚拟机)上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可见JVM的重要性。所以在学习Java内存分配原理的时候一定要牢记这一切都是在JVM中进行的,JVM是内存分配原理的基础与前提。简单通俗的讲,一个完整的Java程序运行过程会涉及以下内存区域:寄存器:JVM内部
2015-07-20 10:29:56 366
原创 Servlet生命周期与Servlet容器
一Servlet容器响应客户请求访问特定的servlet的时序图二Servlet的生命周期 Servlet的生命周期可以分为三个阶段:初始化阶段、运行时阶段和销毁阶段1、初始化阶段包括四个步骤:(1)Servlet容器加载Servlet类,把他的.class文件读到内存中。(2)Servlet容器创建ServletConfig对象。(3)Servlet容器创建Se
2015-07-19 19:55:43 1058
原创 深入理解volatile关键字
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于volatile关键字是与Java的内存模型有关的,因此在讲述volatile关键之前,我们先来
2015-07-13 15:50:21 595
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人