`
文章列表
早在Java 1.2推出之时,Java平台中就引入了一个新的支持:java.lang.ThreadLocal,给我们在编写多线程程序时提供了一种新的选择。使用这个工具类可以很简洁地编写出优美的多线程程序,虽然ThreadLocal非常有用,但是似乎现在了解它、使用它的朋友还不多。    ThreadLocal是什么   ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是thread local variable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非 ...
使用Spring AOP,开发者无需实现业务逻辑对象工厂,无需实现代理工厂,这两个工厂都由Spring容器充当。Spring AOP不仅允许使用XML文件配置目标方法,ProxyHandler也允许使用依赖注入管理,Spring AOP提供了更多灵活的选择。在下面Spring ...
Java中的异常类,包括内置的异常类以及自定义的异常类,都直接或者间接地继承至java.lang.Throwable类。   1.       两个主要分支: 在java.lang包中,我们可以看到Throwable类有两个直接子类:Error类和Exception类,如图所示:    
send email with velocity and spring 完整示例 1.封装邮件信息类: package com.chenlb.mail;import java.util.Map;import javax.mail.MessagingException;import javax.mail.internet.MimeMessage;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.apache.velocity.app.VelocityEng ...
String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢的。 而如果是使用 StringBuff ...
无论使用何种DAO都需要配置数据源。Spring提供了一些配置数据源的方法,包括通过JDBC驱动,通过JNDI查询以及数据池连接等。下面分别介绍各种数据源配置的方法 ·使用JNDI数据源        此种方法的好处在于他们可以独立应用程序之外进行配置。应用程序只有在需要访问数据库时才需要请求数据源。通常情况下,应用服务器中配置的数据源是以数据池的方式配置的,这样就可以让系统管理员很容易地进行配置。        在Spring中,我们可以配置一个数据源并将其保存在JNDI中,而且可以像JavaBean一样进行使用。这里有个JndiObjectFactoryBean类,它负责从JNDI中获 ...
3.7. 容器扩展点 Spring框架的IoC容器被设计为可扩展的。通常我们并不需要子类化各个BeanFactory或ApplicationContext实现类。而通过plugin各种集成接口实现来进行扩展。下面几节专门描述这些不同的集成接口。 3.7.1. 用BeanPostProcessor定制bean 我们关注的第一个扩展点是BeanPostProcessor接口。它定义了几个回调方法,实现该接口可提供自定义(或默认地来覆盖容器)的实例化逻辑、依赖解析逻辑等。如果你想在Spring容器完成bean的实例化、配置和其它的初始化 ...
Quartz要求一个任务必须实现接口Job的execute方法,如下一个简单的Job: import java.util.Date;import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;public class SimpleJob implements Job {     public SimpleJob() {    }     pub ...
1. 配置项目的pom文件(Maven配置文件) 1.1 Maven 默认的源文件夹及资源文件夹配置   Maven 默认的源文件夹及资源文件夹的配置代码如下: <build> ... < sourceDirectory > src/main/java </ sourceDirectory > < testSourceDirectory > src/test/java </ testSourceDirectory > < resources ...
一、groovy是什么 简单地说,Groovy 是下一代的java语言,跟java一样,它也运行在 JVM 中。 作为跑在JVM中的另一种语言,groovy语法与 Java 语言的语法很相似。同时,Groovy 抛弃了java烦琐的文法。同样的语句,使用groovy能在最大限度上减少你的击键次数——这确实是“懒惰程序员们”的福音。   二、开发环境 1、  jdk 1.5以上 2、  eclipse+groovy plugin(支持Groovy 1.5.7) 打开eclipse,通过Software Updates > Find and Install...菜单,使用“Sea ...

Java timezone

    博客分类:
  • Java
转自:行者买刀 获得java时间时,突然获得的时间不是当前的系统时间  先打开系统时间设置图片    把当前的时区改成其他的随便一个.这时候会出现如下图片一个"根据夏时制自动调节时钟(U).这时我们把这个勾去掉,再把时区设置为原来的时区,这里我的时区是中国GMT+8.   设置完之后,打开你的IDE,         public static void main(String[] args) {             System.out.println(new Date());       }
PVM的过程调度是非常灵活的,PVM提供了一套和token类似的execution过程调度机制,通过对execution的完全操控,节点运行期行为有了无限的可能。     PVM的流程定义模型首先要说明的是,上图里的类全是接口。位于最上层的是ObservableElement,其提供给流程元素以附加Event(事件)的能力。在ObservableElementImpl里,它持有一个events的集合属性。对于流程元素来说,典型的事件有:流程启动/结束,节点启动/结束和转移线执行(take)。 Java代码 protected Map<String, E ...
JBPM是一个优秀的开源工作流框架,核心引擎算法源自PetriNet理论,并深度了集成了Hibernate作为引擎的持久框架。 2006年底,我开始关注JBPM,并准备作实际应用,但是当时关于JBPM的中文资料比较少,于是打算翻译JBPM官方的user gui ...
1.新建一个动态的web项目 2.在lib目录下加入以下jar包(由于用到fileupload的上传,所以还要加入fileupload的依赖库) 引用 *JBPM4_HOME/jbpm.jar *JBPM4_HOME/lib/*.jar *jakarta-taglibs-standard-1.1.2_HOME/lib/jstl.jar *jakarta-taglibs-standard-1.1.2_HOME/lib/standard.jar *commons-fileupload-1.2.1_HOME/lib/commons-fileupload-1.2.1.jar 3.绘制流程图( ...
代码说明: 在借款流程发起后,流程进入了申请单填写阶段。这个阶段是个人工的任务,需要用户的介入。因此,对于要借款的用户而言,首先是获取填写申请单的任务实例: TaskInstance ti = (TaskInstance)pi.getTaskMgmtInstance().getTaskInstances().iterator() .next() 在这个测试类中,由于没有数据库。对流程实例的引用是依靠了类的全局标量pi。这里通过pi获取全部的任务列表。实际上有且仅有一个任务,就是我们刚刚发起的申请单填写任务。 接下来,我们获取流程的上下文变量,将申请借款的数额记录在上下文变量中ContextIns ...
Global site tag (gtag.js) - Google Analytics