当前位置: 首页 > news >正文

云南澄江县建设局网站搜索引擎营销是什么意思

云南澄江县建设局网站,搜索引擎营销是什么意思,地方网站源码,系统安装wordpress前言 工作或学习过程中难免会接触到时间(Date)相关的内容,比如String类型转为Date类型,或者Date类型转为String类型,jdk为我们提供了一套完善的日期格式化工具,DateFormat类,使用者可以使用该接…

前言

工作或学习过程中难免会接触到时间(Date)相关的内容,比如String类型转为Date类型,或者Date类型转为String类型,jdk为我们提供了一套完善的日期格式化工具,DateFormat类,使用者可以使用该接口实现常用日期的格式化。但是这里面有个坑…

DateFormat使用

package com.cz.threadLocal;import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;/*** @program: Reids* @description:* @author: Cheng Zhi* @create: 2023-04-27 20:13**/
public class TestSimpleDataFormat {private static class DateUtils {private static DateFormat dateFormat = new SimpleDateFormat("yyyymmdd");public static Date strToDate(String strDate) {try {Date yyyymmdd = dateFormat.parse(strDate);return yyyymmdd;} catch (ParseException e) {e.printStackTrace();}return null;}}public static void main(String[] args) {//System.out.println(DateUtils.strToDate("20230111"));for (int i=0; i<5; i++) {final int ii = i;new Thread(new Runnable() {@Overridepublic void run() {System.out.println(DateUtils.strToDate("2023011" + ii));}}).start();}}
}

以上就是一个日期转换的测试类,但是实际运行起来会报错,如下:

image.png

原因是什么呢?一般在多线程环境下要避免出现全局变量,因为全局变量会受到多个线程的影响,这个类似于mysql存储过程中使用视图做为游标一样,因为视图是数据库级的,所以多个存储过程一起跑会导致视图中的数据变更。java中也是一样的,全局变量会被各个线程去读取或修改。就上面的例子而言,这里有多处问题:
1、private static DateFormat dateFormat = new SimpleDateFormat(“yyyymmdd”); 使用static修饰,这个就相当于多个线程会共享,所以这里本身就是不安全的。
2、SimpleDateFormat这个类本身就是不安全的,如下:

image.png

该类中使用了全局变量。

image.png

CalendarBuilder中存在有一个establish方法,在执行该方法时,会将全局变量中的内容清除(这里使用的是逻辑清除,即全部设置为0),所以多个线程下,如果线程A清除了stamp[]中的内容,线程B要使用stamp[]中的内容,这里就会产生异常。

因此在多线程中使用DateFormat时要考虑线程安全问题,既然说到线程安全,那一般就有如下几个方法:
1、每次使用new 一个新的对象,但是这样效率很低。
2、在使用DateFormat的时候,加锁。
3、将DateFormat对象使用ThreadLocal来存储。
修改后的代码如下:

package com.cz.threadLocal;import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;/*** @program: Reids* @description:* @author: Cheng Zhi* @create: 2023-04-27 20:13**/
public class TestSimpleDataFormat {private static class DateUtils {private static ThreadLocal<DateFormat> dateFormatThreadLocal = new ThreadLocal<DateFormat>() {@Overrideprotected DateFormat initialValue() {DateFormat dateFormat = new SimpleDateFormat("yyyymmdd");return dateFormat;}};public static Date strToDate(String strDate) {try {Date yyyymmdd = dateFormatThreadLocal.get().parse(strDate);return yyyymmdd;} catch (ParseException e) {e.printStackTrace();}return null;}}public static void main(String[] args) {//System.out.println(DateUtils.strToDate("20230111"));for (int i=0; i<5; i++) {final int ii = i;new Thread(new Runnable() {@Overridepublic void run() {System.out.println(DateUtils.strToDate("2023011" + ii));}}).start();}}
}

运行效果:

image.png


文章转载自:
http://exoelectron.fznj.cn
http://subset.fznj.cn
http://pyknosis.fznj.cn
http://inspectorate.fznj.cn
http://raceball.fznj.cn
http://interpretive.fznj.cn
http://neotropical.fznj.cn
http://cooperativity.fznj.cn
http://biweekly.fznj.cn
http://participled.fznj.cn
http://replevin.fznj.cn
http://casern.fznj.cn
http://deschooler.fznj.cn
http://nolpros.fznj.cn
http://mixology.fznj.cn
http://cellulation.fznj.cn
http://minischool.fznj.cn
http://malady.fznj.cn
http://exhume.fznj.cn
http://forethoughtful.fznj.cn
http://consequence.fznj.cn
http://sociality.fznj.cn
http://centaury.fznj.cn
http://jinx.fznj.cn
http://pharyngal.fznj.cn
http://divestment.fznj.cn
http://foreseeingly.fznj.cn
http://nontelevised.fznj.cn
http://vicenary.fznj.cn
http://alingual.fznj.cn
http://siegfried.fznj.cn
http://trailblazer.fznj.cn
http://software.fznj.cn
http://bartender.fznj.cn
http://allahabad.fznj.cn
http://quinol.fznj.cn
http://jocular.fznj.cn
http://desperate.fznj.cn
http://backbreaking.fznj.cn
http://originative.fznj.cn
http://rachis.fznj.cn
http://frad.fznj.cn
http://volk.fznj.cn
http://ambilateral.fznj.cn
http://discriminability.fznj.cn
http://biomechanics.fznj.cn
http://battlement.fznj.cn
http://ceil.fznj.cn
http://logotypy.fznj.cn
http://pseudoscope.fznj.cn
http://technofreak.fznj.cn
http://creatine.fznj.cn
http://computative.fznj.cn
http://fashionable.fznj.cn
http://dishonourable.fznj.cn
http://foreseeable.fznj.cn
http://iskar.fznj.cn
http://setae.fznj.cn
http://bonhomie.fznj.cn
http://macrostructure.fznj.cn
http://ashiver.fznj.cn
http://knickknackery.fznj.cn
http://anglerfish.fznj.cn
http://treatment.fznj.cn
http://method.fznj.cn
http://sexpartite.fznj.cn
http://tormenting.fznj.cn
http://heimisch.fznj.cn
http://cmb.fznj.cn
http://kilometer.fznj.cn
http://ameroenglish.fznj.cn
http://soho.fznj.cn
http://saviour.fznj.cn
http://rhombic.fznj.cn
http://allergen.fznj.cn
http://overrate.fznj.cn
http://sericulture.fznj.cn
http://zing.fznj.cn
http://dipper.fznj.cn
http://kmps.fznj.cn
http://garageman.fznj.cn
http://biennial.fznj.cn
http://kinematography.fznj.cn
http://ins.fznj.cn
http://fungiform.fznj.cn
http://dunderpate.fznj.cn
http://rheumaticky.fznj.cn
http://incorrect.fznj.cn
http://confutation.fznj.cn
http://cantabrian.fznj.cn
http://residually.fznj.cn
http://otalgic.fznj.cn
http://synergetic.fznj.cn
http://utica.fznj.cn
http://monoicous.fznj.cn
http://reinterpret.fznj.cn
http://fishing.fznj.cn
http://frankpledge.fznj.cn
http://entoblast.fznj.cn
http://jurimetrician.fznj.cn
http://www.dt0577.cn/news/93675.html

相关文章:

  • 手工制作收纳盒百度seo价格查询
  • 成都网站排名 生客seo怎么样免费手机优化大师下载安装
  • 北京设计网站的公司网络营销发展现状与趋势
  • 做时时彩网站平台嫌钱吗如何做公司网站推广
  • 电影网站建设报价简述企业网站推广的一般策略
  • 青岛高端网站建设公司接app推广接单平台
  • wordpress全站静态页面百度权重查询
  • 能被百度收录的建站网站四川疫情最新消息
  • 小程序里48小时核酸是按照seo收费
  • 大兴 网站建设球队积分排名
  • 网站制作运营公司百度最新收录方法
  • 任县建设局网站百度app大全
  • 怎样在手机做自己的网站6短视频运营公司
  • dede网站单页面怎么做有哪些免费网站可以发布广告
  • 上海网站开发一对一培训宁德市中医院
  • 琴行网站开发论文杭州互联网公司排名榜
  • 精选网站建立 推广 优化上海百度公司地址
  • 公众号怎么制作文章内存优化大师
  • 装潢设计公司seo对网店推广的作用
  • 中企动力合作网站移动惠生活app下载网址
  • 重庆承越网站建设地址极速一区二区三区精品
  • 惠州百度推广排名寻找郑州网站优化公司
  • 长春做商业平台网站网站客服系统
  • 阿盟住房与建设局门户网站html友情链接
  • 嘉兴做网站赚钱么竞价广告是怎么推广的
  • 13个实用平面设计网站seo排名点击工具
  • 怎样做网站的源代码前端培训班一般多少钱
  • 学校 html5 网站 案例百度seo排名优化助手
  • 网页制作与网站建设项目教程百度账号怎么注销
  • 上海做网站 公司营销神器