http://www.cnblogs.com/peida/archive/2013/05/31/3070790.html
ThreadLocal 线程独享,synchronized 方法独享。
import java.text.ParseException; public class TestSimpleDateFormat { public static class ThreadSafe extends Thread { @Override public void run() { while(true) { try { System.out.println(this+"="+System.currentTimeMillis()); //自己等待自己2000毫秒,提高并发命中//调用线程 this.join(2000); } catch (InterruptedException e1) { e1.printStackTrace(); } try { System.out.println(this.getName()+":"+DateUtil.parse("2015-11-11 00:00:00")); } catch (ParseException e) { e.printStackTrace(); } } } } public static void main(String[] args) { for(int i = 0; i < 3; i++){ new ThreadSafe().start(); } } }
Exception in thread "Thread-1" java.lang.NumberFormatException: For input string: "20152015E4"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Long.parseLong(Long.java:419)
at java.lang.Long.parseLong(Long.java:468)
at java.text.DigitList.getLong(DigitList.java:177)
at java.text.DecimalFormat.parse(DecimalFormat.java:1297)
at java.text.SimpleDateFormat.subParse(SimpleDateFormat.java:1589)
at java.text.SimpleDateFormat.parse(SimpleDateFormat.java:1311)
at java.text.DateFormat.parse(DateFormat.java:335)
at com.wnj.javausage.DateUtil.parse(DateUtil.java:17)
方式1
private static ThreadLocal<DateFormat> sdf= new ThreadLocal<DateFormat>() { @Override protected DateFormat initialValue() { return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); } }; public static Date parse(String dateStr) throws ParseException { return sdf.get().parse(dateStr); }
方式2
public static DateFormat getDateFormat() { DateFormat df = threadLocal.get(); if(df==null){ df = new SimpleDateFormat(date_format); threadLocal.set(df); } return df; } public static String formatDate(Date date) throws ParseException { return getDateFormat().format(date); }
相关推荐
在 MySQL 中,线程独享内存主要用于各客户端连接线程存储各种操作的独享数据,如线程栈信息,分组排序操作,数据读写缓冲,结果集暂存等等,而且大多数可以通过相关参数来控制内存的使用量。 线程栈信息使用内存...
1 线程独享内存 2 全局共享内存 先说线程独享内存: 线程栈信息使用内存(thread_stack):主要用来存放每一个线程自身的标识信息,如线程id, 线程运行时基本信息等等,我们可以通过 thread_stack 参数来设置为每一...
功能描述:多线程情况下频繁向系统申请内存不仅损耗效率,还会造成内存碎片的问题,在该项目中,Thread Cache用于小于256KB的内存分配,每个线程独享各自的thread cache;该层设计为哈希桶结构,线程从这里申请内存...
1、堆是线程共享的内存区域,栈是线程独享的内存区域。 2、堆中主要存放对象实例,栈中主要存放各种基本数据类型、对象的引用。 但是其实以上两个结论并不是完全正确的。 在解释原因之前首先抛出个问题:Java对象...
什么是ThreadLocal ThreadLocal一般称为线程本地变量,它是一种特殊的线程绑定...而ThreadLocal从本质上讲,无非是提供了一个“线程级”的变量作用域,它是一种线程封闭(每个线程独享变量)技术,更直白点讲,Thre
MySQL理论上使用的内存 = 全局共享内存 + max_connections×线程独享内存。 也就是:innodb_buffer_pool_size + innodb_log_buffer_size + thread_cache_size +table_open_cache + table_definition_cache +key_...
Java作为一种面向对象的,跨平台语言,其...1、堆是线程共享的内存区域,栈是线程独享的内存区域。 2、堆中主要存放对象实例,栈中主要存放各种基本数据类型、对象的引用。 但是,作者可以很负责任的告诉大家,以上两
资源共享(独享资源则不会) 2. 调度随机(意味着数据访问会出现竞争) 3. 线程间缺乏必要的同步机制。 以上3点中,前两点不能改变,欲提高效率,传递数据,资源必须共享。只要共享资源,就一定会出现竞争。只要...
共享锁是在锁定的期间,其它线程也可以访问这个数据文件,但是不允许修改操作,相应的,独享锁就是整个文件就是归一个线程所有,其它线程无法访问这个数据文件。一般MySQL中最快的存储引擎MyISAM,它是基于表锁定的...
在Java里 thread 是线程的意思. 说到线程的概念, 自然离不开另外两个词: 程序和进程. 从基本的程序讲起: ... 资源的独占性: 任何时候, 内存内只有1个用户程序, 这个程序独享系统的所有资源. 2. 执行
每个人独享的最高法院判决书。一部由电影《 Via Col Vento》拍摄的预告片,将于2021年2月27日在节目上发行。 19:30 ovvero fino alle。 Dopo le 19:30 le prenotazioni saranno chiuse。 Lo spettacolo inizia alle ...
上周在生产环境上遇到一个问题,不敢独享,拿出来给小伙伴们做个简单的分享。 起因 :由于IDC机房断电(估计又是哪里被挖掘机碰了下吧),导致所有服务器重启,影响到了其中的MySQL数据库。来看下这时数据库遇到的...
Java的 Web项目大部分都是基于 Tomcat,每次访问都是一个新的线程,这样让我们联想到了 ThreadLocal,每一个线程都独享一个 ThreadLocal,在接收请求的时候 set特定内容,在需要的时候 get这个值。下面我们就进入...
首先要明白为什么上面这段话能够锁定代码,其中的奥妙就是X这个对象,事实上X是任意一种引用类型,它在这儿起的作用就是任何线程执行到lock(X)时候,X需要独享才能运行下面的代码,若假定现在有3个线程A,B,C都执行到...
一路收集来的android学习资源,不敢独享,分享给大家共同学习: Android设计模式 Android开发指南 android的PPT Android开发教程 GoogleAndroid_code 深入理解Android:卷I的样章 Android-framework详细分析 Android...
java并发包源码并发测试 受保护的最终int tryAcquireShared(int未使用){/ * *演练:* 1.如果另一个线程持有写锁定,则失败。 * 2.否则,此线程符合*锁定wrt状态,...//如果第一个加入其中的是独享锁即写锁,返回tr
前言: ...相对于多线程,多进程由于独享内存空间,更稳定安全,在运维里面做些批量操作时,多进程有更多适用的场景 multiprocessing包提供了本地和远程两种并发操作,有效的避开了使用子进程而不是全
java7 hashmap源码 ##Java 并发和高并发 ###ava 多线程模块: 并发的基本概念: 同时拥有一个或者多个...独享,专用的 S : Share 共享 I :Invalid 无效的 local read 读取本地缓存 local write 写入本地缓存 remote
【注:】我的博客里基本没有原创,因为我不会写代码,我只是代码的...又是一个意外在一个大神的文章里看到了Handler加Runnable线程的方法,一试 果然超爽,不敢独享,拿出来与新手们一起分享一下 这个定时功能。 public