• Uber已经采用Golang(简称Go)作为开发微服务的主要编程语言。我们的Go monorepo由大约5000万行代码组成(还在增长),包含大约2100个独特的Go服务(还在增长)。 Go使并发性成为一流的公民;在函数调用前加上go关键字,就可以
  • 是什么让 Rust 语言成为编写快速、内存安全应用程序的最佳语言之一? Rust 的内存安全功能已融入到语言本身中。 Rust 如何以其他语言无法做到的方式保证内存安全? Rust 内存安 icon
  • 在并发编程中,"线程安全 "和 "并发 "是相关的概念,但它们有着不同的含义。 线程安全 如果一个类或方法可以同时被多个线程使用,而不会导致数据损坏或意外行为,那么这个类或方法就被认为是线程安全的。 icon
  • ConcurrentSkipListSet是SortedSet的并发版本,当然TreeSet也可以通过Collections.SynchronizedSet(new TreeSet())实现,这两者有什么区别? 下面这段ChatGPT代码: icon
  • “Robinson”包是一个轻量级且高效的 Go 库,它提供了一个线程安全的缓存实现,用于存储和检索任何类型的值。它提供了一种简单且简约的缓存方法,利用 Go 泛型的强大功能来确保强大的类型和最佳性能。 主要特征: 线程安全缓存:R icon
  • 在 Java 中,PipedInputStream和PipedOutputStream是 java.io 包的一部分,通常用于线程间通信。它为一个线程提供了一种通过管道将数据发送到另一个线程的方法。在这篇博文中,我们将探讨 PipedInputStream和PipedOutputStream 的功能 icon
  • 、在Node.js中,管理异步流之间的上下文是一个挑战,因为它是单线程的。传统的多线程环境中可以使用线程本地存储(TLS)来实现上下文的管理,但在Node.js中不适用。Node.js提供了AsyncLocalStorage API来解决这个问题,它类似于其他语言中的线程本地存储,可以在异步 icon
  • Collections.synchronizedMap()和ConcurrentHashMap都提供对数据集合的线程安全操作。 SynchronizedMap: 每个方法都使用对象级锁进行同步。因此,synchMap 上的 get icon
  • 在编程领域,理解不可变对象和可变对象之间的区别至关重要。这些知识不仅提高了代码质量,还为开发人员提供了有关数据处理和应用程序架构做出明智决策的工具。不可变对象提供了一系列优势,从改进的安全性到可预测的行为,它们与可变对象的对比揭示了对高效和有效的编码实践的更深入的见解。当我们展开不变性的各个层次时, icon
  • 美国白宫在 2 月 26 日发布的一份报告中呼吁开发人员使用不存在内存安全漏洞的编程语言,从而降低网络攻击的风险。 报告列举了 C++ 和 C 这两种存在内存安全漏洞的语言。 C++ 创始人 Bjarne Stroustrup 为这种广泛使用的编程语言进行了辩护: icon
  • Thread和ThreadLocal这两个概念在 Java 多线程编程方法中至关重要。了解这两者之间的区别以及它们各自的优点和局限性对于任何旨在编写高效且健壮的多线程应用程序的 Java 开发人员至关重要。 什么是线程?< icon
  • CopyOnWriteArrayList 是 Java 中的一个类,是“java.util.concurrent”包的一部分。它是“ArrayList”类的线程安全变体。CopyOnWriteArrayList 的关键特性是它提供了一种无需显式同步即可实现线程安全的方法。 icon
  • 精心挑选了一些值得一读的有趣的 Java 和 Spring 文章。这些文章包括 Spring AI、SQL 查询优化、Java 线程收集、记录 JFR 日志、Spring 安全最佳实践等主题。 1. icon
  • 这是自从 Java 流行以来,一个非常流行的 Java 面试问题!这是一个非常简单的问题,为面试官打开了整个房间,可以提出很多后续问题。可以评估 Java 基础知识、设计模式知识,甚至扩展到多线程/其他 LLD 场景。 解决这个难题有三种方法:基本解决方案 icon
  • 现代 Java 虽支持不可变数据,但嵌套更新仍极繁琐。光学(Optics)提供可组合访问路径,一行代码取代数十行重建,Higher-Kinded-J 为此量身打造原生 Java 实现。 Java 的“不可变鸿沟”:为什么 Recor icon
  • Singleton 是#Gof 四人帮于 1994 年引入的一种创造性设计模式,由于其简单的实现而经常被误用而受到批评。因此,它已演变成现代软件开发实践中的反模式。 让我们深入了解 Java 模式、单例的优缺点。 icon
  • 在 Go 中,互斥(或MUT ual EX排斥)基本上是一种确保一次只有一个 goroutine 干扰共享资源的方法。此资源可以是一段代码、一个整数、一个映射、一个结构、一个通道或几乎任何东西。 为什么我们需要 sync.Mutex icon