⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serialbase.java

📁 linux 下的源代码分析阅读器 red hat公司新版
💻 JAVA
字号:
/*- * See the file LICENSE for redistribution information. * * Copyright (c) 2000,2007 Oracle.  All rights reserved. * * $Id: SerialBase.java,v 12.5 2007/05/04 00:28:24 mark Exp $ */package com.sleepycat.bind.serial;import com.sleepycat.util.FastOutputStream;/** * A base class for serial bindings creators that provides control over the * allocation of the output buffer. * * <p>Serial bindings append data to a {@link FastOutputStream} instance.  This * object has a byte array buffer that is resized when it is full.  The * reallocation of this buffer can be a performance factor for some * applications using large objects.  To manage this issue, the {@link * #setSerialBufferSize} method may be used to control the initial size of the * buffer, and the {@link #getSerialOutput} method may be overridden by * subclasses to take over creation of the FastOutputStream object.</p> */public class SerialBase {    private int outputBufferSize;    /**     * Initializes the initial output buffer size to zero.     *     * <p>Unless {@link #setSerialBufferSize} is called, the default {@link     * FastOutputStream#DEFAULT_INIT_SIZE} size will be used.</p>     */    public SerialBase() {        outputBufferSize = 0;    }    /**     * Sets the initial byte size of the output buffer that is allocated by the     * default implementation of {@link #getSerialOutput}.     *     * <p>If this property is zero (the default), the default {@link     * FastOutputStream#DEFAULT_INIT_SIZE} size is used.</p>     *     * @param byteSize the initial byte size of the output buffer, or zero to     * use the default size.     */    public void setSerialBufferSize(int byteSize) {        outputBufferSize = byteSize;    }    /**     * Returns the initial byte size of the output buffer.     *     * @return the initial byte size of the output buffer.     *     * @see #setSerialBufferSize     */    public int getSerialBufferSize() {        return outputBufferSize;    }    /**     * Returns an empty SerialOutput instance that will be used by the serial     * binding or key creator.     *     * <p>The default implementation of this method creates a new SerialOutput     * with an initial buffer size that can be changed using the {@link     * #setSerialBufferSize} method.</p>     *     * <p>This method may be overridden to return a FastOutputStream instance.     * For example, an instance per thread could be created and returned by     * this method.  If a FastOutputStream instance is reused, be sure to call     * its {@link FastOutputStream#reset} method before each use.</p>     *     * @param object is the object to be written to the serial output, and may     * be used by subclasses to determine the size of the output buffer.     *     * @return an empty FastOutputStream instance.     *     * @see #setSerialBufferSize     */    protected FastOutputStream getSerialOutput(Object object) {        int byteSize = getSerialBufferSize();        if (byteSize != 0) {            return new FastOutputStream(byteSize);        } else {            return new FastOutputStream();        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -