NumberFormatException: multiple points
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NumberFormatException: multiple points相关的知识,希望对你有一定的参考价值。
问题描述:
有两个项目,一个ssmp、一个性能数据提供perf-provider ,后者给前者提供rest api;
突然有一天,来了新需求,ssmp在短时间内需要发送大量的rest请求,请求中有一个
时间参数,传到后台做时间格式化时开始报错:
严重: Servlet.service() for servlet [dispatcher] in context with path [/storage-performance-provider] threw exception [Request processing failed; nested exception is java.lang.NumberFormatException: multiple points] with root cause
java.lang.NumberFormatException: multiple points
但是调试发现传过来的时间没问题,一时一头雾水,想看源码,觉得太费时间,结果在度娘上搜了下发现有同僚碰到过,说是:
多线程方法中使用了共享变量SimpleDateFormat,报如下错误: Java.lang.NumberFormatException: multiple points at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1084 原因: SimpleDateFormat是线程不安全的,切忌切忌! 解决: 在线程方法中,new SimpleDateFormat(); 例: SimpleDateFormat sdf = new SimpleDateFormat();
而回顾自己的代码中确实有一个静态的SimpleDateFormat实例,至此问题明了。
但还有一个问题: provider中的rest api怎么会发生多线程,先留着吧
以上是关于NumberFormatException: multiple points的主要内容,如果未能解决你的问题,请参考以下文章
在预期时处理 NumberFormatException 的正确方法是啥?
Android - NumberFormatException 问题
如何防止 java.lang.NumberFormatException:对于输入字符串:“N/A”?
java.lang.NumberFormatException 和 SystemDecimalSeparator