摘要: 一、初识CountDownLatch (1)概述 (2)应用场景 Application’s main thread wants to wait, till other service threads which are responsible for starting framework serv 阅读全文
posted @ 2016-04-15 19:20 时空穿越者 阅读(3792) 评论(0) 推荐(0) 编辑
摘要: 第一节 阻塞队列 1.1 初识阻塞队列 队列以一种先进先出(FIFO)的方式管理数据,阻塞队列(BlockingQueue)是一个支持两个附加操作的队列,这两个附加的操作是 在队列为空时,获取元素的线程会等待队列变为非空; 当队列满时,存储元素的线程会等待队列可用。 生产者-消费者模式: 阻塞队列常 阅读全文
posted @ 2016-04-15 12:56 时空穿越者 阅读(6841) 评论(0) 推荐(3) 编辑
摘要: 同步容器、并发容器 在Java并发编程中,经常听到同步容器、并发容器之说,那什么是同步容器与并发容器呢? 同步容器 同步容器可以简单地理解为通过synchronized来实现同步的容器,比如Vector、Hashtable以及SynchronizedList等,如果有多个线程调用同步容器的方法,它们 阅读全文
posted @ 2016-04-14 09:24 时空穿越者 阅读(5204) 评论(1) 推荐(2) 编辑
摘要: One of the best additions in java 5 was Atomic operations supported in classes such as AtomicInteger, AtomicLong etc. These classes internally rely on 阅读全文
posted @ 2016-04-13 15:32 时空穿越者 阅读(3658) 评论(1) 推荐(0) 编辑
摘要: 一、序言 当我们需要使用线程的时候,我们可以新建一个线程,然后显式调用线程的start()方法,这样实现起来非常简便,但在某些场景下存在缺陷:如果需要同时执行多个任务(即并发的线程数量很多),频繁地创建线程会降低系统的效率,因为创建和销毁线程均需要一定的时间。 线程池可以使线程得到复用,所谓线程复用 阅读全文
posted @ 2016-04-13 11:31 时空穿越者 阅读(6159) 评论(1) 推荐(0) 编辑
摘要: 多线程 Simultaneous Multithreading,简称SMT。 并行 并行性(parallelism)指两个或两个以上的事件在同一时刻发生,在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行。 并发 并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间多 阅读全文
posted @ 2016-04-12 21:30 时空穿越者 阅读(865) 评论(0) 推荐(0) 编辑
摘要: 一、序言 变化一: 在引入范型之前,Java中的类型分为原始类型、复杂类型,其中复杂类型分为数组和类;引入范型后,一个复杂类型可以细分成更多的类型。 例如,原先的List类型,现在细分成List<Object>, List<String>等更多的类型。 注:List<Object>和List<Str 阅读全文
posted @ 2016-04-12 18:04 时空穿越者 阅读(1789) 评论(2) 推荐(1) 编辑
摘要: 元数据 所谓的元数据是指用来描述数据的数据,可能刚听到元数据的时候你会有点陌生,其实任何一个使用过struts或者hibernate的开发人员都在不知不觉中使用元数据。 更通俗一点来说,元数据是指描述代码间关系或者代码与其它资源(例如数据库表)之间内在联系的数据,对Struts来说是struts-c 阅读全文
posted @ 2016-04-11 17:20 时空穿越者 阅读(4923) 评论(0) 推荐(4) 编辑
摘要: 初识Java反射机制: 从上面的描述可以看出Java的反射机制使得Java语言可以在运行时去认识在编译时并不了解的类/对象的信息,并且能够调用相应的方法或修改属性的值。Java反射机制的核心就是允许在运行时通过Java Reflection APIs来取得已知名字的class类的内部信息(包括其mo 阅读全文
posted @ 2016-04-10 22:30 时空穿越者 阅读(711) 评论(0) 推荐(1) 编辑
摘要: 代理模式是常用的设计模式,其特征是代理类与委托类具有相同的接口,在具体实现上,有静态代理和动态代理之分。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务,也就是说代理类主要负责为委托类 阅读全文
posted @ 2016-04-10 11:15 时空穿越者 阅读(1633) 评论(0) 推荐(0) 编辑
摘要: 因一次机试,随便写些东西,以此次之失误鞭策自己,水贴一篇,没什么知识分享,诸位大大可以选择无视O(∩_∩)O哈哈~ 2016.03.27下午参加华为机试,简单扫了一眼几个题的标题,选择了一道字符串问题,其实该题非常非常的简单,可以说是简单的不能再简单了,而且有很多种解法,上机时我选择了直接借用jav 阅读全文
posted @ 2016-03-28 00:03 时空穿越者 阅读(23627) 评论(44) 推荐(7) 编辑
摘要: 一、初识Lock Lock是一个接口,提供了无条件的、可轮询的、定时的、可中断的锁获取操作,所有加锁和解锁的方法都是显式的,其包路径是:java.util.concurrent.locks.Lock,其核心方法是lock()、unlock()、tryLock(),实现类有ReentrantLock、 阅读全文
posted @ 2016-03-24 19:26 时空穿越者 阅读(845) 评论(0) 推荐(0) 编辑
摘要: 要使任务和线程能安全可靠地停止,并不是一件很容易的事情,java没有提供任何机制来安全地终止线程,那么我们该怎么办呢? 下面我们先来了解一下java中的中断机制: Java 中的线程中断是 一种线程间的协作机制。 也就是说在某个线程中对另一个线程调用interrupt()方法并不能直接终止该线程,需 阅读全文
posted @ 2016-03-24 10:58 时空穿越者 阅读(1103) 评论(0) 推荐(0) 编辑
摘要: 第一节 String类型的方法参数 运行下面这段代码,其结果是什么? 结果如下: 解说:java 中String是 immutable的,也就是不可变,一旦初始化,引用指向的内容是不可变的(注意:是内容不可变)。 也就是说,假设代码中有String str = “aa”;str=“bb”;,则第二条 阅读全文
posted @ 2016-03-23 15:11 时空穿越者 阅读(60822) 评论(4) 推荐(2) 编辑
摘要: 运行下面这段代码,其结果是什么呢? 结果是:0 上述类似代码在C/C++中运行结果是:1,这是为什么呢? 这是因为Java使用了中间缓存变量机制:i=i++;等同于:temp=i; (等号右边的i)i=i+1; (等号右边的i)i=temp; (等号左边的i)而i=++i;则等同于:i=i+1;te 阅读全文
posted @ 2016-03-22 16:45 时空穿越者 阅读(980) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示