美文网首页
日期处理的线程安全

日期处理的线程安全

作者: 在路上的小海贼 | 来源:发表于2018-11-28 11:52 被阅读0次

数据清洗偶尔发生异常:
Caused by: 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:1589)
经反复查找原因,并参考https://stackoverflow.com/questions/4021151/java-dateformat-is-not-threadsafe-what-does-this-leads-to#,发现异常原因为SimpleDateFormat方法为非线程安全的,多线程情况下,可能会发生上述异常。
改为使用线程安全的DateTimeFormatter(jdk1.8及以上版本)进行Date与String的转换,系统上线没有再发生此类型异常。

相关文章

  • 日期处理的线程安全

    数据清洗偶尔发生异常:Caused by: java.lang.NumberFormatException: Fo...

  • 7.2 Handler消息传递机制

    简介:handler消息处理者,用来发生和处理消息,用于解决线程安全问题; 线程安全问题:多线程导致线程安全问题,...

  • Java 线程安全与锁的那些事

    线程安全 何为线程安全?维基百科上是这样描述的:线程安全是指函数、函数库在多线程环境中被调用时,能够正确地处理多个...

  • 无标题文章

    --如何处理android多线程安全不要堵塞UI线程,不在主线程中做耗时操作的处理,可以开启子线程去执行耗时操作 ...

  • 小编带你进SimpleDateFormat-多线程问题

    SimpleDateFormat-多线程问题: SimpleDateFormat类在多线程环境下中处理日期,极易出...

  • JDK 1.8 的 HashMap 详解: 为什么并发会出问题?

    HashMap 是非线程安全的,在多线程处理场景下,严禁使用。多线程要用ConcurrentHashMap。 大家...

  • iOS关于property中的atomic和nonatomic

    首先这两个属性特质是为了处理多线程安全问题,那么什么是多线程安全,多线程安全就是多个线程访问同一段代码、指针区域、...

  • InnoDB是怎样支持高并发的?

    世界是由矛盾组成的,并发的矛盾是什么?线程安全和线程效率,要保证线程安全,就得保证秩序(在处理临界资源的时候),所...

  • AtomicInteger

    AtomicInteger 默认内部实现了线程安全的 ++ , -- 等操作;处理的并发安全问题; http://...

  • 并发—高并发

    并发:多个线程操作相同的资源,保证线程安全,合理使用资源高并发:服务能同时处理很多请求,提高程序性能 线程安全性 ...

网友评论

      本文标题:日期处理的线程安全

      本文链接:https://www.haomeiwen.com/subject/dwsaqqtx.html