3 cc-lady

尚未进行身份认证

java小菜鸟一枚,大家多多指教哟!

等级
TA的排名 5w+

多线程之任务时限

有的时候我们希望在一定时间内获取这个任务的结果,如果没有获取到就结束这个任务。这个时候需要对任务的时间做一个限制。Future.get(longtimeout,TimeUnitunit)future.get方法提供了这样的参数,当结果可用时,它将立即返回,如果在指定时限内没有计算出结果,那么将抛出TimeoutException。当任务超时后,future也提供了一定的方法来取消任务...

2018-12-12 14:57:03

多线程之CompletionService获取多个任务结果并进行汇总

上一章末尾也说道,这个接口,更好地实现了任务提交任务获取这种程序,更加方便。例子如下:packagecom.cc.mutilineExample.callableAndFuture.test5_completion_future;importjava.math.BigDecimal;importjava.util.ArrayList;importjava.util.List;...

2018-12-10 11:44:52

多线程之Callable/Future获取多个任务结果并进行汇总

许多不能立即获得计算结果的延迟计算,都可以使用Callable/Future这种形式。例如数据库查询等。Callable是对任务的一种抽象,通过在Executor中包含封装的Callable任务来执行,将结果封装为Future。Future提供了相应的方法判断是否已经完成,以及获取任务的结果(future.get())等方便进行操作。Get方法的行为取决于任务的状态(尚未开始、正在运行、已完成)...

2018-12-10 11:42:27

多线程之Barrier栅栏获取多个任务结果并进行汇总

利用直接在一个线程中求和是效率非常低的,我们通过栅栏,先将这个问题拆分成一系列相互独立的子问题,通过栅栏后,将子问题的问题汇集起来,进行全部的求解。CyclicBarrier是一个很好的实现,它的构造方法中有一个Runnable参数,这个是最后进行汇总的方法,比如我们最后将计算结果求和,这里就是求和的执行。await()方法利用栅栏特性,等待所有线程求完元素之和再计算平均值。书上具体的介绍...

2018-12-10 11:32:42

多线程之线程池方式--练习生产者消费者模式

虽然Executor是个简单的接口,但它却为灵活且强大的异步任务执行框架提供了基础,该框架能支持多种不同类型的任务执行策略。它提供了一种标准的方法将任务的提交过程与执行过程解耦开来,并用Runnable来表示任务。Executor基于生产者-消费者模式,提交任务的操作相当于生产者(生成待完成的工作单元),执行任务的线程则相当于消费者(执行完这些工作单元)。如果要在程序中实现一个生产者-消费者的设...

2018-12-05 16:25:08

多线程之同步容器类

同步容器类此种同步容器类(synchronized开头的方法)在底层将每种add,remove等方法前加上了synchronized修饰。1.在同步容器中,这些复合操作在没有客户端加锁的情况下仍然是线程安全的,但当其他线程并发地修改容器时,它们可能会表现出意料之外的行为。2.可以通过在客户端加锁来解决不可靠迭代的问题,但要牺牲一些伸缩性。这同样会导致其他线程在迭代器件无法访问它,因此降低了...

2018-11-21 15:53:14

多线程之阻塞队列BlockingQueue简化生产者消费者模式

在基于阻塞队列构建的生产者—消费者设计中,当数据生成时,生产者把数据放入队列,而当消费者准备处理数据时,将从队列中获取数据。生产者不需要知道消费者的标识或数量,或者它们是否是唯一的生产者,而只需将数据放入队列即可。同样,消费者也不需要知道生产者是谁,或者工作来自何处。BlockingQueue简化了生产者—消费者设计的实现过程,它支持任意数量的生产者和消费者。因为BlockingQueue内部自...

2018-11-19 14:41:47

多线程之进阶Lock替换掉synchronized--练习生产者消费者模型

学习到Lock对象啦,用它替换掉synchronized之前两个小例子。这里等待/唤醒模式,用了Conditon。结合之前的生产者消费者例子,很好理解。其他类不变,只替换掉MyStack类:packagecom.cc.p_c_stack_mutiList2;importjava.util.ArrayList;importjava.util.List;importjava.ut...

2018-10-16 10:27:38

多线程之进阶Lock替换掉synchronized--模拟多窗口共同卖票

学习到Lock对象啦,用它替换掉synchronized之前两个小例子。效果差不多的,不过他有Condition特有的功能,这里没有体现出来。主要看替换点,结合前面synchronized写法,很好理解。packagecom.cc.sellticket3;importjava.util.concurrent.locks.ReentrantLock;/**卖票服务*/pub...

2018-10-16 10:23:16

多线程--练习生产者消费者模型

主要是wait/notify的理解和使用。packagecom.cc.p_c_stack_mutiList;//消费者publicclassC{ privateMyStackmyStack; publicC(MyStackmyStack){ super(); this.myStack=myStack; } publicvoidpopServic...

2018-10-09 15:28:47

多线程--模拟多窗口卖票

学习java多线程知识点–线程安全与同步基础练习–模拟多窗口卖票程序。1.多窗口卖票–各自卖票packagecom.cc.sellticket;/***模拟多窗口卖票--每个窗口各自卖票*@authorCC**/publicclassSellTicket1extendsThread{privateinttickets=5...

2018-09-11 11:01:17

SpringCloud-Maven打包--问题疑惑与解决

1.项目在webapp下的web-inf下引入了依赖包,runas?maveninstall报错:找不到符号右键项目->MAVEN->UpdateProjectConfiguration然后clean相关项目再打包依赖包就在maven里面了2.spring-boot-maven-plugin打包后classpathresource[mybatis...

2018-05-24 17:32:46

SpringBoot--关于使用webapp目录

ž之前我在学习springBoot集成springMVC的时候发现webapp目录,1.直接右键运行,访问不到页面,原来并不是不支持啊,只是默认没有把它放在编译路径里面。我们可以在项目的packageexlorer视图下,右键buildpath—>configurebuildpath—>source下—>addfolder按钮,添加编译路径appl...

2018-04-26 10:56:31

ant design入门学习笔记

今天要学习一种新的企业级UI组件——antdesign参考资源https://ant.design/docs/react/introduce特点面向Web应用程序的企业级UI设计语言。开箱即用的一组高品质React组件。用TypeScript完全定义的类型编写。整套开发和设计资源和工具。环境支持现代浏览器和InternetExplorer9+(带pol...

2018-04-01 22:24:50

Eclipse Memory Analyzer入门学习笔记

EclipseMemoryAnalyzer是一个快速而功能丰富的Java堆分析器,可帮助您查找内存泄漏并减少内存消耗。使用内存分析器分析数亿个对象的生产性堆转储,快速计算保留的对象大小,查看谁阻止垃圾收集器收集对象,运行报告以自动提取泄漏的嫌疑人。应用的主要领域是内存不足错误和高内存消耗。下载安装http://www.eclipse.org/mat/downloads.ph

2018-01-19 17:03:44

Elasticsearch(十五)elasticsearch用代码从数据库里查询导入到elasticsearch中并查询结果 -- logstash

在上一节我们导入数据使用的是java代码,其实这个步骤由logstash工具也可以实现哦~此学习笔记参考官方文档:https://www.elastic.co/guide/en/logstash/current/introduction.html下载安装Logstash唯一的依赖的Java运行环境,确保jdk版本足够高,我的本地是1.8下载和解压出来就能使用了,不需要安装因

2018-01-18 13:46:12

Elasticsearch(十四)elasticsearch用代码从数据库里查询导入到elasticsearch中并查询结果

最近做了个小例子:将数据库中数据导入到elasticsearch中,然后查询一条特定数据,看是不是比较快前情:在数据库中查询数据的速度是3.36s.用代码从数据库中查出来再插入elasticsearch也许会比较慢,后续再学习用工具导入。环境:elasticsearch5.3.0+jdk8+maven3.5类似数据库,我们需要先给elasticsearch中建立一个索引,放置我们需

2018-01-16 14:35:35

Elasticsearch(十三)elasticsearch请求体查询

到此我们一直在进行请求体查询,毕竟轻量查询(传递参数)那种写法太过复杂,但是一直不太系统,这一章可以更好系统地理解一下有哪些查询?每个查询类型大概功能是什么?摘抄于权威文档,可前往权威文档:https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/full-body-search.html请求体查询一节

2017-12-05 17:41:30

Elasticsearch(十二)elasticsearch映射和分析

映射和分析

2017-12-01 17:55:28

Elasticsearch(十一)elasticsearch搜索--最基本的工具

我们已经学会了如何使用Elasticsearch作为一个简单的NoSQL风格的分布式文档存储系统。我们可以将一个JSON文档扔到Elasticsearch里,然后根据ID检索。但Elasticsearch真正强大之处在于可以从无规律的数据中找出有意义的信息——从“大数据”到“大信息”。

2017-11-29 16:18:59

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!