public void put(E e) {
        for (;;) {
            int idx = writeSeq.incrementAndGet() % getCircleSize();
            ArrayBlockingQueue<E> queue = data.get(idx);
            try {
                if (queue.offer(e)) {
                    break;
                }
            } catch (Exception ex) {
            }
        }
    }