自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (4)
  • 收藏
  • 关注

原创 [笔记][Java7并发编程实战手册]系列目录

推荐学习多线程之前要看的书。 [笔记][思维导图]读深入理解JAVA内存模型整理的思维导图文章里面的思维导图或则对应的书籍。去看一遍。能理解为什么并发编程就会出现问题。  Java7并发编程实战手册 这一本实战的书籍。本笔记记录是看了该书。随笔的一些笔记,和在实际动手敲示例的过程中总结出来的一点经验,大部分是内容是书籍上总结的,还有一大部分是自己实践中总结的。本博客中大部分章节或许都不是书籍上的原d

2015-08-11 22:29:50 3828 4

原创 [笔记][Java7并发编程实战手册]4.7-4.8 在执行器中延迟执行或则周期执行任务ScheduledThreadPoolExecutor

[笔记][Java7并发编程实战手册]系列目录看这本书到现在这个章节。我总算是发现了。有些时候一个方法都会开一个章节来讲解。而且还没有什么好东西。 以后要是再有类似的章节。我就直接合在一起得了。简介  newScheduledThreadPool:创建一个线程池,它可安排在给定延迟后运行命令或者定期地执行。 它可以实现延迟或则周期执行任务。 在线程池中,发送一个任务,线程池会按照配置

2015-08-31 22:32:17 1205

原创 [笔记][Java7并发编程实战手册]4.5-4.6 运行多个任务并处理第一个结果/所有结果ThreadPoolExecutor

[笔记][Java7并发编程实战手册]系列目录简介  看到这个标题的时候,我也很纳闷,因为没有明白所表达的意思。   ok,并发编程比较常见的一个问题是:当采用多个并发任务来解决一个问题的时候,往往只需要关心这个任务的第一个结果,例如:验证一个算法的时候,假如一个执行5个算法,那么最先返回结果的,就是最快的。在本章将会学习,如何使用ThreadPoolExecutor来实现类似场景;本章Threa

2015-08-30 21:09:11 2843

原创 [笔记][Java7并发编程实战手册]4.4 在执行器中执行任务并返回结果Callable、Future

[笔记][Java7并发编程实战手册]系列目录简介  执行框架(Executor Framework)的优势之一就是,可以在运行并发任务的时候返回结果。但是需要以下两个类来实现功能:    1. 接口 Callable<V> 返回结果并且可能抛出异常的任务。实现者定义了一个不带任何参数的叫做 call 的方法。 Callable 接口类似于 Runnable,两者都是为那些其实例可

2015-08-30 20:06:55 1300

原创 [笔记][Java7并发编程实战手册]4.3 创建固定的线程执行器newFixedThreadPool线程池

[笔记][Java7并发编程实战手册]系列目录简介 newFixedThreadPool(int nThreads, ThreadFactory threadFactory) 创建一个可重用固定线程数的线程池,以共享的无界队列方式来运行这些线程,在需要时使用提供的 ThreadFactory 创建新线程。newCachedThreadPool()创建的线程池的特性是:自动回收不使用

2015-08-25 21:53:32 5577

原创 [笔记][Java7并发编程实战手册]4.2 创建线程执行器newCachedThreadPool无界线程池

[笔记][Java7并发编程实战手册]系列目录简介在jdk api中的介绍如下一部分,其他的请查看api文档   ThreadPoolExecutor是一个一个 ExecutorService,它使用可能的几个池线程之一执行每个提交的任务,通常使用 Executors 工厂方法配置。   线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增

2015-08-24 22:27:55 4063

原创 [笔记][Java7并发编程实战手册]系列第四章 4.1 简介

[笔记][Java7并发编程实战手册]系列目录好把。这一章的任务感觉好难,自己也没有了解过,只能跟着书上的多测试了。第四章在本章中,我们将学习: 1. 创建线程执行器 2. 创建固定大小的线程执行器 3. 在执行器中执行任务并返回结果 4. 运行多个任务并处理第一个结果 5. 运行多个任务并处理所有结果 6. 在执行器中延时执行任务 7. 在执行器中周期性执行任务 8. 在执行器中取

2015-08-24 22:25:16 943

原创 [笔记][Java7并发编程实战手册]3.8 并发任务间的数据交换Exchanger

[笔记][Java7并发编程实战手册]系列目录简介  Exchanger 是一个同步辅助类,用于两个并发线程之间在一个同步点进行数据交换。   允许两个线程在某一个点进行数据交换。本章exchanger 使用心得总结两个线程必须使用同一个Exchanger对象,且只能是两个线程间的数据交换exchanger.exchange(v)的时候,当前线程会被阻塞,直到另一个线程执行该方法,同时完成数据

2015-08-23 22:15:46 1021

原创 [笔记][Java7并发编程实战手册]3.7 并发阶段任务中的阶段切换phaser

[笔记][Java7并发编程实战手册]系列目录简介  本章主要学习phaser中的阶段切换。在一些场景中,从当前阶段切换到下一阶段过度的时候执行一些操作,那么本章的知识就用上了。   在phaser中,有一个onAdvance方法, 该方法在参与者数量为0的时候,返回true,来表示该phaser状态为终止状态。   下面是默认的处理,还有一个phase参数没有用到,我们可以覆写该方法,通过判断

2015-08-23 20:32:36 1344

原创 [笔记][Java7并发编程实战手册]3.6 并发阶段任务的运行phaser

[笔记][Java7并发编程实战手册]系列目录简介Phaser是一个更强大的、更复杂的同步辅助类,可以代替CyclicBarrier CountDownLatch的功能,但是比他们更强大。 Phaser类机制是在每一步结束的位置对线程进行同步,当所有的线程都完成了这一步,才能进行下一步。 当我们有并发任务并且需要分解成几步执行的时候,这种机制就非常适合。 CyclicBarrier Count

2015-08-23 16:54:59 1187

原创 [笔记][Java7并发编程实战手册]3.5 在集合点的同步CyclicBarrier循环barrier

[笔记][Java7并发编程实战手册]系列目录CyclicBarrier详细原理解说,可先查看别人的博客:http://www.cnblogs.com/skywang12345/p/3533995.html简介CyclicBarrier是一个同步辅助类,允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。因为该 barrier 在释放等待线程后可以重用,所以称

2015-08-22 17:46:10 1315

原创 [笔记][Java7并发编程实战手册]3.4 等待多个并发事件的完成CountDownLatch倒计数闭锁

[笔记][Java7并发编程实战手册]系列目录简介本文学习CountDownLatch 倒计时闭锁。 本人英文不好,靠机器翻译,然后有一段很形象的描述,让我把它叫为倒计时 用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现

2015-08-19 21:50:15 1339

原创 [笔记][Java7并发编程实战手册]3.3 资源的多副本并发访问控制Semaphore

[笔记][Java7并发编程实战手册]系列目录简介本文继续学习信号量Semaphore机制。 在3.2中其实已经讲解完了,之前对于信号量并发的使用场景不知道,看了本章节才想到一些; 下面就以 租车为列子来讲解并发访问的控制。(示例都很简单或许不符合现实逻辑)信号量(非二进制信号量)是不保证同步的,需要额外的同步示例场景:有一个出租车公司,有三台车,有十个司机,每个司机工作的时间不一致,可以说

2015-08-17 22:01:23 1103

原创 IntelliJ IDEA自用快捷键(使用defeat修改)

最常用快捷键 Command Binding Description defeat - Ctrl+/ 代码提示 No - Ctrl+Alt+L 格式化代码 - Ctrl+J 自动代码,eclipse中自定义的快速代码缩写 - Ctrl+B 快速打开光标处的类或方法 - Ctrl+E 可以显示最近编辑的文件

2015-08-17 09:57:44 3070

原创 [笔记][Java7并发编程实战手册]3.2 资源的并发访问控制Semaphore信号量

[笔记][Java7并发编程实战手册]系列目录简介本文学习信号量Semaphore机制。Semaphore本质是一个共享锁内部维护一个可用的信号集,获取信号量之前需要先申请获取信号数量;用完之后,则需要释放信号量;如果不释放,那么其他等待线程则一直阻塞直到获取信号量或则被中断为止本人的理解是:互斥锁是同一时间只能一个线程访问,而在这里,是同一时间允许获取到了信号量的线程并发访问,而没有获取到信

2015-08-13 21:58:02 1122

原创 [笔记][Java7并发编程实战手册]第三章-线程同步辅助类-3.1概要

[笔记][Java7并发编程实战手册]系列目录有点着急了,没有太注重质量,自己也没有理解透,从本章起,读书和随笔笔记的质量会更好。第三章在本章中,我们将学习:1. 资源的并发访问控制 2. 资源的多副本的并发访问控制 3. 等待多个并发事件的完成 4. 在集合点的同步 5. 并发阶段任务的运行 6. 并发阶段任务中的阶段切换 7. 并发任务间的数据交换回顾在第二章中主要学习了以下接口s

2015-08-13 21:43:22 1260

转载 Java多线程系列--“JUC锁”08之 共享锁和ReentrantReadWriteLock

Java多线程系列-目录 [笔记][Java7并发编程实战手册]系列目录概要Java的JUC(java.util.concurrent)包中的锁包括”独占锁”和”共享锁”。 在“Java多线程系列–“JUC锁”02之 互斥锁ReentrantLock ”中,对Java的独占锁进行了说明。 本章对Java的“共享锁”进行介绍,JUC中的共享锁有CountDownLatch, CyclicBar

2015-08-13 14:01:24 1115

转载 Java多线程系列--“JUC锁”07之 LockSupport

概述本章介绍JUC(java.util.concurrent)包中的LockSupport。LockSupport介绍LockSupport是用来创建锁和其他同步类的基本线程阻塞原语。 LockSupport中的park() 和 unpark() 的作用分别是阻塞线程和解除阻塞线程,而且park()和unpark()不会遇到“Thread.suspend 和 Thread.resume所可能引发的

2015-08-12 16:16:57 700

转载 Java多线程系列--“JUC锁”06之 Condition条件

Java多线程系列-目录 [笔记][Java7并发编程实战手册]系列目录概要前面对JUC包中的锁的原理进行了介绍,本章会JUC中对与锁经常配合使用的Condition进行介绍Condition介绍Condition的作用是对锁进行更精确的控制。 Condition中的await()方法相当于Object的wait()方法, Condition中的signal()方法相当于Object的noti

2015-08-12 15:03:48 629

转载 Java多线程系列--“JUC锁”05之 非公平锁

Java多线程系列-目录概要前面两章分析了”公平锁的获取和释放机制”,这一章开始对“非公平锁”的获取锁/释放锁的过程进行分析。参考代码下面给出Java1.7.0_40版本中,ReentrantLock和AQS的源码,仅供参考!ReentranLock.java/* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.

2015-08-12 11:16:51 785

原创 [笔记][Java7并发编程实战手册]2.5使用Lock实现同步二

概要接上一篇文章,练习修改锁的公平性,和在所中使用条件。修改锁的公平性ReentrantLock /** *构造一个锁对象,默认为非公平锁 */ public ReentrantLock(boolean fair) { sync = fair ? new FairSync() : new NonfairSync(); }根据Reentrant

2015-08-11 22:21:20 1208

原创 urlrewrite(URL重写)配置技巧

http://cdn.rawgit.com/paultuckey/urlrewritefilter/master/src/doc/manual/4.0/index.html 官方文档。 支持对进站url的映射配置。进站url映射 <!-- 进站url 是/demo/xxx.html 的请求会被转发到/demo.action?id=xxx 的地址 --> <rule> <

2015-08-11 16:07:49 4004

原创 IntelliJ Idea中怪异出错bug,tomcat中和main中md5加密不一致

事件背景: 本人用两个开发工具开发项目,在某一次中,使用了eclipse调用idea中的项目(两个工具都是把项目部署到tomcat中的),突然就报错了。签名一直过不了。最后跟踪代码发现问题出现在md5加密上。 各家用的md5加密都不一致。最后发现inbuf.getBytes(“utf-8”) 这句代码,没修改之前是inbuf.getBytes();所以在tomcat下和单独的main测试出来的加

2015-08-11 11:31:26 3674

转载 Java多线程系列--“JUC锁”04之 公平锁(二)

Java多线程系列-目录概要前面一章,我们学习了“公平锁”获取锁的详细流程;这里,我们再来看看“公平锁”释放锁的过程。参考代码下面给出Java1.7.0_40版本中,ReentrantLock和AQS的源码,仅供参考!ReentranLock.java/* * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. *

2015-08-10 15:33:03 1120

转载 Java多线程系列--“JUC锁”03之 公平锁(一)

Java多线程系列-目录概要本章对“公平锁”的获取锁机制进行介绍(本文的公平锁指的是互斥锁的公平锁)基本概念本章,我们会讲解“线程获取公平锁”的原理;在讲解之前,需要了解几个基本概念。后面的内容,都是基于这些概念的;这些概念可能比较枯燥,但从这些概念中,能窥见“java锁”的一些架构,这对我们了解锁是有帮助的。AQS – 指AbstractQueuedSynchronizer类。 AQS是jav

2015-08-10 15:18:34 1892

原创 [笔记][Java7并发编程实战手册]2.5使用Lock实现同步一

lock详细解说请参考:Java多线程系列–“JUC锁”01之 框架lock接口是同步代码块的另一种机制,比synchronized关键字更强大也更灵活提供了许多新功能,例如:tryLock()方法,这个方法试图获取锁,如果锁已被其他线程获取,它将返回false并往下继续执行代码。而使用synchronized,如果线程A试图执行一个同步代码块,如果B线程已经在执行这个代码块了,线程A将被挂起。

2015-08-09 16:45:01 908

原创 [笔记][Java7并发编程实战手册]2.4在同步代码中使用条件-生产者与消费者

说明在并发编程中一个典型的问题是生产者–消费者问题。在程序中,有可能会需要用到两个线程通信的情况,比如生产者消费者中,获取一个共享数据,有就消费。没有就等待着生产者生产之后再继续消费。那么这个实现过程就可以使用wait();notify();notifyAll()来达到效果; 以上方法详细解说请查看: Java多线程系列–“基础篇”05之 线程等待与唤醒例子/** * Created by zh

2015-08-08 17:40:35 927

原创 [笔记][Java7并发编程实战手册]2.2使用syncronized实现同步方法

[笔记][Java7并发编程实战手册]系列目录学习多线程之前,我觉得很有必要去学习下 [笔记][思维导图]读深入理解JAVA内存模型整理的思维导图基础知识锁除了让临界区互斥执行外, 还可以让释放锁的线程向获取同一个锁的线程发送消息当线程获取锁时,JMM会把该线程对应的本地内存置为无效。 从而使得监视器保护的临界区代码必须要从主内存中去读取共享变量。当线程释放锁时,JMM会把该线程对应的本

2015-08-08 12:10:26 1355

读深入理解JAVA内存模型整理的思维导图-免积分

读深入理解JAVA内存模型整理的思维导图 本人记忆差,整理这个思维导图,相当于较认真的看了一遍,整个思维导图,基本上就是对原文的拷贝。 有了层级关系。和本人自己的一些理解。由于思维导图弄出来的图片大于100M了。所以就放出源文件, 更方便的阅读查阅。

2015-07-30

读深入理解JAVA内存模型整理的思维导图

读深入理解JAVA内存模型整理的思维导图 本人记忆差,整理这个思维导图,相当于较认真的看了一遍,整个思维导图,基本上就是对原文的拷贝。 有了层级关系。和本人自己的一些理解。由于思维导图弄出来的图片大于100M了。所以就放出源文件, 更方便的阅读查阅。在csdn太穷了。下载2积分。有需要的希望意思意思。我也要去下载资料呢。

2015-07-28

jstl-1.2.jar

解决在eclipse中部署项目web有时候访问jsp会抛出以下类似的异常信息 org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp

2015-07-17

standard-1.1.2.jar

解决在eclipse中部署项目web有时候访问jsp会抛出以下类似的异常信息 org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp

2015-07-17

空空如也

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

TA关注的人

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