From ebc9add69a7834e87379c1809408c4a47e663ad5 Mon Sep 17 00:00:00 2001 From: Patrick Strawderman Date: Fri, 5 Sep 2025 10:03:14 -0700 Subject: [PATCH] Avoid allocating empty array in LoadBalancer Use a singleton empty Object array to initialize the customOptions default in LoadBalancer.Builder. --- api/src/main/java/io/grpc/LoadBalancer.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/api/src/main/java/io/grpc/LoadBalancer.java b/api/src/main/java/io/grpc/LoadBalancer.java index d2fd8409e01..adc43b19841 100644 --- a/api/src/main/java/io/grpc/LoadBalancer.java +++ b/api/src/main/java/io/grpc/LoadBalancer.java @@ -855,9 +855,11 @@ public String toString() { @ExperimentalApi("https://github.com/grpc/grpc-java/issues/1771") public static final class Builder { + private static final Object[][] EMPTY_CUSTOM_OPTIONS = new Object[0][2]; + private List addrs; private Attributes attrs = Attributes.EMPTY; - private Object[][] customOptions = new Object[0][2]; + private Object[][] customOptions = EMPTY_CUSTOM_OPTIONS; Builder() { }