Question: Can you explain in details how this code works. public class BufferImpl implements Buffer { private static final int BUFFER_SIZE = 5; private E[] elements;

Can you explain in details how this code works.

public class BufferImpl implements Buffer

{

private static final int BUFFER_SIZE = 5;

private E[] elements;

private int in, out, count;

public BufferImpl() {

count = 0;

in = 0;

out = 0;

elements = (E[]) new Object[BUFFER_SIZE];

}

// producers call this method

public void insert(E item) {

while (count == BUFFER_SIZE)

; // do nothing -- no free space

// add an element to the buffer

elements[in] = item;

in = (in + 1) % BUFFER_SIZE;

++count;

}

// consumers call this method

public E remove() {

E item;

while (count == 0)

; // do nothing - nothing to consume

// remove an item from the buffer

item = elements[out];

out = (out + 1) % BUFFER_SIZE;

--count;

return item;

}

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!