• 1、要成为主流编程语言是非常困难的。它需要很长的时间来建立动力:社区、库、工具和整个生态系统。今天许多流行的语言,如java、C、C++或python,已经存在了几十年。语言的设计是一方面,另外一方面人们似乎低估了一种语言保持流行所需的其他重要因素。当涉及到适应新的语言时,软件行业往
  • 从 JDK 18 开始,JDK 附带了四个垃圾收集器 (GC);串行 GC、并行 GC、G1 GC 和 ZGC。在大多数情况下,默认的 GC G1 GC 将是最佳选择。但是,了解 GC 的设计目标可能会有所帮助,并且可能会帮助您实现应用程序的性能目标。本文将对每个 GC 以及何时应该使用它们
  • LinkedIn在2018年底开始研究Java 11,当时,Java 9、10和11在社区中还不是超级流行。作为一个轶事,在2019年底的Oracle Code One会议上,一些会议询问与会者他们的产品是否在使用Java 9或更高版本,其中只有约20%的人表示他们在使用;也很少有大公司采用 icon
  • 提醒你:如果你要对CPU瓶颈进行分析,不要依赖JVM FLIGHT RECORDER (JVM飞行记录仪)方法的分析。 一点 用也没有! 应该: 使用async-profile icon
  • 我们的后端网络服务运行在Java SE 11(JDK11)上。JDK11有很多现代化的功能,得到了Oracle和OpenJDK开发团队的长期支持,而且一直非常非常稳定,只有一个例外。内存尖峰管理。 我们有一个数据密集型的ETL进程,每天晚上运行。它 icon
  • LXR是一种基于引用计数的新 Java 垃圾收集器,一种新的低延迟、高吞吐量的垃圾回收器。 该文在OpenJDK 11(当时的LTS)中构建了LXR,与现有G1、Shenandoah和ZGC等回收器进行了比较评估,LXR 在吞吐量和 icon
  • 如何选择Java垃圾收集器。不要相信 JVM 的自动选择: icon
  • 经过对 Generational(分代/世代) ZGC 的大量努力,第一个 Early Access 版本已在 jdk.java.net/genzgc 上发布并可供 icon
  • 可以用 Manifold 做什么? 1、 icon
  • c1, c2编译器线程是由Java虚拟机创建的,以优化你的应用程序的性能。偶尔,这些线程会倾向于消耗高CPU。在这篇文章中,让我们了解更多关于c1、c2编译器线程的情况,以及如何解决它们的高CPU消耗。 读完这篇文章后,像Hotspot JIT、c icon
  • 如果你使用的是JDK 11或更高版本,并且不确定你使用的是什么垃圾收集器,你可能使用的是G1。自JDK 9 1以来,G1(Garbage First)垃圾收集器(GC)一直是默认的GC。 在这篇文章中,我们将简要地研究G1和一些关于如何调整它的提示。 icon
  • 在64位Hotspot中,Java对象有一个128位的对象头:一个64位的多用途头("标记 "或 "锁定")字和一个64位的类指针。(正常Java 堆中的对象头是96 位,使用 -XX:-UseCompressedClassPointers 运行时为 128)典型的平均对象大小为5- icon
  • JMX 公开了管理“bean”(MBean),这些是表示应用程序中控制点的对象。您的应用程序可以发布自己的 bean,这让您可以公开运行时监控和配置的功能。这非常酷,因为您可以导出管理员可以直接连接到仪表板(APM、Prometheus、Grafana 等)的信息并将其用于决策。JM icon
  • Project Leyden目的是改善 Java 程序的启动时间、达到峰值性能的时间和占用空间。 我们通常可以通过在时间上转移一些计算来改善程序的启动时间、预热时间和占用空间,这些计算可以提前到运行时间的后期(如通过懒惰的初始化),或向后到比运行时 icon
  • JEP 431:Sequenced Collections:一个可能会引起广大读者兴趣的候选JEP是JEP 431:有顺序的集合顾名思义,它为保留元 icon
  • 根据New Relic在4 月 26 日发布的2022 年 Java 生态系统状况报告, icon
  • 您是否希望云原生 Java 应用程序可以在几毫秒内启动,而不会影响吞吐量、内存、开发-生产平价或 Java 语言特性?Open Liberty 22.0.0.11-beta 为您带来了 InstantOn,这是一项令人兴奋的新功能,可为 MicroProfile 和 Jakarta EE 应 icon
  • 有时您的应用程序可能会遇到本文中讨论“java.lang.OutOfMemoryError: Metaspace”。在这种情况下,您可能希望查看 JVM 的元空间区域中加载的内容是什么。简而言之,JVM 内存中的 Metaspace 区域包含执行应用程序所需的类元数据定义。 icon