线程安全

     

Java单例模式:缺点和优点

24 5K

Singleton 是Gof 四人帮于 1994 年引入的一种创造性设计模式,由于其简单的实现而经常被误用而受到批评。因此,它已演变成现代软件开发实践中的反模式。让我们深入了解 Java 模式、单例的.

Rust内存安全解释

57 2K

是什么让 Rust 语言成为编写快速、内存安全应用程序的最佳语言之一? Rust 的内存安全功能已融入到语言本身中。Rust 如何以其他语言无法做到的方式保证内存安全?Rust 内存安全:本机语言功能.

C++ 创建者反驳白宫警告

77

美国白宫在 2 月 26 日发布的一份报告中呼吁开发人员使用不存在内存安全漏洞的编程语言,从而降低网络攻击的风险。 报告列举了 C++ 和 C 这两种存在内存安全漏洞的语言。 C++ 创始人 Bjar.

Node.Js 中异步上下文如何共享与通讯?

62 9K

、在Node.js中,管理异步流之间的上下文是一个挑战,因为它是单线程的。传统的多线程环境中可以使用线程本地存储(TLS)来实现上下文的管理,但在Node.js中不适用。Node.js提供了Async.

什么是软件开发中的不可变对象

75 4K

在编程领域,理解不可变对象和可变对象之间的区别至关重要。这些知识不仅提高了代码质量,还为开发人员提供了有关数据处理和应用程序架构做出明智决策的工具。不可变对象提供了一系列优势,从改进的安全性到可预测的.

面试官:如何设计Singleton单例?

52 4K

这是自从 Java 流行以来,一个非常流行的 Java 面试问题!这是一个非常简单的问题,为面试官打开了整个房间,可以提出很多后续问题。可以评估 Java 基础知识、设计模式知识,甚至扩展到多线程/其.

Java中的管道输入输出流

90 29K

在 Java 中,PipedInputStream和PipedOutputStream是 java.io 包的一部分,通常用于线程间通信。它为一个线程提供了一种通过管道将数据发送到另一个线程的方法。在.

Java 中的 CopyOnWriteArrayList

70 4K

CopyOnWriteArrayList 是 Java 中的一个类,是“java.util.concurrent”包的一部分。它是“ArrayList”类的线程安全变体。CopyOnWriteArra.

Java中ThreadLocal与Thread比较

64 5K

Thread和ThreadLocal这两个概念在 Java 多线程编程方法中至关重要。了解这两者之间的区别以及它们各自的优点和局限性对于任何旨在编写高效且健壮的多线程应用程序的 Java 开发人员至关.

Robinson:Go中单值线程安全缓存

95

“Robinson”包是一个轻量级且高效的 Go 库,它提供了一个线程安全的缓存实现,用于存储和检索任何类型的值。它提供了一种简单且简约的缓存方法,利用 Go 泛型的强大功能来确保强大的类型和最佳性能.

线程安全Collections.synchronizedMap与并发ConcurrentHashMap之间区别

81

Collections.synchronizedMap()和ConcurrentHashMap都提供对数据集合的线程安全操作。SynchronizedMap: 每个方法都使用对象级锁进行同步。因此,s.

并发ConcurrentSkipListSet与线程安全Collections.SynchronizedSet()区别

97 5K

ConcurrentSkipListSet是SortedSet的并发版本,当然TreeSet也可以通过Collections.SynchronizedSet(new TreeSet())实现,这两者有.

线程安全与并发区别

212

在并发编程中,"线程安全 "和 "并发 "是相关的概念,但它们有着不同的含义。线程安全 如果一个类或方法可以同时被多个线程使用,而不会导致数据损坏或意外行为,那么这个类或方法就被认为是线程安全的。 即.

Java 中的单例模式完善实现 -Chathuranga

929 2K

有3种主要情况会破坏Singleton,即使我们使它成为线程安全的 克隆 反序列化 反射 下面单例代码可以避免:class Singleton implements Cloneable, Serial.

优步爆Go语言容易发生的数据并发争夺问题

1762 1 4K

Uber已经采用Golang(简称Go)作为开发微服务的主要编程语言。我们的Go monorepo由大约5000万行代码组成(还在增长),包含大约2100个独特的Go服务(还在增长)。Go使并发性成为.

Java中实现线程安全HashSet的几种方法 | baeldung

6364 1 6K

在本教程中,我们将了解创建线程安全HashSet实例的可能性以及HashSet的ConcurrentHashMap的等价物。此外,我们将研究每种方法的优缺点。 使用ConcurrentHashMap工.

关于编程语言的可变性和不变性 - alexfertel

2082 1 3K

在本文中,我们将讨论可变性、它的含义以及在编程时与其相关的不同权衡。什么是可变性?可变值是可以在程序执行期间更改的值。这意味着我们可以创建一个值,将其绑定到一个变量,重新分配变量,或更改值的一部分。请.

使用不可变Java记录Record来避免多线程并发错误 - foojay

1204 1 2K

在多线程 Java 应用程序中,任何线程都可以更改对象的状态。Java 语言规范中的Java 内存模型指定了一个线程所做的准确更新何时对其他线程可见。这是专业 Java 开发人员每天处理的最大问题之一.

Java中volatile副作用:不使用CPU缓存

1072 2K

高速缓存位于在CPU和主内存之间,是一个速度更快的内存模块,其总体目的是提升性能。缓存通常是由具有不同大小和访问时间的几个层次级别组成。L1缓存是最小和最快的。L2更大而更慢。L3更大甚至更慢-但仍然.

Java中的不可变数据结构 - Jworks.io

1475 1 7K

开发人员通常认为拥有final引用,或者val在Kotlin或Scala中,足以使对象不可变。这篇博客文章深入研究了不可变引用和不可变数据结构。不可变数据结构的好处不可变数据结构具有一些显着的好处,例.

Spring Boot线程安全指南

3186 2 5K

Spring控制器/服务/单单例是线程安全的吗?答案是它取决于作用域: 决定组件线程安全性的主要因素是其作用域Scope。哪个Spring作用域是线程安全的?为了回答这个问题,首先需要了解Spring.

volatile读不是没有代价

4 1385 1
Are volatile reads really free?谈到如果为老线程安全加上volatile后,并不是免费的,与没有加volatile的性能对比如下:写多花费100倍,读多花费25倍时间。.

有一个java面试题求大神解读

8 2872 6

public class Point{ public int x,y; public Point(int x, int y){ x=0; y=0; } public Point(P.

线程安全是什么?

1 931

各位大师,经常讲的线程安全什么?在web项目中存在线程安全之类的说法吗?安全和不安全具体指的什么?.

DDD的不变性

2 2158

我最近在看ddd的译本,读到ddd的不变性的时候有点不理解。到底什么是ddd的不变性?往各位解答,谢谢![该贴被admin于2009-04-16 09:15修改过][该贴被admin于2009-04-.

java线程安全问题

15 2636 1

1.做了个测试,使用HashMap ,多个线程做put get ,remove等操作,模拟类似tomcat存放session的数据结构 只是我在put,get remove时没有加同步锁,(线程不安.

请教关于Singleton模式和synchronized static 方法的问题

2 1188

一直弄不清这两种方式在使用上的具体区别,好像觉得两种方式在使用的时候可以互相替换。觉得synchronized static 的方法既是静态的又使用了同步,那么还有必要搞一个Singleton吗?.

并发查询数据库问题

4 1599

有一个getUserInfo(String name)方法用来查询某人的个人信息。这时有两个用户(张三和李四)同时调用这个方法来查询他们的信息。有没有可能发生张三查询出来的是李四的信息,而李四却得到了.

关于JSP 实例方法的线程安全

3 1159

我测试了下面的代码段,可还是得不出个结论来,还请各位大虾指点迷津。 代码如下: --------<%-- Copyright (c) 2002 by Phil Hanna All righ.

用两个锁解决单例模式的同步

12 2323

public class Singleton { private static Singleton instance = null; static int i = 0; //建实例锁 锁命令: .