• Go、Julia 和 Rust 等现代语言不需要像 Java C# 使用的那些复杂的垃圾收集器,为什么?为了解释原因,我们需要了解垃圾收集器的工作原理以及不同语言如何以不同方式分配内存。然而,我们将首先看看为什么 Java 特别需要如此复杂的垃圾收集器。我将在这里介绍许多不同
  • 通过阅读本文熟悉对象重用的艺术,并了解多线程 Java 应用程序中不同重用策略的优缺点。这允许您以更少的延迟编写更高性能的代码。虽然在 Java 等面向对象的语言中使用对象提供了一种很好的抽象复杂性的方法,但频繁的对象创建可能会带来内存压力和垃圾收集方面的不利影响,这将对应用程序的延
  • 在Kubernetes上对Java的三个方面的研究: - ActiveProcessorCount - 默认GC - 默认Heap Sizing ActiveProcessorCount 当前匹配cpu_ icon
  • Rust有没有像go语言中pprof这样的内存和性能可视化分析工具? 1、可使用https://github.com/KDE/heaptrack实现内存分析, icon
  • 我们最近将会话管理从 MongoDB 迁移到了 Redis。迁移本身是由我们使用 MongoDB 的经验推动的,它不能特别好地处理高频率更新和更频繁的读取。另一方面,Redis 被称为经过验证的存储,可以准确处理该用例。数据库迁移并不总是那么容易,因为我们需要学习其他服务的新模式、最 icon
  • 我是一名 Java 开发人员,我知道在开发关键的安全应用程序时使用这种语言的主要优点和缺点。每个人接近 Java 的主要内容是它的 GC(又名垃圾收集器)。最早提出开箱即用的自动内存管理的语言是它。还有许多其他语言使用 GC、Javascript、Golang、python……在 R icon
  • 内存占用更小,基础设施成本降低,扩展变得更容易/延迟。尽管 Go 以不消耗大量内存而闻名,但仍有一些方法可以进一步减少消耗。其中一些需要大量重构,但很多都很容易做到。 预先分配切片slices要理解这种优化 icon
  • 在 OneSignal,我们喜欢 Rust。我们之前写过博客,介绍了将我们的一些核心业务系统转为 Rust, icon
  • 在 Java 并发编程中实现异步函数之前,一般需要使用线程或线程池。线程池的底层也使用线程。要实现一个线程,要么继承Thread类,要么实现Runnable接口,然后在run方法中编写具体的业务逻辑代码。 Spring开发者为了简化 icon
  • JMX 公开了管理“bean”(MBean),这些是表示应用程序中控制点的对象。您的应用程序可以发布自己的 bean,这让您可以公开运行时监控和配置的功能。这非常酷,因为您可以导出管理员可以直接连接到仪表板(APM、Prometheus、Grafana 等)的信息并将其用于决策。JM icon
  • 由于内存集数据结构的限制,Java 的G1堆区域的大小一直限制在 32MB;使用 JDK 18 版本JDK-8275056将 icon
  • 我们都知道JDK1.5之后提供了ThreadPoolExecutor类,可以用来自定义线程池。线程池有很多好处,比如: 减少资源消耗,避免频繁创建和销毁线程,可以直接复用已有线程。 提供速度,任务来了之后,因为线程已经存在,可以直接使用。 提高线程的可 icon
  • 现在JEP 421(Deprecate Finalization for Removal)已经在 J​​DK 18 中交付,似乎越来越多的人在谈论 fin icon
  • 在Java中,有许多技术可以确保线程安全。你可以使用synchronized和Lock等关键字来锁定代码块。但它们有一个共同的特点,那就是锁定会对代码的性能产生一定的损失。 其实,JDK中还提供了另一种思路,即:以空间换时间。没错, icon
  • 有时您的应用程序可能会遇到本文中讨论“java.lang.OutOfMemoryError: Metaspace”。在这种情况下,您可能希望查看 JVM 的元空间区域中加载的内容是什么。简而言之,JVM 内存中的 Metaspace 区域包含执行应用程序所需的类元数据定义。 icon
  • 有时,我们需要在关闭spring容器之前做一些额外的工作,比如关闭资源文件。 这时,你可以实现DisposableBean接口并重写其destroy方法。 icon
  • Rust是一种伟大的语言。它在对象和分配的内存布局方面给了你很大的控制权,但是通过它的借用检查系统,你对这些对象寿命的使用被正确管理:如果你拿了一个对象的指针,你必须向编译器静态地证明这个指针寿命永远不会超过这个对象。 在大多数情况下,这不会有什么 icon
  • 为了充分理解 JVM 的内部工作原理,我决定在垃圾收集理论方面投入一些时间。Java 中使用的实际算法现在非常健壮,尽管我想深入了解事情的真相。因此,我得到了两本关于 GC 最受好评的书—— 《自动动态内存管理的垃圾收集算法》和《垃圾收集手册》,并开始阅读它们。您可以在下面找到包含这两个来源 icon