再探Java抽象类与接口的设计理念差异

Java抽象类与接口都可以实现功能与实现的分离,都对多态提供了很好的支持,那么我们什么时候应该使用抽象类或接口呢?在以前的一篇文章初探Java抽象类与接口中谈到了他们语法的区别,在博客通过模板方法模式深入理解Java抽象类中写到了该如何正确使用抽象类,那么这次我就从更高的层次上——设计思想 上谈谈它们的差异!1、抽象类与接口的抽象层次是不同的 抽象类是对类抽象,接口是对行为抽象。类包含了属性与行 …… 阅读全文

Java操作MongoDB增删改查工具Demo

——因为实习工作需要,在学MongoDB,参考了公司的一个MongDB服务类,写了一个整合的Demo,涉及到的大部分的增删改查操作,而且还算规范,给大家参考!源代码:(完整项目文件下载链接:点击打开链接)使用说明:一、MongoDB数据库参数配置1、推荐使用mongodb.cfg.properties配置,则在构造MongoDBService对象的时候只需调用无参构造方法即可自动完成配 …… 阅读全文

Java String字符串最常见方法速查手册+代码示例详解

1、返回指定字符(字符串)的索引位置——indexOf()int indexOf(char ch||String str) 返回指定字符(字符串)在此字符串中第一次出现处的索引int indexOf(char ch||String str, int fromIndex) 返回在此字符串中第一次出现指定字符(字符串)处的索引,从指定的索引处开始检索int la …… 阅读全文

新版Eclipse配置Servlet始终报404 Not Found与servlet Class Not Found 异常解决方案

今天写基于Servlet与Jsp与uploadify的异步文件上传,结果控制文件上传的UploadServlet类始终无法运行,一直报404 Not Found,控制台也会抛出Servlet类ClassNotFound异常。我于是写了一个简单的不能再简单的测试Servlet,无论是用web.xml配置方式,还是注解配置方式,都不行。这样的情况在Eclipse软件安装或更新版本时是有概率发生的。 …… 阅读全文

函数回调机制、异步函数回调机制图例详解

无论是JS的函数回调还是Java回调机制,它们思想都是类似的,简单来说就是,如下图所示: 在层次一中的方法一(函数)调用层次二中的方法,而这个被调用的方法又会调用层次一中的方法,这个最后被调用的方法二就是回调方法。方法三调用方法二就是回调的过程。在Java中,这个“层次”可以理解为类,是两个类互相调用对方的方法;也可以理解为应用 …… 阅读全文

Java定时框架Quartz实例详解与定时任务的Mongodb、Mysql持久化实现(一)Quartz组件

一、Quartz概述Quartz是一个完全由Java编写的开源作业调度框架,为在Java应用程序中进行作业调度提供了简单却强大的机制。Quartz允许开发人员根据一定的时间间隔来调度作业。我学一样东西,从来都是从实践出发,边用边学,用起来自然就学会了。二、使用Quartz1、Quartz Jar我推荐大家使用Maven来加入Jar依赖,方便而且可以对依赖有效地管理。 …… 阅读全文

Java定时框架Quartz实例详解与定时任务的Mongodb、Mysql持久化实现(二)Quartz配置文件

Quartz核心配置文件quartz.properties常见配置详解(配置在classpath中或在web.xml中指定,示例附在最后)一、调度器属性配置1、instanceName属性,调度器实例名,可以设定任意字符串,QuartzSheduler也是不设定的默认值,它通常应用于Quartz集群环境,以区别不同的调度器。2、instanceId属性,调度器实例ID,和insta …… 阅读全文

Java定时框架Quartz实例详解与定时任务的Mongodb、Mysql持久化实现(三)Quartz持久化

就像我在上一篇中说的,把调度器信息存储在内存中非常的快也易于配置。但当调度器进程一旦被终止,所有的Job和Trigger的状态就丢失了。所以我们就需要把调度器信息持久化到数据库,在服务器重启时就可以自动启动终止的任务。Quartz不可能没有考虑到这个问题,可以通过引入Jar包与配置实现,并支持多种数据库版本。一、持久化到MongoDB1、引入Jar依赖好吧,我承认,这竟然是我做 …… 阅读全文