Java 进阶
文章平均质量分 72
老马啸西风
Github: https://github.com/houbb
Email:houbinbin.echo@gmail.com
展开
-
Quartz 入门系列教程-10-Configuration
Configuration, Resource Usage and SchedulerFactoryQuartz的架构是模块化的,因此要让它运行几个组件,需要将其“断开”。幸运的是,存在一些帮助实现这种情况的助手。在Quartz能够完成其工作之前,需要配置的主要组件是:ThreadPoolJobStoreDataSources (if necessary)The Schedul...原创 2018-04-08 16:51:30 · 41413 阅读 · 0 评论 -
Quartz 入门系列教程-11-高级特性
Advanced (Enterprise) FeaturesClustering集群目前使用JDBC-Jobstore (JobStoreTX或JobStoreCMT)和TerracottaJobStore。特性包括负载平衡和工作故障转移(如果JobDetail的“请求恢复”标志设置为true)。通过设置“org.quartz.jobStore”,将集群与JobStoreTX或...原创 2018-04-08 16:52:40 · 40741 阅读 · 0 评论 -
Quartz 入门系列教程-12-其他特性
特性Plug-InsQuartz 提供了一个接口(org.quartz.spi.SchedulerPlugin)插入识别j2ee附加功能。可以在 org.quartz.plugins 文件夹下找到与Quartz一起提供各种实用功能的插件。 它们提供了一些功能,例如在调度器启动时自动调度作业、记录作业历史和触发事件,并确保当JVM退出时调度程序会自动关闭。JobFactor...原创 2018-04-08 16:53:43 · 40630 阅读 · 0 评论 -
Quartz 入门系列教程-00-序章
Quartz任务调度是我们平时的业务开发中很常见的需求之一。Quartz 又是其中十分优秀的框架。本系列主要是将 Quartz 的官方文档进行简单整理。希望帮助大家入门。后续如果有时间,再写一点关于 Quartz 的使用心得。目录导航Quartz 入门系列教程-00-序章Quartz 入门系列教程-01-入门案例Quartz 入门系列教程-02-Jobs 和 T...原创 2018-04-02 20:40:51 · 43802 阅读 · 0 评论 -
Quartz 入门系列教程-01-入门案例
QuartzQuartz is a richly featured, open source job scheduling library that can be integrated within virtually any Java application - from the smallest stand-alone application to the largest e-comm...原创 2018-04-02 20:43:34 · 40819 阅读 · 0 评论 -
Quartz 入门系列教程-02-Jobs 和 Trigger
Quartz API主要接口定义如下:The key interfaces of the Quartz API are:Scheduler - the main API for interacting with the scheduler.Job - an interface to be implemented by components that you wish to have...原创 2018-04-02 20:45:39 · 40741 阅读 · 0 评论 -
Quartz 入门系列教程-04-Triggers 深入学习
Triggers和 jobs 一样,触发器也很容易使用,但确实包含了各种可定制的选项,在充分使用Quartz之前,您需要了解并了解这些选项。另外,正如前面提到的,您可以选择不同类型的触发器来满足不同的调度需求。后面将会深入讨论: Simple Triggers & Cron Triggers.Common Trigger Attributes除了所有触发器类型都有触发键...原创 2018-04-02 20:47:04 · 40485 阅读 · 0 评论 -
英文单词拼写纠正(错误检查)的java实现-word-checker
问题引入平时工作学习中,对于单词拼写检查也是很常见的需求。 一直没找到特别好用的版本,就自己写一个。方便以后拓展和他人使用。项目简介本项目用于英文单词拼写检查。 word-checker快速开始JDK 版本JDK1.7 及其以后入门例子maven 引入本项目已经上传到 maven 仓库,直接引入即可<dependency...原创 2018-05-02 19:40:41 · 50134 阅读 · 0 评论 -
轻松学习多线程-05-Balking 模式
目录目录Balking 模式实际案例定义测试实现方式UML & CodeUMLCode系列导航Balking 模式Balking 模式是指如果不适合执行这个操作,或者没必要执行这个操作,就停止操作,直接返回。实际案例类信息概览: 类名 说明 Main.java 方法的总入口 SaveTh...原创 2018-04-25 18:10:40 · 40683 阅读 · 0 评论 -
轻松学习多线程-06-Producer Consumer 模式
Producer Consumer 模式Producer Consumer 模式是指一个负责生产,一个负责消费。核心是生产者安全地将数据交给消费者。实际案例类信息概览: 类名 说明 Main.java 方法的总入口 ConsumerCakeThread.java 消费蛋糕的线程 Table.java 放置蛋糕的桌子 Bl...原创 2018-04-25 18:21:28 · 40756 阅读 · 0 评论 -
轻松学习多线程-07-Read Write Lock 模式
目录目录Read Write Lock 模式实际案例定义测试实现方式UML & CodeUMLCode系列导航Read Write Lock 模式Read Write Lock 模式就是将内容的读取和写入分开进行处理。因为数据的互斥需要牺牲性能,读的时候可以互不影响,但是读的时候禁止写。实际案例类信息概览: ...原创 2018-04-25 18:29:51 · 40745 阅读 · 0 评论 -
轻松学习多线程-08-Thread Per Message 模式
目录目录Thread Per Message 模式实际案例定义测试实现方式UML & CodeUMLCode系列导航Thread Per Message 模式Thread Per Message 模式是指为每个请求/命令分配一个新的线程,由这个线程来进行处理。实际案例类信息概览: 类名 说明 Mai...原创 2018-04-25 18:39:55 · 40720 阅读 · 0 评论 -
Quartz 入门系列教程-09-Job Stores
Job StoresJobStore 负责跟踪您给调度器的所有“工作数据”:作业、触发器、日历等等。为您的Quartz scheduler实例选择合适的JobStore是一个重要步骤。幸运的是,一旦你理解了它们之间的区别,选择应该是非常简单的。您在属性文件(或对象)中声明您的调度器应该使用哪个 JobStore (以及它的配置设置),您可以使用它来生成调度程序实例。注意不要直接在代...原创 2018-04-08 16:50:08 · 41558 阅读 · 0 评论 -
Quartz 入门系列教程-08-SchedulerListeners
SchedulerListeners调度器很像触发监听器(TriggerListeners)和工作监听器(JobListeners),除非它们接收到调度程序本身中的事件通知——不一定是与特定触发器或作业相关的事件。与调度相关的事件包括:添加作业/触发器、删除作业/触发器、调度程序中的严重错误、调度程序被关闭的通知等。SchedulerListeners 接口public i...原创 2018-04-08 16:48:44 · 40517 阅读 · 0 评论 -
Java8 实战系列-01-序章
目录导航Java8 实战系列-01-序章Java8 实战系列-02-lambda 表达式简介Java8 实战系列-03-lambda 表达式实战Java8 实战系列-04-lambda 内置函数Java8 实战系列-05-lambda 类型推断Java8 实战系列-06-lambda 方法引用JDK 为什么在不断变化?要么改变,要么衰亡。Java8 为开发者提供...原创 2018-03-02 16:14:27 · 43549 阅读 · 1 评论 -
Java8 实战系列-02-lambda 表达式简介
lambda是什么?lambda 可以简洁地表示可传递的匿名函数的一种方式。匿名不需要确切指定一个名称。函数它不想方法那样隶属于某个特定的类。但是和普通方法一样拥有参数列表,函数主题,返回类型,还有可能抛出异常列表。传递可以作为参数传递给方法或者存储在变量中。简洁无需像匿名类那样写很多模板代码。例子先前Comparat...原创 2018-03-02 17:01:42 · 39829 阅读 · 0 评论 -
轻松学习多线程-04-Guarded Suspension 模式
Guarded Suspension 模式Guarded Suspension 模式通过让线程等待保证线程的安全性。实际案例类信息概览: 类名 说明 Main.java 方法的总入口 ClientThread.java 发送请求的类 ServerThread.java 接受请求的类 RequestQueue.java ...原创 2018-03-20 20:33:42 · 39684 阅读 · 0 评论 -
Java8 实战系列-03-lambda 表达式实战
环绕执行模式JDK1.7 引入的 TWR 语法, 令读取文件后的资源释放变得更加简洁。public static String processFile() throws IOException { try (BufferedReader bufferedReader = new BufferedReader(new FileReader("1...原创 2018-03-20 21:11:56 · 40255 阅读 · 0 评论 -
Java8 实战系列-04-lambda 内置函数
PredicatePredicate 定义了一个 test() 方法,接受泛型 T 的对象,并且返回一个 boolean 值。 定义/** * 过滤器: 返回满足条件的列表 * @param list * @param predicate * @param <T> * @return */ priv...原创 2018-03-20 21:15:33 · 40361 阅读 · 0 评论 -
Java8 实战系列-05-lambda 类型推断
类型检查Lambda 的类型是从 Lambda 的上下文推断出来的。上下文中 Lambda 表达式需要的类型称为 目标类型。图示如下同样的 lambda,不同的函数接口/** * 相同的 lambda 表达式,但是不同的函数接口 * 只要他们的抽象方法签名可以兼容。 */@Testpublic void sameLambdaDiffFunctional()...原创 2018-03-20 21:17:58 · 40875 阅读 · 0 评论 -
Java8 实战系列-06-lambda 方法引用
方法引用方法引用可以看作仅仅调用特定方法方法的 lambda 的一种快捷的方式。显示的指定方法的名称,可读性会更好。代码示例/** * 方法引用 */@Testpublic void functionRefTest() { Apple one = new Apple(20); Apple two = new Apple(10); List&l...原创 2018-03-20 21:19:43 · 40233 阅读 · 0 评论 -
Quartz 入门系列教程-03-Jobs 深入学习
More About Jobs and Job Details虽然您实现的作业类具有知道如何完成特定类型作业的实际工作的代码,但 Quartz 需要了解您可能希望该作业的实例拥有的各种属性。这是通过JobDetail 类完成的,该类在前一节中简要介绍过。JobDetail 实例是使用 JobBuilder 类构建的。您通常希望使用所有方法的静态导入,以便在代码中有 dsl-feel。...原创 2018-04-08 16:03:24 · 40662 阅读 · 0 评论 -
Quartz 入门系列教程-05-SimpleTrigger
SimpleTrigger如果您需要在特定的时间内精确地执行一次任务,或者在特定的时间间隔内重复执行某个特定的时间间隔,那么SimpleTrigger应该满足您的调度需求。举个例子,如果你想在2015年1月13日上午11:23:54的时候触发,或者你想在那个时候触发,然后再触发5次(间隔 10S)。有了这个描述,您可能不会惊讶地发现一个简单触发器的属性包括:开始时间、结束时间、重复计数...原创 2018-04-08 16:44:20 · 40584 阅读 · 2 评论 -
Quartz 入门系列教程-06-CronTrigger
CronTriggerCronTrigger 通常比 SimpleTrigger 更有用,如果您需要根据日历类的概念而不是精确指定的简单触发器间隔来重新定义作业调度。有了CronTrigger,你可以指定诸如“每个周五中午”,或“每个工作日和上午9:30”,甚至“每星期一、星期三和周五上午9:00到10:00之间的每5分钟”。 即使是这样,像SimpleTrigger一样,CronTri...原创 2018-04-08 16:45:43 · 40564 阅读 · 0 评论 -
Quartz 入门系列教程-07-TriggerListeners-JobListeners
监听者Listeners 是您根据调度程序中发生的事件创建的对象。正如您可能猜到的那样,triggerlistener 接收与触发器相关的事件,而 joblistener 接收与作业相关的事件。TriggerListener 接口Trigger 事件包括:触发触发,触发错误触发(在本文档的“触发器”部分中讨论),触发完成(触发器触发的工作完成)。public inter...原创 2018-04-08 16:47:38 · 40678 阅读 · 0 评论 -
轻松学习多线程-11-Two Phase Termination 模式
目录目录Two Phase Termination 模式模式特点实际案例定义测试实现方式UML & CodeUMLCode系列导航Two Phase Termination 模式Two Phase Termination 模式表示先执行完终止处理,再终止线程的模式。模式特点安全的终止线程必定会进行线程终止发出请求后...原创 2018-04-26 19:06:22 · 40707 阅读 · 0 评论