10 2017 档案
摘要:1、ThreadPoolExecutor的重要参数 2、线程池队列的选择 wordQueue任务队列,用于转移和阻塞提交了的任务,即任务队列是运行线程的,任务队列根据corePoolSize和maximumPoolSize工作: 1.当正在运行的线程小于corePoolSize,线程池会创建新的线程
阅读全文
摘要:1、线程池解决的问题 在线程的使用过程中,直接创建一个线程来执行,这样实现起来非常简单方便,但是会存在问题: 1.如果并发的线程数量太多,并且每个线程都是执行很短一个时间就会结束,这样频繁的创建线程会大大降低系统的效率,因为创建线程和摧毁线程需要时间。 2.另一方面如果每个线程都需要执行很长时间消耗
阅读全文
摘要:Iterator 和 Enumeration区别 Iterator 和 Eumberation都是Collection集合的遍历接口,我们先看下他们的源码接口 1 引入的时间不同 Iteration是从JDK1.0 开始引入,Enumeration是从JDK1.2开始引入 2 接口不同 Enumer
阅读全文
摘要:1、fail-fast简介 fail-fast机制是java集合(Collection)中的一个错误机制。当多个线程对同一个集合的内容进行操作时,就可能会产生fail-fast事件。 例如:当某一个线程A通过iterator去遍历某集合的过程中,若该集合的内容被其他线程所改变了;那么线程A访问集合时
阅读全文
摘要:首先看下Map的框架图 1、Map概述 1、Map是键值对映射的抽象接口 2、AbstractMap实现了Map中绝大部分的函数接口,它减少了“Map实现类”的重复编码 3、SortedMap有序的“键值对”映射接口 4、NavigableMap是继承与SortedMap的,支持导航函数的接口 5、
阅读全文
摘要:Map 是非常常用的一种数据接口。在 Java 中,提供了成熟的 Map 实现。 Map 主要用于存储键(key)值(value)对,根据键得到值,因此键不允许键重复,但允许值重复。 在散列中有几个名词需要解释下: Capacity: 容量,hash表里bucket(桶)的数量,也就是散列数组的大小
阅读全文
摘要:原文链接:http://blog.csdn.net/zhangjg_blog/article/details/20380971 什么是Java虚拟机 作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。但是如果要问什么是虚拟机,恐怕很多人就会模
阅读全文
摘要:Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢? 1 使用new操作符创建一个对象 2 使用clone
阅读全文
摘要:1. java内存分配有以下6个地方可以保存数据 1.1 寄存器:这是最快的保存区域,因为它位于和其他所有的保存方式:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权,也不能在自己的程序里找到寄存器存在的任何痕迹。 1.2 堆栈: 驻留于常规的RAM
阅读全文
摘要:原创文章,转载请务必将下面这段话置于文章开头处(保留超链接)。本文转发自技术世界,原文链接 http://www.jasongj.com/java/nio_reactor/ Java I/O模型 同步 vs. 异步 同步I/O 每个请求必须逐个地被处理,一个请求的处理会导致整个流程的暂时等待,这些事
阅读全文