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

征二级网站建设意见 通知/客户关系管理系统

征二级网站建设意见 通知,客户关系管理系统,东四做网站,平谷区网站建设前言 工作或学习过程中难免会接触到时间(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

相关文章:

DateFormat使用时需要注意:多线程下需要特殊处理

前言 工作或学习过程中难免会接触到时间&#xff08;Date&#xff09;相关的内容&#xff0c;比如String类型转为Date类型&#xff0c;或者Date类型转为String类型&#xff0c;jdk为我们提供了一套完善的日期格式化工具&#xff0c;DateFormat类&#xff0c;使用者可以使用该接…...

Packet Tracer - 研究直连路由

Packet Tracer - 研究直连路由 目标 第 1 部分&#xff1a;研究 IPv4 直连路由 第 2 部分&#xff1a;研究 IPv6 直连路由 拓扑图 背景信息 本活动中的网络已配置。 您将登录路由器并使用 show 命令发现并回答以下有关直连路由的问题。 注&#xff1a;用户 EXEC 密码是 c…...

大专生程序员找工作的一点小建议 知识分享 经验分享

最近呢有人在私信我 就问我说我呢是一个大专生 大专毕业 学历呢也不是很好 我但是我学的是这个计算机 这样一个专业 然后呢现在找工作找不到 就这样的一个要求 让我们呢给一些建议 当然就是私底下在网上聊吗 就会给 也相信 我的一个建议是什么样的 就是你首先你要去找工作的 首…...

PyCaret:低代码自动化的机器学习工具

PyCaret简介 随着ChatGPT和AI画图的大火&#xff0c;机器学习作为实现人工智能的底层技术被大众越来越多的认知&#xff0c;基于机器学习的产品也越来越多。传统的机器学习实现方法需要较强的编程能力和数据科学基础&#xff0c;这使得想零基础尝试机器学习变得非常困难。 机器…...

【Hello Network】网络编程套接字(三)

作者&#xff1a;小萌新 专栏&#xff1a;网络 作者简介&#xff1a;大二学生 希望能和大家一起进步 本篇博客简介&#xff1a;简单介绍下各种类型的Tcp协议 各种类型Tcp服务器 多进程版的TCP网络程序捕捉SIGCHLD信号让孙子进程执行任务 多线程TCP网络程序线程池版多线程TCP网络…...

3.4 只读存储器

学习目标&#xff1a; 学习只读存储器&#xff08;ROM&#xff09;的目标可以包括以下内容&#xff1a; 了解ROM的基本概念、分类以及适用场景。掌握ROM的电路原理、逻辑结构和读取方式。熟悉ROM的编程方式和编程工具。理解ROM与EPROM、EEPROM和闪存的区别和联系。了解ROM在计…...

从后端开发转大数据开发怎么样?

很多做后端的小伙伴&#xff0c;在某一个瞬间&#xff0c;都想转行大数据&#xff0c;那这种想法可行嘛&#xff1f; 转大数据的最初原因很简单&#xff0c;就是好几个同事都转了&#xff0c;他们的收入瞬间提高了好多&#xff0c;于是在同事的内推我也就跟着转了&#xff0c;…...

编程式导航路由跳转到当前路由(参数不变),多次执行会抛出NavigatorDuplicated的禁告错误?

重写push与replace方法 编程式导航路由跳转到当前路由&#xff08;参数不变&#xff09;&#xff0c;多次执行会抛出NavigatorDuplicated的禁告错误&#xff1f; 路由跳转有俩种形式&#xff1a;声明式导航&#xff0c;编程式导航 声明式导航没有这类问题的&#xff0c;因为…...

AppArmor无内核及系统日志的问题及解决

在AppArmor中&#xff0c;正常情况下&#xff0c;一旦违反了规则&#xff0c;是能够在内核及系统日志中看到相关信息的。比如&#xff1a;在Ubuntu下正常产生的日志信息&#xff08;示例&#xff09;如下&#xff1a; kernel: [140321.028000] audit(1191433716.584:1578): t…...

本地更改配置ssh密钥和更改github网址

配置 SSH 密钥以进行身份验证&#xff0c;可以遵循以下步骤&#xff1a; 生成SSH密钥 打开 Git Bash 终端 在 Windows 上&#xff0c;可以打开 Git Bash 终端。通常&#xff0c;可以在开始菜单中搜索 Git Bash 并启动它。一旦打开了 Git Bash 终端&#xff0c;将进入一个基于…...

MATLAB函数封装2:QT调用封装函数

在利用MATLAB进行封装函数之后&#xff0c;最主要的目的是对函数进行调用&#xff0c;能够对矩阵运算和其他算法的运行进行快捷处理。 在有了MATLAB函数之后封装成DLL文件之后&#xff0c;在QT中添加动态链接库&#xff0c;就可以实现函数的调用过程&#xff0c;这个过程相对简…...

AJAX和JSON

1、什么是AJAX? AJAX&#xff08;ASynchronous JavaScript And XML&#xff09;异步的JavaScript 和 XML&#xff1b; 由Jesse James Garrett 在他的文章AJAX&#xff1a;A New Approoch to Web Applications中首次提出。 ajax&#xff08;Web数据交互方式&#xff09;_百…...

源码:SharedPreferences分析

一、持久化方式&#xff1a; DataStore&#xff1a;稳定性 MMKV&#xff1a;效率 SharedPreferneces 区别&#xff1a; 功能MMKVJetpack DataStoreSharedPreferneces是否阻塞主线程否否是是否线程安全是 是 是是否支持跨进程是否否是否类型…...

大二一个学期学这么点内容,没有概念,只有实操

如何查看所有的数据库&#xff1a; Show databases; 如何进入某个数据库&#xff1a; use xxx; 如何新进数据库&#xff1a; Create database jx; 如何删除数据库&#xff1a; Drop database jx; 如何查看所有的表格&#xff1a; Show tables; 如何创建数据表&#xf…...

AppWeb 身份验证绕过漏洞 (CVE-2018-8715)

当前漏洞环境部署在vulhub,当前验证环境为vulhub靶场&#xff08;所有实验均为虚拟环境&#xff09; 实验环境&#xff1a;攻击机----kali 靶机&#xff1a;centos7 1、进入靶场&#xff0c;启动环境 2、访问AppWeb控制台&#xff1a;http://your-ip:8080 使用用户名、密码adm…...

为什么监控摄像头画面不如手机拍摄视频画面清晰

一天和一个做餐饮的朋友吃饭聊天&#xff0c;他提出一个问题&#xff0c;几百块的监控摄像头就是纯粹做监控功能 &#xff0c;视频拍摄的画面为什么还没有几百元的手机拍摄的视频画面清晰&#xff0c;对于此特意查了一下技术资料&#xff0c;整理一下&#xff0c;以备下次再详细…...

EU GMP附录一与关键区域空气微生物取样方案及相关法规标准解读

2022版EU GMP附录一与关键区域空气微生物取样方案疑问解答 3月30日2022版EU GMP附录一与关键区域空气微生物取样方案网络研讨会期间&#xff0c;我们收集到了部分参会听众针对该主题所提出的常见问题。根据以下这些问题&#xff0c;lighthouse微生物应用专家将来为您答疑解惑。…...

【软件测试】自动化测试日志问题该怎么解决?测试老鸟总结方案...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Python自动化测试&…...

快速响应 智慧应急|大势智慧亮相第三届武汉国际安全应急博览会

4月26日至4月28日&#xff0c;第三届武汉国际安全应急博览会&#xff08;后简称“应博会”&#xff09;在湖北武汉顺利举办。本次展会&#xff0c;大势智慧以实时三维重建能力为核心&#xff0c;提供各类应急场景的技术支撑&#xff0c;助力应急处置和救援等方面的应用。 展会…...

MySQL数据库——MySQL DELETE:删除数据

在 MySQL 中&#xff0c;可以使用 DELETE 语句来删除表的一行或者多行数据。 删除单个表中的数据 使用 DELETE 语句从单个表中删除数据&#xff0c;语法格式为&#xff1a; DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句] 语法说明如下&#xff1a; …...

管家婆安装导致电脑蓝屏问题解决方案

安装完管家婆后&#xff0c;电脑蓝屏&#xff0c;重启还是蓝屏&#xff0c;这该怎么办&#xff1f; 导致的原因&#xff1a;因加密狗驱动不适配于Windows10系统&#xff0c;导致电脑蓝屏 修复方案&#xff1a;进入电脑安全模式&#xff08;怎么进入问度娘&#xff09;&#…...

Compiler Lab1- 自制词法分析器

由于编译原理课的Lab1为自制词法分析器&#xff0c;所以笔者用C实现了一个极简的C语言词法分析器&#xff0c;用于分析C语言源代码。它可以处理关键字、标识符、整数、实数、浮点数的科学计数法表示、运算符、分隔符、字符串字面量、字符字面量、注释和预处理指令。请注意&…...

构建API的战斗——与来自Kong的Marco Palladino的问答

Kong是一个开源的API网关&#xff0c;可用于管理、安全性和监视微服务和API的所有流量。以下是Kong官方网站的介绍&#xff1a; Kong是一个云原生、快速、可扩展的分布式微服务抽象层&#xff08;也称为API网关、API中枢、API发布器或API服务的网关&#xff09;。 Kong即可充当…...

华为OD机试 - 对称美学(Python)

题目描述 对称就是最大的美学,现有一道关于对称字符串的美学。已知: 第1个字符串:R 第2个字符串:BR 第3个字符串:RBBR 第4个字符串:BRRBRBBR 第5个字符串:RBBRBRRBBRRBRBBR 相信你已经发现规律了,没错!就是第 i 个字符串 = 第 i - 1 号字符串取反 + 第 i - 1 号字符…...

argparse.ArgumentParser

文章目录 argparse.Namespace() Python参数解析工具argparse.ArgumentParser()和实例详解 创建解析器 parserargparse.ArgumentParser() 添加参数 parser.add_argument(name or flags…[, action][, nargs][, const][, default][, type][, choices][, required][, help][, meta…...

大数据Doris(五):FE 扩缩容

文章目录 FE 扩缩容 一、通过MySQL客户端连接Doris 二、FE Follower扩缩容 1、准备 FE 安装包...

react相关概念

真实DOM和虚拟DOM区别 react关于虚拟DOM和真实DOM 虚拟DOM比较“轻”&#xff0c;真实DOM比较“重”&#xff0c;因为虚拟DOM是React在用&#xff0c;无需真实DOM上那么多属性 虚拟DOM最终一定会转为真实DOM放入页面 JSX JSX: 全称JavsScript XML 是react定义的一种类似于XM…...

计算机的硬件系统的组成

微型计算机是指一种体积小、功能强大的计算机系统&#xff0c;通常用于个人或小型企业的日常办公、娱乐等需求。微型计算机的硬件系统主要由以下几个部分组成&#xff1a; 一、中央处理器&#xff08;CPU&#xff09; 中央处理器&#xff0c;简称CPU&#xff08;Central Proc…...

Python基础-列表元组

列表元组 列表元组的操作符 len在列表元组中的使用 len函数可以计算除数字类型之外,其他所有数据类型的长度 列表(元组)之间的累加与乘法 两个列表相加可以使用同一个列表多次累加可以使用* in和not in在列表(元组)中的用法 in用于判断某个成员(元素)是否在该数据结构中…...

【校招VIP】拿到offer就躺平?转正前需要知道的这些事儿...

现在春招基本上结束了&#xff0c;拿到offer的同学就觉得可以直接躺平了。 但是拿到offer只是我们取经路上九九八十一难的第一关&#xff0c;后面还有很多的关卡等着考验我们。 近些年来在实习期间或者试用期间&#xff0c;无法转正的例子比比皆是&#xff0c;令人心动的offe…...