排序:
默认
按更新时间
按访问量

java 集合框架-HashMap

一、概述HashMap应该是我们最常会使用到的Map容器了吧,这里先简单罗列写它的特点: 1.实现所有Map接口方法,允许null值key、null值value 2.不保证元素的顺序,包括先后添加的顺序,特别是随着容量增加顺序不能保证 3.实现等价于HashTable,区别是HashMap是...

2017-06-15 18:52:56

阅读数:221

评论数:0

java 集合框架 Map-AbstractMap

Map接口 键值对映射(key-value),对于一个map,每个key都是唯一的,不重复,而且每个key对应一个value,value可以重复 需要注意可变对象作为key,key对象是否相等,是使用equal方法判断的,如果可变对象改变的状态导致equal方法结果改变,那么映射的错误是未知、不确...

2017-06-15 18:52:00

阅读数:287

评论数:0

ReentrantLock锁与内置锁synchronized

Syschronized 关键字 同步代码块(同步方法)对象内置锁 使用对象自身的内置锁(监视器锁-monitor lock) 实例方法-使用实例对象锁,static 方法 使用Class对象锁 对象内置锁为互斥锁,一个同步块,只有一个线程进入 同步代码块中的代码具有原子性 计入代码块内获取到锁,...

2017-02-08 18:12:46

阅读数:731

评论数:0

JVM学习-垃圾收集器

虚拟机有许多的垃圾收集器可以选择,这里简单的记录分享下每个收集器的特点 一、Serial 历史最久,曾经是新生代唯一选择 单线程,进行时暂停所有用户线程-Stop The World Client模式下默认新生代收集器 单个线程更加高效简单,没有线程交互开销,一般client应用内存使用不大,停顿...

2017-02-03 17:07:13

阅读数:204

评论数:0

java 集合框架-CopyOnWriteArrayList

CopyOnWriteArrayList是java.util.concurrent并发包下的集合类,与集合功能与ArrayList相似,主要区别为这是线程安全类 如类名一样,在对底层数组写(修改)时,会复制一份数组进行实际操作,操作完成后修改引用为新数组;而在读的时候是直接读取数组 接下...

2017-01-18 18:20:43

阅读数:219

评论数:0

java 集合框架-ArrayList

在上一篇中我们描述了AbstractList的一些特性,包括迭代器的快速失败机制,这篇我们继续分享List下最常用的ArrayList以及非常类似的Vector,ArrayList具体实现类主要有以下特性: - 支持动态大小,集合的大小可以自动扩展 - 不是线程同步安全,所有方法都不同...

2017-01-12 16:53:29

阅读数:290

评论数:0

java 集合框架-AbstractList

AbstractList 作为具体List型具体类,实现AbstractCollection抽象类、继承List接口,实现了部分方法 - indexOf - lastIndexOf - subList - addAll - iterator - listIter...

2016-11-17 20:35:29

阅读数:228

评论数:0

java 集合框架-AbstractCollection

AbstractCollection 作为顶级接口Collection的抽象实现子类,实现了一下集合基本方法: - isEmpty - contains - toArray - add - remove - containsAll - addAll ...

2016-11-17 20:34:09

阅读数:314

评论数:0

java 集合框架-概述

Java 集合框架在java.util 包下,包括常用的容器类数据结构、工具类等,本章主要为对下图的简单概括,后续章节通过源码说明每个容器类的详细实现细节: 集合框架中两个顶级的集合接口:Collection、Map,定义了最基本的一些操作方法; 其中Collect...

2016-11-17 20:32:56

阅读数:326

评论数:0

JVM学习-java垃圾回收(三)-内存分配

在上一篇中主要说到了垃圾回收算法、垃圾收集器等,这篇我们来学习下对象在内存分配的策略; 一、概述对象在内存分配,一般都是在堆内存上分配,主要是会分配到新生代的Eden区,如果有开启本地线程分配缓冲区,会按线程优先在TLAB上分配,还有少数情况会直接在老年代分配;对象内存的分配的策略细节由垃圾收集器...

2016-08-31 17:43:01

阅读数:885

评论数:0

JVM学习-java垃圾回收(二)-GC日志

GC 日志是一个分析Java内存回收有用的工具,它能准确的记录每一次GC的执行时间和结果 GC or Full GC关于Full GC,容易有误解,以为是堆全部年代内存GC;其实”Full” 并不是用来区分新生代GC和老年代GC,只是表示这次GC发生了”Stop The World(STW)”-X...

2016-08-24 14:19:39

阅读数:1205

评论数:0

JVM学习-java垃圾回收(一)

在上一篇中主要描述了Java 内存的分布,对象存储和访问已经各个内存区域可能的异常等,本篇主要描述Java 垃圾回收中有关内存回收策略和垃圾回收器的部分内容;

2016-08-01 18:09:35

阅读数:468

评论数:0

JVM学习-java内存区域与异常

java是一门跨硬件平台的面向对象高级编程语言,java程序运行在java虚拟机上(JVM),由JVM管理内存,这点是和C++最大区别;虽然内存有JVM管理,但是我们也必须要理解JVM是如何管理内存的;JVM不是只有一种,当前存在的虚拟机可能达几十款,但是一个符合规范的虚拟机设计是必须遵循《jav...

2016-07-21 13:14:42

阅读数:1744

评论数:0

Java NIO 学习(六)--Selector

在之前讲解的网络相关的channel,都有讲到非阻塞模式,只简单说明了那些方法在非阻塞模式下的返回情况,并没有实际的应用;本节要讲到的selector就是NIO中非阻塞模式使用的一大优点; 一、概述selector,选择器,同过一个选择器,程序可以通过一个线程处理多个channel,而不需要像之前...

2016-07-16 20:03:15

阅读数:803

评论数:0

Java NIO 学习(五)--DataGramChannel

本节讲解的是DataGramChannel,类是与java 网络编程的DatagramSocket类;使用UDP进行网络传输,UDP是无连接,面向数据包的协议,对传输的数据不保证安全与完整;

2016-07-15 12:38:42

阅读数:964

评论数:0

Java NIO 学习(四)--ServerSocketChannel与SocketChannel

本机要讲到的ServerSocketChannel、SocketChannel,与Java网络编程中的ServerSocket、Socket是非常相识,至少从使用方式上来看是这样,本质上都是TCP网络套接字,只是多了“channel”;

2016-07-13 17:53:14

阅读数:8246

评论数:4

Java NIO 学习(三)--FileChannel

一、概述NIO 中FileChannel可以理解为一个连接到文件的通道,可以通过FileChannel对文件进行读写; FileChannel没有非阻塞模式,读写都只有阻塞的方式;

2016-07-06 19:56:12

阅读数:462

评论数:0

Java NIO 学习(二)--Buffer

在第一节中,简单的描述了NIO三个核心的类:channel、buffer、selector;由于缓冲区作为操作的基本,而且底层channel接口没有过多细节(只有两个方法:isOpen、close)这里先讲解缓冲区的详细内容,后面再讲解具体类型的channel和selector;

2016-07-05 12:58:36

阅读数:578

评论数:0

Java NIO 学习(一)--简介

Java NIO (New IO)是JDK1.4后引入的新输入/输出API,提供基于缓冲区(buffer)的块写入/读取,而以前的I/O是基于流(Stream)的方式,NIO基于块的IO操作,将最耗时的缓存区读取和填充交由底层操作系统实现,因此速度上要快得多;主要由以下三个核心部分组成: 1. ...

2016-07-04 12:21:56

阅读数:371

评论数:0

使用CGLib实现动态代理

java的动态代理是必须基于接口的,而在编程中,使用到的外部类并不是基于接口编程的比比皆是,这有如何实现动态代理?使用可以基于类实现动态代理的CGLib!

2016-06-20 19:36:36

阅读数:3424

评论数:0

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