public static void init(final RheaKVStoreOptions opts) {
        // add parallel zip strategy
        if (opts.isUseParallelCompress()) {
            if (zipStrategies[PARALLEL_STRATEGY] == null) {
                final ZipStrategy zipStrategy = new ParallelZipStrategy(opts.getCompressThreads(),
                    opts.getDeCompressThreads());
                ZipStrategyManager.addZipStrategy(ZipStrategyManager.PARALLEL_STRATEGY, zipStrategy);
                DEFAULT_STRATEGY = PARALLEL_STRATEGY;
            }
        }

        if (DEFAULT_STRATEGY == JDK_STRATEGY && opts.getCompressLevel() > Deflater.DEFAULT_COMPRESSION
            && opts.getCompressLevel() <= Deflater.BEST_COMPRESSION) {
            addZipStrategy(JDK_STRATEGY, new JDKZipStrategy(opts.getCompressLevel()));
        }
    }
@Test
    public void testInit() {
        RheaKVStoreOptions opts = new RheaKVStoreOptions();
        opts.setCompressLevel(Deflater.NO_COMPRESSION);
        ZipStrategyManager.init(opts);
        ZipStrategy zipStrategy = ZipStrategyManager.getZipStrategy(ZipStrategyManager.JDK_STRATEGY);
        assertNotNull(zipStrategy);
        assertTrue(zipStrategy instanceof JDKZipStrategy);

        opts.setUseParallelCompress(true);
        ZipStrategyManager.init(opts);
        zipStrategy = ZipStrategyManager.getZipStrategy(ZipStrategyManager.PARALLEL_STRATEGY);
        assertNotNull(zipStrategy);
        assertTrue(zipStrategy instanceof ParallelZipStrategy);
    }