zoukankan      html  css  js  c++  java
  • 多线程下 SimpleDateFormat

    package com.shob.tt.single;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class StringUtil {
    
    	/**
    	 * SimpleDateFormat在多线程环境下容易造成数据转换及处理数据的不准确
    	 * 处理方式:创建多个SimpleDateFormat
    	 * @param formatPattern
    	 * @param dateString
    	 * @return
    	 * @throws ParseException
    	 */
    	public static Date parse(String formatPattern,String dateString) throws ParseException{
    		return new SimpleDateFormat(formatPattern).parse(dateString);
    	}
    	
    	public static String format(String formatPattern,Date date) throws ParseException{
    		return new SimpleDateFormat(formatPattern).format(date);
    	}
    	
    	private static ThreadLocal<SimpleDateFormat> tl = new ThreadLocal<SimpleDateFormat>();
    	/**
    	 * ThreadLocal 类能使线程绑定到指定对象
    	 * @param formatPattern
    	 * @return
    	 */
    	public static SimpleDateFormat getSimpleDateFormat(String formatPattern){
    		SimpleDateFormat sdf = null;
    		sdf = tl.get();
    		if(null == sdf){
    			sdf = new SimpleDateFormat(formatPattern);
    			tl.set(sdf);
    		}
    		return sdf;
    	}
    }
    

      

  • 相关阅读:
    函数对象中的prototype属性
    undefined和null的区别
    访问修饰符
    继承
    静态成员和实例成员的区别
    js模拟Trim()方法
    连接池的执行原理
    Javascript中的= =(等于)与= = =(全等于)区别
    数据库中创建约束
    KM算法入门
  • 原文地址:https://www.cnblogs.com/binbang/p/6417128.html
Copyright © 2011-2022 走看看