3
我正在處理這個項目。有具有類DefaultsHelper:靜態方法,靜態變量可以通過web應用程序中的多個線程進行變異 - jsp
public class DefaultsHelper {
static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd") ;
public static String getDate(int days)
{
GregorianCalendar c = new GregorianCalendar() ;
c.setTime(new Date()) ;
c.add(Calendar.DAY_OF_MONTH, days);
return df.format(c.getTime()) ;
}
}
在Web應用程序 - 如果在觀看的一個jsp,由此GETDATE函數被調用在完全相同的時間兩個用戶 - 這可能是東風對象可以得到不一致的,從而不返回預期值?
我覺得DefaultsHelper本來是一個實用工具類停止不必實例新的DF對象
謝謝我認爲可能是這樣的 - 我會更好的實例化一個新的SimpleDateFormat內部的方法然後或改變整個事情的工作方式!在dbase寫這種方式的時候保存了一個糟糕的文件 – user1882639
您將通過在您的應用程序中搜索SimpleDateFormat的靜態實例來大幅增強您的線程安全性! –
非常感謝,我改變了靜態像這樣 - 看起來好嗎? public static String getDate(int days) { GregorianCalendar c = new GregorianCalendar(); c.setTime(new Date()); SimpleDateFormat dft = new SimpleDateFormat(「yyyy-MM-dd」); c.add(Calendar.DAY_OF_MONTH,days); return dft.format(c.getTime()); } – user1882639