Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
程序性能调优教程
了解JDK的新型超快垃圾收集器:Shenandoah、ZGC和改进的G1 - oracle
ZGC,Shenandoah和对G1的改进使开发人员比以往任何时候都更接近无暂停时间。在过去六个月中发生的一些最令人振奋的事态发展都在JDK的垃圾收集器(GC)的不断演进中,首先,我们将介绍Shenandoah,这是一种低延迟GC,主要与应用程序同时运行;我们还将介绍作为JDK 12
一张图看明白麻省理工课程的高级数据结构
数据结构在现代计算机科学中发挥着核心作用。与算法相比,您更频繁地与数据结构进行交互(想想Google,您的邮件服务器,甚至您的网络路由器)。此外,数据结构是获得有效算法的基本构建块。麻省该课程涵盖数据结构的主要成果和当前研究方向
过早引用“过早优化是万恶之源”是所有缓慢软件的根源 - JakeWharton
如题,如果过早地草率地认为“过早优化是万恶之源”,这是为自己懒惰设计寻找理由,防止屁股决定脑袋。 众说纷纭:1. 当人们使用数据结构,算法和最佳解决方案进行面试时,会使用这个观点:“过早优化是万恶之源”
将Spring Boot启动速度提高10倍! - Denis Rosa
在实验者机器上Spring Boot从12秒提高到1.8秒,方法: 使用JDK 9+ VM选项: -noverify -Dspring.jmx.enabled=false Spring参数: --spring.profiles.active=local
使用Netty处理Java中成千上万个连接的原理 -DZone性能
C10K问题是代表一万个并发处理连接的术语。为此,我们经常需要更改已创建的网络套接字的设置以及Linux内核的默认设置,监视 TCP发送/接收缓冲区和队列的使用, 尤其是将我们的应用程序调整为合适的选项来解决这个问题。在今天的文章中,我将讨论如果我们要构建可处理数千个连接的可伸缩
Java中的Exception抛异常对性能的影响 - Baeldung
在Java中,通常将异常视为昂贵的,并且不应将其用于流控制。本教程将证明这种看法是正确的,并指出导致性能问题的原因。由于抛出和处理异常的代价很高,因此我们不应将其用于正常的程序流。相反,顾名思义,例外仅应用于例外情况。完整的源代码可以在
受jvmkill启发的Netflix skunkworks工具jvmquake:用于检测和杀死在GC中花费过多时间的JVM进程 - netflix
Netflix的云数据工程团队运行各种JVM应用程序,包括诸如Cassandra和Elasticsearch之类的流行数据存储。尽管我们大多数集群在分配给它们的内存下都能稳定运行,但有时“死亡查询”或数据存储本身中的错误会导致内存使用失控,这可能触发垃圾回收(GC)循环甚至运行JVM记不清。
通过机器学习分析对吞吐量和延迟影响的最重要因素以及10个Java微服务框架的对比 - amis
性能调优通常遵循以下步骤: 出现性能问题 有经验的人知道可能是什么原因,并提出具体的建议 确定基准性能,应用更改,然后再次测量性能 如果与基准相比性能有所改善,请保留更改,否则恢复更改 如果现在认为性能已经足够,那么您就完成了。如果不是,请返回
JVM垃圾收集器基准报告 – Ionuț Baloșin
本文使用一组不同的模式描述了一系列Java虚拟机(JVM)垃圾收集器(GC)微基准及其结果。对于当前问题,我包括了AdoptOpenJDK 64位服务器VM版本13(内部版本13 + 33)中的所有垃圾收集器: 串行GC Parallel / ParallelOld
简单的可伸缩性方程式:利特尔定律 -Vlad Mihalcea
在排队理论使我们能够预测队列长度和等待时间,这是最重要的容量规划。对于架构师来说,这是一个非常方便的工具,因为队列不仅仅是消息传递系
HttpClient Executors工作原理 - Cay Horstmann
Java 11添加了HttpClient,为我们提供了一种更好的HTTP请求发送方式。它支持异步和同步模式。支持HTTP2开箱即用。有点时髦,Cay Horstmann教授探讨了如何在表面下的工作原理。在
Java 8并行流的性能陷阱
并行化流被分成多个块,每个块独立处理,结果在最后汇总。CPU密集型代码如下:
优化Go程序的简单技巧 - stephen.sh
根据我的经验,性能不佳表现为以下两种方式之一: 在小规模上表现良好的运营,但随着用户数量的增长而变得不可行。这些通常是O(N)或O(N²)操作。当您的用户群很小时,这些表现很好,通常是为了将产品推向市场。随着您的使用基础的增长,您会看到更多您不期望的
SpringBoot通过refresh-ahead caching加速微服务性能
在设计微服务架构时,我们可能会遇到不同的性能问题。像Akka这样的反应性框架提供了一种使微服务更具弹性的方法。但是,在处理耗时的算法或缓慢的依赖系统时,缓存可能是我们的最后手段,尽管它会带来权衡。数据通常已过时,但可提供性能提升。 解决此问题的方法
使Instagram.com更快的三个步骤:预取数据、推送数据和使用缓存 -Instagram Engineering
近年来,instagram.com发生了许多变化-我们推出了故事,过滤器,创建工具,通知和直接消息传递,以及许多其他功能和增强功能。但是,随着产品的增长,副作用是我们的网络性能开
如何在Java中制作自己的基准测试? - Ben Weidig
制作有用的基准测试很难,但是有一些工具和模式可以帮助您。几乎每个开发人员都知道Donald Knuth在1974年提出的“
JVM神秘的AllocatePrefetch选项:它们实际上是做什么的?- opsian
AllocatePrefetch是JVM的分配预取选项。所有Java垃圾收集器都使用称为缓冲分配的技术,通过将所需的分配大小添加到当前分配指针(缓冲位),并检查该分配大小是否超出了分配指针指向的区域限制,以此来执行分配。在并行线程分配的环境中运行时,这会带来一种复杂性。简单地让所有线
想要使您的React网站更高效吗?这是一个快速检查清单 - houssein
使用以下任一方法来评估组件级渲染性能:Chrome DevTools“性能”面板React DevTools分析器 尽量减少不必要的组件重新渲染
上页
下页
关闭