Quartz教程:深入Job与JobDetail

在前面部分,我们知道Job中定义了实际的业务逻辑,而JobDetail包含Job相关的配置信息。在Quartz中,每次Scheduler执行Job时,在调用其execute()方法之前,它需要先根据JobDetail提供的Job类型创建一个Job class的实例,在任务执行完以后,Job class的实例会被丢弃,Jvm的垃圾回收器会将它们回收。

因此编写Job的具体实现时,需要注意:(1) 它必须具有一个无参数的构造函数;(2) 它不应该有静态数据类型,因为每次Job执行完以后便被回收[......]

Read more

Posted in Java | Tagged | Leave a comment

JDK7 新特性 总览

JDK 全称 Java Development Kit,是一套供 Java 开发人员使用的软件开发工具,其中包括了 JRE(Java Runtime Environment),以及 Java、Jar、Javac、 Javap、Javah、Javaws 等工具。自从 Sun 公司于 2006 年 12 月 11 日发布 JDK6 到 Oracle 公司于 2011 年 7 月 28 日发布 JDK7,历时长达 5 年之久,期间经历了不少大大小小的事件。所以首先,让我们来回顾一下 JDK7 发展历史[......]

Read more

Posted in Java | Tagged | Leave a comment

Quartz教程:Scheduler及事件机制

(1)     Scheduler

在这之前,我们创建Scheduler都是通过下面的语句:

Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();

这使用的是默认的调度器,它会依据quartz.properties配置文件为我们设置好相关的属性,包括使用的调度器、线程池、线程池中线程数、采用的JobStore等等。如果我们在自己应用的classpath中写了quartz.properties,则Schedule[......]

Read more

Posted in Java | Tagged | Leave a comment

Quartz教程:深入trigger及cron表达式

Quartz提供了几个Trigger类型供用户使用,对应的实现可以在org.quartz.impl.triggers中看到,一般情况下,用户用得最多的是SimpleTrigger与CronTrigger。对于最简单的情况,如只需Job在某一个特定的时间执行一次,亦或在某个时间之后按一定的时间间隔重复执行,则可使用简单的SimpleTrigger,至于CronTrigger,如果你了解cron表达式(对于linux牛,应该知道,因为linux的定时任务cron也是如此这般),便知道它几乎可以适应所[......]

Read more

Posted in Java | Tagged | Leave a comment

Quartz教程:简介及使用

Quartz是一个开源的任务调度服务,它可以独立使用,也可与其它的Java EE,Java SE应用整合使用。无论是执行十个,一百个工作的简单任务,还是执行成百上千个工作的复杂调度任务都可以使用Quartz来实现,此外,Quartz还提供了很多企业级应用的特色,如JTA事务支持及集群。

如果你的应用中有任务需要在特定的时间执行,亦或周期循环执行,则Quartz也许是你理想的选择。

Quartz的使用

作为一个Javaer,自然知道第一步是下载Quartz的jar包,Quartz[......]

Read more

Posted in Java | Tagged | Leave a comment

spring security学习之四:登出功能的实现及原理

1. 登出功能实现
经过前面三部分的介绍,我们已经知道了Spring Security的工作原理,也基于这个,定制了自己的授权锅里机制,在这部分,将介绍如何实现Spring Security的登出功能,并详细分析退出登录的实现原理。

登出功能由命名空间元素支持,它提供了很多属性供用户定制其行为,如logout-url(自定义的登出页面),logout-success-url(登出以后跳转页面),甚至是可以添加success-handler-ref(登出处理器)来自定义登出以后的处理逻辑,[......]

Read more

Posted in Spring Security | Tagged , | Leave a comment

DIV+CSS网页布局

第一种可能是你还没有理解CSS处理页面的原理。在你考虑你的页面整体表现效果前,你应当先考虑内容的语义和结构,然后再针对语义、结构添加CSS。这篇文章将告诉你应该怎样把HTML结构化。

另一种原因是你对那些非常熟悉的表现层属性(例如:cellpadding,、hspace、align=“left“等等)束手无策,不知道该转换成对应的什么CSS语句。 当你解决了第一种问题,知道了如何结构化你的HTML,我再给出一个列表,详细列出原来的表现属性用什么CSS来代替。

结构化HTML

我[......]

Read more

Posted in HTML | Tagged , | Leave a comment

SELinux源码分析(1):SELinux初始化

LSM的初始化阶段发生在系统内核的初始化阶段,linux在init/main.c的start_kernel()函数中启动了一系列的内核模块,当然也包含了安全模块的初始化函数调用,可以看到有:

thread_info_cache_init();
cred_init();
fork_init(totalram_pages);
proc_caches_init();
buffer_init();
key_init();
security_init();   //安全模块初始化函数
db[......]

Read more

Posted in SELinux | Tagged , | Leave a comment

Solr简介

        Solr是一个基于Lucene java库的企业级搜索服务器,包含XML/HTTP,JASON API,高亮查询结果,缓存,复制,还有一个WEB管理界面。Solr运行在Servlet容器中,其架构如下:

QQ图片20130613152130

Solr的一些特色:

1 高级的全文搜索能力

2 高并发访问的优化

3 基于标准的开放接口:XML、Json和Http

4 综合而全面的Html管理界面

5 基于JMX监控的服务器统计

6 伸缩性强。可以有效地复制到其它Solr搜[......]

Read more

Posted in 大数据 | Tagged | Leave a comment

改变世界的7个Java项目

        在过去的十年间,有几个项目已经发展得超越纯粹的应用,它们已经具有了控制Java世界的能力,它们进入到一般的软件开发,有一些甚至更进一步,进入到了用户的日常生活。
JUnit
       基于Beck在Smalltalk上所做的关于单元测试的工作,Kent Beck和Erich Gamma将它迁移到了Java中。在过去的十年里,JUnit主要负责推广测试驱动开发。JUnit已经在许多流行语言中得到实现,包括.NET,C,Python,Perl等。
Eclipse

[......]

Read more

Posted in 资讯 | Tagged , , | Leave a comment
« Older