Question 255 of 481
1Z0-811 Arrays and Methods Practice Question
A team is developing a financial application that processes large arrays of market data. They have a method that calculates moving averages by copying a subarray for each window. The current implementation creates a new array for each window using System.arraycopy. The application is running slowly in production. The team identifies that the method is called millions of times per minute. The array is large and the window size is small. The garbage collector overhead is high due to many short-lived arrays. Which optimization should they apply to reduce object creation and improve performance?
⚠ Common exam trap
The 1Z0-811 exam often tests the misconception that using a more modern API (like Streams or copyOfRange) automatically improves performance, when in fact the key optimization is reducing object allocation frequency.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use a single temporary array and reuse it by copying data into it for each window.
Reusing a single temporary array eliminates the repeated allocation of short-lived arrays for each window, directly reducing garbage collector overhead. The current implementation uses System.arraycopy to create a new array per window, which is the primary source of object churn. By allocating one array once and copying data into it for each window, the team minimizes object creation while still performing the necessary copy operation.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use a Stream to process the array without creating intermediate arrays.
Why it's wrong here
Streams may create objects and are not necessarily zero-copy.
- ✓
Use a single temporary array and reuse it by copying data into it for each window.
Why this is correct
Reuses one array, eliminating repeated allocations and reducing GC pressure.
- ✗
Use Arrays.copyOfRange() which is faster than System.arraycopy.
Why it's wrong here
Still creates a new array each time.
- ✗
Use ArrayList instead of array to avoid copy.
Why it's wrong here
ArrayList internally uses array, still requires copying and creates objects.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Last reviewed: Jun 25, 2026
This 1Z0-811 practice question is part of Courseiva's free Oracle certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 1Z0-811 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.