今天突然想起来上次面试时候被问到SimpleDateFormat是不是线程安全,那时我想法是,这东西设计成线程安全应该很容易,为什么不设计成线程安全呢,接着又想,就算不是线程安全,一个线程new一个SimpleDateFormat不就行了。      今天看了下源码 public Date pa
原创 2011-10-27 11:43:57
754阅读
由于项目需要,刚才打算为ASP.NET MVC应用程序增强ControllerFactory功能,因此翻出了ASP.NET MVC源代码开始阅读其DefaultControllerFactory。代码不多,很容易理解,不过读着读着便发现了问题,因为我发现DefaultControllerFactory不是线程安全
转载 2009-08-18 16:07:00
99阅读
2评论
线程五种状态线程,有时被称为轻量进程(Lightweight Process,LWP),是程序执行流最小单元。一个标准线程线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中一个实体,是被系统独立调度和分派基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少资源,但它可与同属一个进程其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一
一、线程安全类如果一个类对象同时可以被多个线程访问,并且你不做特殊同步或并发处理,那么它就很容易表现出线程安全现象。比如抛出异常、逻辑处理错误… 下面列举一下常见线程安全类及对应线程安全类:1、StringBuilder 与 StringBufferStringBuilder是线程安全,而StringBuffer是线程安全。分析源码:StringBuffer方法使用了s
一、前言 日期转换与格式化在项目中应该是比较常用了,最近同事小刚出去面试实在是没想到被 SimpleDateFormat 给摆了一道... 面试官:项目中日期转换怎么用?SimpleDateFormat 用过吗?能说一下 SimpleDateFormat 线程安全问题吗,以及如何解决? 同事
原创 2021-06-05 17:35:08
784阅读
作者 |Fann_s来源 |https://juejin.im/post/5d6228046fb9a06add4e37fe引言周五去面试又被面试一个问题问哑巴了面试官:StringB...
原创 2021-06-21 16:58:47
108阅读
引言 周五去面试又被面试一个问题问哑巴了 面试官:StringBuilder和StringBuffer区别在哪?我:StringBuilder不是线程安全,StringBuffer是线程安全面试官:那StringBuilder不安全点在哪儿?我:。。。(哑巴了) 在这之前我只记住了StringBuilder不是线程安全,StringBuffer是线程安全这个结论,至于String
转载 2021-06-18 16:23:02
56阅读
面试官:StringBuilder和StringBuffer区别在哪? 我:StringBuilder不是线程安全,StringBuffer是线程安全
转载 2021-07-27 15:01:25
45阅读
作者:千山 juejin.im/post/5d6228046fb9a06add4e37fe 引言 面试官:StringBuilder和StringBuffer区别在哪? 我:StringBuilder不是线程安全,StringBuffer是线程安全 面试官:那StringBuilder不安全
转载 2021-05-25 21:33:36
85阅读
周五去面试又被面试一个问题问哑巴了面试官:StringBuilder和StringBuffer区别在
转载 2022-03-18 15:25:51
52阅读
面试官:StringBuilder和StringBuffer区别在哪? 我:StringBuilder不是线程安全,StringBuffer是线程安全 面试官:那StringBuilder不安全点在哪儿? 我:。。。(哑巴了)
转载 2021-07-27 15:01:47
70阅读
Arraylist 和 LinkedList 是 Java 集合框架中用来存储对象引用列表两个类。Arraylist 和 LinkedList 都实现 List 接口。首先,让我们了解一下它们最重要父接口——List。1. List 接口列表(list)是元素有序集合,也称为序列。它提供了基于元素位置操作,有助于快速访问、添加和删除列表中特定索引位置元素。List 接口实现了 Colle
转载 10月前
17阅读
串行队列+同步任务:不会开启新线程,任务逐步完成。并发队列+同步任务:不会开启新线程,任务逐步完成。串行队列+异步任务:开启新线程,任务逐步完成。并发队列+异步任务:开启新线程,任务同步完成。队列和任务并发跟串行属于队列同步跟异步属于执行任务 同步异步区别同步会卡死线程,一个线程要等待上一个线程执行完之后才能执行当前线程异步同时去做两件或者多件事。队列特点先进先出,排在前面
集合类线程安全问题一、ArrayListArrayList底层是封装了数组,通过数组来存储数据。当新建一个无参数ArrayList时,new ArrayList() 初始容量,在jdk1.6中的确是为10,然而在1.8中,如果只是new ArrayList() ,容量其实是0,当第一次通过add(E e)时,才扩充为10。当ArrayList增加元素时,它是按照顺序从头部开始往后添加,它是
转载 2024-07-22 21:11:33
42阅读
我们上述所讲Map都是非线程安全,这意味着不应该在多个线程中对这些Map进行修改操作,轻则会产生数据不一致问题,甚至还会因为并发插入元素而导致链表成环(插入会触发扩容,而扩容操作需要将原数组中元素rehash到新数组,这时并发操作就有可能产生链表循环引用从而成环),这样在查找时就会发生死循环,影响到整个应用程序。Collections.synchronizedMap(Map m)可以将一
### Java Map 是否线程安全? 在 Java 编程中,Map 是一个常用数据结构,用于存储键值对。我们经常需要使用 Map 处理各种数据,尤其是需要快速查找场景。然而,关于 Map 线程安全性,很多开发者仍然感到疑惑。本文将深入探讨 Java 中 Map 是否线程安全,并通过代码示例进行说明。 #### 一、Java Map 概述 Java 中 Map 接口提供了将键映射到
原创 2024-09-23 05:18:49
77阅读
前言:Redis 6.0.1 于 2020 年 5 月 2 日正式发布了,如 Redis 作者 antirez 所说,这是迄今为止最 “企业” 化版本,
转载 2022-11-03 10:08:21
240阅读
# Java ArraySet 是否线程安全探讨 在Java编程中,线程安全性是一个非常重要概念。对于很多刚入行开发者来说,理解集合类(如ArraySet)线程安全性是一个基本技能。本文将带你一步步分析Java中ArraySet是否线程安全,并提供详细代码示例和说明。 ## 任务流程概述 我们将通过以下步骤来探讨这一问题: | 步骤 | 描述
原创 8月前
61阅读
Kotlin集合类虽然继承自Java,但是增加了更多能力,使用更具优势分为immutable和mutable两类,默认immutable类型使用起来更安全提供更多工厂方法创建对象,例如listOf,setOf等提供了很多类似于StreamAPI操作符(本质是扩展函数),例如filter()等接口体系List、Set、Map等常用集合类继承体系与JDK基本一样,只是接口类型默认是immut
风险起因在引入并发编程之后,CPU等资源利用率提高了,但是也出现了安全性问题。进程中各种资源,比如内存和I/O,都是以变量形式存在在代码中,这些变量是可以同时被多个线程访问(也就是共享),这些变量值可能被访问它线程修改(也就是可变)。由于共享可变变量存在,才导致了多线程情况下安全性问题。并不是所有变量都是共享,在一个线程调用一个方法时候,会在栈内存上为局部变量以及方法参数申请
  • 1
  • 2
  • 3
  • 4
  • 5