`
beautyOfProgram
  • 浏览: 25946 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

偶遇java时间解析异常

阅读更多

先贴两个异常,不知大家见过没

 

Exception in thread "pool-1-thread-42" java.lang.NumberFormatException: multiple points
	at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1084)
	at java.lang.Double.parseDouble(Double.java:510)
	at java.text.DigitList.getDouble(DigitList.java:151)
	at java.text.DecimalFormat.parse(DecimalFormat.java:1303)
	at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:1591)
	at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1312)
	at java.text.DateFormat.parse(DateFormat.java:335)
	at infoair.obcs.utilities.DateTimeUtils.validateDateTime(DateTimeUtils.java:294)
	at infoair.obcs.utilities.TestThread.run(DateTimeUtils.java:318)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)
 

 

Exception in thread "pool-1-thread-9" java.lang.NumberFormatException: For input string: ""
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
	at java.lang.Long.parseLong(Long.java:431)
	at java.lang.Long.parseLong(Long.java:468)
	at java.text.DigitList.getLong(DigitList.java:177)
	at java.text.DecimalFormat.parse(DecimalFormat.java:1298)
	at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:1591)
	at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1312)
	at java.text.DateFormat.parse(DateFormat.java:335)
	at infoair.obcs.utilities.DateTimeUtils.validateDateTime(DateTimeUtils.java:294)
	at infoair.obcs.utilities.TestThread.run(DateTimeUtils.java:318)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:619)

 

最近测试一个服务端连多个客户端时,服务端老是报这样的错误,自己debug又没有事情,于是自己写了个demo

 

class TestThread extends Thread{
	String str = "1251-12-12 03:22:22";
	public void run(){
		while(true){
		 Date date = Test.validateDateTime(str);
		 System.out.println(date);
		 try {
			Thread.sleep(10);
		} catch (InterruptedException e) {
			e.printStackTrace();
			break;
		 }
		}
	}
}


class Test{
   
    public final static SimpleDateFormat dateTimeFormat = new SimpleDateFormat(
			"yyyy-MM-dd HH:mm:ss");
        /**
	 * 
	 * @param dateStr
	 *            String 格式为"yyyy-MM-dd HH:mm:ss"
	 * @return 日期
	 */
	public  static Date validateDateTime(String dateStr) {
		try {
			return dateStr == null || dateStr.equals("") ? null
					: dateTimeFormat.parse(dateStr);
		} catch (ParseException e) {
		//	e.printStackTrace();
			return null;
		}
	}
	
	
	public static void main(String[] args) throws InterruptedException {

		ExecutorService exe = Executors.newCachedThreadPool();
		for (int i = 0; i < 100;i ++){
			exe.execute(new TestThread());
		}
		Thread.sleep(5000);
		exe.shutdownNow();
	}
}

 

测试上面的demo 就发现在多线程下九抛出了上面连个异常,查了下API,上面写着:

 

类 SimpleDateFormat

<!-- Generated by javadoc (build 1.6.0-beta2) on Fri Mar 09 12:51:19 CST 2007 -->

<noscript></noscript>

同步

日期格式是不同步的。建议为每个线程创建独立的格式实例。如果多个线程同时访问一个格式,则它必须是外部同步的。

 

 

谨记,谨记。。。

 

有兴趣的 ,来解释下那个异常是怎么发生的吧

分享到:
评论
2 楼 mercyblitz 2011-01-20  
线程安全问题啊,SimpleDateFormat要使用原型对象。
1 楼 rocketball 2011-01-20  
http://www.iteye.com/topic/882541
刚讨论过的话题

相关推荐

    基于java的自动提取PDF论文文章标题作为该PDF的文件名源码+项目说明.zip

    基于java的自动提取PDF论文文章标题作为该PDF的文件名源码+项目说明.zip 本软件原是王炳宁先生公开在他的[主页](https://bingning.wang/research/Article/?id=114)上,本人偶遇之,遂常用。但发现它有一个bug,很多...

    陕西省专升本大学英语真题2016年-附答案解析.doc

    【陕西省专升本大学英语真题2016年-附答案解析.doc】这份文档是针对成人本科学生的考试复习资料,包含2016年的专升本大学英语真题及答案解析。这部分内容主要测试考生的词汇和语法结构掌握情况,以选择题形式呈现。 ...

    偶遇struts1.2文件上传

    这篇博客"偶遇struts1.2文件上传"可能涉及到了如何在Struts1.2框架下实现文件上传功能,这是一个常见的需求,特别是在用户需要提交图像、文档等数据时。下面我们将详细讨论Struts1.2中的文件上传机制及其相关的源码...

    教育教学设计偶遇修班级的标准与发展途径.pdf-文档整理可

    【标题解析】:“教育教学设计偶遇修班级的标准与发展途径”这一标题主要涵盖了两个核心概念:教育教学设计和班级建设的标准及发展路径。教育教学设计通常是指在教育过程中,教师或教育工作者根据教学目标、学生特点...

    初中语文文摘生活那些偶遇如此温暖

    这篇文章通过三个小故事,展现了生活中平凡而温暖的偶遇。第一个故事讲述了作者在幼儿园外等待女儿时,遇到一对农村老年夫妇在城里闲逛,老头耐心地为老伴解说,体现出夫妻间的温情与体贴。第二个故事是关于一位园艺...

    偶遇,徐志摩精选.doc

    2. 文学创作:徐志摩的诗歌风格唯美,情感深邃,如《偶遇》中的情感表达,展现了诗人对爱情的深刻理解。他的作品如《那一世》体现了对爱的执着和对人生的哲思。 3. 仓央嘉措:仓央嘉措是另一位著名诗人,他的诗作...

    当51单片机偶遇PPU

    当你想用51MCU做一台游戏机,你可能会想到FC。是的FC的图形芯片,用51完全可以连接上,资料中还包含了FC的完整原理图。51独有的并口时序,正好可以利用上,PPU也是用并口的。这里说的PPU,指FC用的图形处理器,国内...

    医学统计学课后答案解析.doc

    常用的非概率抽样方法有偶遇抽样、立意抽样、定额抽样、雪球抽样等。 八、小概率事件原理 小概率事件原理是统计学上的一条重要原理。当某事件发生的概率小于或等于 0.05 时,统计学上习惯称该事件为小概率事件。该...

    the one简单使用.docx

    DTN网络通常应用于卫星通信、移动 ad hoc 网络等场景,其中消息传递依赖于节点间的偶遇通信。 The ONE 提供了一个强大的仿真平台,支持多种移动模型以模拟节点的运动轨迹,以及多种DTN路由算法,如 Epidemic、Spray...

    java 反编译 jd-gui

    java 反编译 jd-gui 解压即用,启动:jd-gui.exe 启动后,点击File -&gt; open File 选择需要反编译的jar包,即可反编译或者直接点击左上角文件夹,选择需要反编译的jar包,即可反编译

    外研版高中英语必修五Module 2作业题及答案解析6份5精选.docx

    - `encounter`:遇到,文中指在街上偶遇老朋友。 - `profound`:深刻的,用于形容对某个主题有深入的理解或影响。 - `warning signal`:警告信号,这里是指心脏问题的警示。 - `sheer`:垂直的,形容悬崖峭壁等...

    专题资料(2021-2022年)大学生课余时间使用情况调查报告.doc

    调查采用了非概率抽样方法中的偶遇抽样,面向大一至大四的学生发放问卷,共收回164份有效问卷。调查内容涉及三个方面:课余时间的安排计划、主要活动和学习时间的分配。数据显示,女生制定课余时间计划的比例高于...

    小学六年级语文句子排序训练题与答案解析.doc

    以下是各题目的详细解析: 1. 该题讲述银杏树的特点和生长过程,正确的顺序是:216345。内容按照银杏树的特性(树干、枝叶、果实)、开花和雄花雌花的不显眼来排序。 2. 这段文字记录了与叶老先生的交谈,正确顺序...

    unit 2 the united kingdom词汇解析.docx

    5. **偶遇,撞上** (run across/run into) - 指偶然遇到某人或事物。 6. **接近,靠近** (close) - "get close to" 表示接近,靠近。 - 例如:"坐得离他近一些,以便能看清他的表情。"(Sit close to him so ...

    计划外的偶遇皇帝成长计划2安卓.doc

    6. 《一般》摄影集:江玥的摄影作品集《一般》展现了她对偶遇和日常瞬间的捕捉,设计简洁,通过24张照片传达了生活的具体和诗意。 7. 摄影理念:江玥认为摄影是一种减法艺术,能瞬间定格感觉,她喜欢自然、无修饰的...

    2019高考英语新课件二轮练习精品单元卷05(详细解析).doc

    这篇文档是针对2019年高考英语复习的第二轮练习,主要涵盖了Unit 4到Unit 5的内容,尤其强调了几个重点句型和结构,包括"come across(偶遇)","otherwise(否则)","be used to(习惯于)"以及"As far as(就......

    大学生课余时间使用情况调查报告.docx

    在样本设计上,采用了非概率抽样中的偶遇抽样,主要在校园内的多个地点分发问卷,覆盖大一至大四的在校生。通过对年级和性别的分类,分别探讨了课余时间的安排计划、主要活动以及学习投入。调查结果显示,女生制定...

    恩施2017年事业单位招聘考试真题及答案解析可复制版(1).docx

    11. **社交礼仪与时间管理**:第11题描述了一个场景,涉及到会议参与的流程,包括接到通知、迟到、入座和发言,以及偶遇熟人的情况,测试了社交礼仪和时间管理能力。 12. **政府职能**:最后一题引述了一句话,强调...

    2019高考英语新课件二轮练习精品单元卷05详细解析.doc

    - `come across`:偶遇,碰到,遇到。在这个句子中,表示的是意外遇到一个来自上海的老朋友。 - `be used to`:习惯于,to 后接动名词形式。在第二题中,表示在乡村时习惯了早起。 2. **定语从句**: - 关系副词...

Global site tag (gtag.js) - Google Analytics