- 博客(12)
- 收藏
- 关注
原创 IDEA+Maven创建Web项目
一 创建工程 File-->New-->Project-->Maven 填写GroupId,ArtifactId和Version 配置maven 项目名称及路径 点击finish之后,控制台输出 build success, 说明创建工程成功 二 运行项目 1、直接Tomcat运行 在Terminal中输入m
2017-12-04 16:02:07 161
转载 IntelliJ Idea 2017 免费激活方法
1. 到网站 http://idea.lanyus.com/ 获取注册码。 2.填入下面的license server: http://intellij.mandroid.cn/ http://idea.imsxm.com/ http://idea.iteblog.com/key.php 以上方法验证均可以
2017-12-04 13:58:10 112
原创 IDEA 下载、安装、简单设置
一、下载 官网下载地址 : http://www.jetbrains.com/idea/download/#section=windows 注: 三、快捷键 Alt+回车 导入包,自动修正 Ctrl+N 查找类 Ctrl+Shift+N 查找文件 Ctrl+Alt+L 格式化代码 Ctrl+Alt+
2017-12-04 12:53:59 729
转载 [Java并发包学习六]Semaphore介绍
概述 emaphore字面意思是信号量。他主要用于控制有限的资源的访问数量。我们看一个生活中常常出现的场景: 一个厕所只有3个坑位,但是有10个人来上厕所,那怎么办?假设10的人的编号分别为1-10,并且1号先到厕所,10号最后到厕所。那么1-3号来的时候必然有可用坑位,顺利如厕,4号来的时候需要看看前面3人是否有人出来了,如果有人出来,进去,否则等待。同样的道理,4-10号也
2016-12-15 10:45:46 199
转载 [Java并发包学习五]CountDownLatch和CyclicBarrier介绍
概述 JDK中提供了一些用于线程之间协同等待的工具类,CountDownLatch和CyclicBarrier就是最典型的两个线程同步辅助类。下面分别详细介绍这两个类,以及他们之间的异同点。 CountDownLatch类 CountDownLatch顾名思义:倒计数锁存器。没错,他就是一个计数器,并且是倒着计数的。他的应用场景如下: 一个任务A,他需要等待其他的一
2016-12-15 10:44:45 210
转载 [Java并发包学习四]Future和FutureTask
概述 Future主要用来表示线程异步执行的结果,他提供了检查异步执行的程序是否已经执行完毕、是否已经被取消,并且获取执行结果的方法。它是一个接口,接口的定义如下: 1 2 3 4 5 6 7 8 public interface Future { boolean cancel(boolean mayInterruptIfRunning);
2016-12-15 10:43:57 182
转载 [Java并发包学习三]ThreadFactory介绍
概述 ThreadFactory翻译过来是线程工厂,顾名思义,就是用来创建线程的,它用到了工厂模式的思想。它通常和线程池一起使用,主要用来控制创建新线程时的一些行为,比如设置线程的优先级,名字等等。它是一个接口,接口中只有一个方法: 1 2 3 4 5 6 7 8 9 /** * Constructs a new {@code Thread}. Im
2016-12-15 10:43:10 245
转载 [Java并发包学习二]Executors介绍
概述 Executors类是JDK 1.5开始自带的一个非常强大的主要用于创建各类线程池的工具类。 常用方法介绍 newFixedThreadPool newFixedThreadPool方法有两种函数签名: 1 2 public static ExecutorService newFixedThreadPool(int nThreads)
2016-12-15 10:42:26 372
转载 [Java并发包学习一]Executor和ExecutorService
本文介绍jdk8并发包中的Executor/ExecutorService这两个接口。 Executor接口 概述 该类提供一个提交任务的方法,提交的任务可以在提交程序本线程运行,也可以在不同的线程运行,也可以在一个线程池中的线程运行,全看如何使用。 However, the {@code Executor} interface does not strictly r
2016-12-15 10:40:44 259
转载 [Java并发包学习九]Java中的阻塞队列
什么是阻塞队列 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空。当队列满时,存储元素的线程会等待队列可用。阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程。阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素。 阻塞队列提供了四种处理方法:
2016-12-15 10:35:18 159
转载 [Java并发包学习八]深度剖析ConcurrentHashMap
概述 还记得大学快毕业的时候要准备找工作了,然后就看各种面试相关的书籍,还记得很多面试书中都说到: HashMap是非线程安全的,HashTable是线程安全的。 那个时候没怎么写Java代码,所以根本就没有听说过ConcurrentHashMap,只知道面试的时候就记住这句话就行了…至于为什么是线程安全的,内部怎么实现的,通通不了解。 今天我们将深入剖析一个比Ha
2016-12-15 10:34:20 122
转载 [Java并发包学习七]解密ThreadLocal
概述 相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路;ThreadLocal的目的是为了解决多线程访问资源时的共享问题。如果你也这样认为的,那现在给你10秒钟,清空之前对ThreadLocal的错误的认知! 看看JDK中的源码是怎么写的: This class provides t
2016-12-15 10:31:07 237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人