亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? buffer.java

?? mysql jdbc驅動程序 mysql jdbc驅動程序 mysql jdbc驅動程序 mysql jdbc驅動程序
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* Copyright (C) 2002-2005 MySQL AB This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as  published by the Free Software Foundation. There are special exceptions to the terms and conditions of the GPL  as it is applied to this software. View the full text of the  exception in file EXCEPTIONS-CONNECTOR-J in the directory of this  software distribution. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */package com.mysql.jdbc;import java.io.UnsupportedEncodingException;import java.nio.ByteBuffer;import java.sql.SQLException;/** * Buffer contains code to read and write packets from/to the MySQL server. *  * @version $Id: Buffer.java 5417 2006-06-20 21:33:56Z mmatthews $ * @author Mark Matthews */class Buffer {	static final int MAX_BYTES_TO_DUMP = 512;	static final int NO_LENGTH_LIMIT = -1;	static final long NULL_LENGTH = -1;	private int bufLength = 0;	private byte[] byteBuffer;	private int position = 0;	protected boolean wasMultiPacket = false;	Buffer(byte[] buf) {		this.byteBuffer = buf;		setBufLength(buf.length);	}	Buffer(int size) {		this.byteBuffer = new byte[size];		setBufLength(this.byteBuffer.length);		this.position = MysqlIO.HEADER_LENGTH;	}	final void clear() {		this.position = MysqlIO.HEADER_LENGTH;	}	final void dump() {		dump(getBufLength());	}	final String dump(int numBytes) {		return StringUtils.dumpAsHex(getBytes(0,				numBytes > getBufLength() ? getBufLength() : numBytes),				numBytes > getBufLength() ? getBufLength() : numBytes);	}	final String dumpClampedBytes(int numBytes) {		int numBytesToDump = numBytes < MAX_BYTES_TO_DUMP ? numBytes				: MAX_BYTES_TO_DUMP;		String dumped = StringUtils.dumpAsHex(getBytes(0,				numBytesToDump > getBufLength() ? getBufLength()						: numBytesToDump),				numBytesToDump > getBufLength() ? getBufLength()						: numBytesToDump);		if (numBytesToDump < numBytes) {			return dumped + " ....(packet exceeds max. dump length)";		}		return dumped;	}	final void dumpHeader() {		for (int i = 0; i < MysqlIO.HEADER_LENGTH; i++) {			String hexVal = Integer.toHexString(readByte(i) & 0xff);			if (hexVal.length() == 1) {				hexVal = "0" + hexVal; //$NON-NLS-1$			}			System.out.print(hexVal + " "); //$NON-NLS-1$		}	}	final void dumpNBytes(int start, int nBytes) {		StringBuffer asciiBuf = new StringBuffer();		for (int i = start; (i < (start + nBytes)) && (i < getBufLength()); i++) {			String hexVal = Integer.toHexString(readByte(i) & 0xff);			if (hexVal.length() == 1) {				hexVal = "0" + hexVal; //$NON-NLS-1$			}			System.out.print(hexVal + " "); //$NON-NLS-1$			if ((readByte(i) > 32) && (readByte(i) < 127)) {				asciiBuf.append((char) readByte(i));			} else {				asciiBuf.append("."); //$NON-NLS-1$			}			asciiBuf.append(" "); //$NON-NLS-1$		}		System.out.println("    " + asciiBuf.toString()); //$NON-NLS-1$	}	final void ensureCapacity(int additionalData) throws SQLException {		if ((this.position + additionalData) > getBufLength()) {			if ((this.position + additionalData) < this.byteBuffer.length) {				// byteBuffer.length is != getBufLength() all of the time				// due to re-using of packets (we don't shrink them)				//				// If we can, don't re-alloc, just set buffer length				// to size of current buffer				setBufLength(this.byteBuffer.length);			} else {				//				// Otherwise, re-size, and pad so we can avoid				// allocing again in the near future				//				int newLength = (int) (this.byteBuffer.length * 1.25);				if (newLength < (this.byteBuffer.length + additionalData)) {					newLength = this.byteBuffer.length							+ (int) (additionalData * 1.25);				}				if (newLength < this.byteBuffer.length) {					newLength = this.byteBuffer.length + additionalData;				}				byte[] newBytes = new byte[newLength];				System.arraycopy(this.byteBuffer, 0, newBytes, 0,						this.byteBuffer.length);				this.byteBuffer = newBytes;				setBufLength(this.byteBuffer.length);			}		}	}	/**	 * Skip over a length-encoded string	 * 	 * @return The position past the end of the string	 */	public int fastSkipLenString() {		long len = this.readFieldLength();		this.position += len;		return (int) len; // this is safe, as this is only	}	protected final byte[] getBufferSource() {		return this.byteBuffer;	}	int getBufLength() {		return this.bufLength;	}	/**	 * Returns the array of bytes this Buffer is using to read from.	 * 	 * @return byte array being read from	 */	public byte[] getByteBuffer() {		return this.byteBuffer;	}	final byte[] getBytes(int len) {		byte[] b = new byte[len];		System.arraycopy(this.byteBuffer, this.position, b, 0, len);		this.position += len; // update cursor		return b;	}	/*	 * (non-Javadoc)	 * 	 * @see com.mysql.jdbc.Buffer#getBytes(int, int)	 */	byte[] getBytes(int offset, int len) {		byte[] dest = new byte[len];		System.arraycopy(this.byteBuffer, offset, dest, 0, len);		return dest;	}	int getCapacity() {		return this.byteBuffer.length;	}	public ByteBuffer getNioBuffer() {		throw new IllegalArgumentException(Messages				.getString("ByteArrayBuffer.0")); //$NON-NLS-1$	}	/**	 * Returns the current position to write to/ read from	 * 	 * @return the current position to write to/ read from	 */	public int getPosition() {		return this.position;	}	// 2000-06-05 Changed	final boolean isLastDataPacket() {		return ((getBufLength() < 9) && ((this.byteBuffer[0] & 0xff) == 254));	}	final long newReadLength() {		int sw = this.byteBuffer[this.position++] & 0xff;		switch (sw) {		case 251:			return 0;		case 252:			return readInt();		case 253:			return readLongInt();		case 254: // changed for 64 bit lengths			return readLongLong();		default:			return sw;		}	}	final byte readByte() {		return this.byteBuffer[this.position++];	}	final byte readByte(int readAt) {		return this.byteBuffer[readAt];	}	final long readFieldLength() {		int sw = this.byteBuffer[this.position++] & 0xff;		switch (sw) {		case 251:			return NULL_LENGTH;		case 252:			return readInt();		case 253:			return readLongInt();		case 254:			return readLongLong();		default:			return sw;		}	}	// 2000-06-05 Changed	final int readInt() {		byte[] b = this.byteBuffer; // a little bit optimization		return (b[this.position++] & 0xff) | ((b[this.position++] & 0xff) << 8);	}	final int readIntAsLong() {		byte[] b = this.byteBuffer;		return (b[this.position++] & 0xff) | ((b[this.position++] & 0xff) << 8)				| ((b[this.position++] & 0xff) << 16)				| ((b[this.position++] & 0xff) << 24);	}	final byte[] readLenByteArray(int offset) {		long len = this.readFieldLength();		if (len == NULL_LENGTH) {			return null;		}		if (len == 0) {			return Constants.EMPTY_BYTE_ARRAY;		}		this.position += offset;		return getBytes((int) len);	}	final long readLength() {		int sw = this.byteBuffer[this.position++] & 0xff;		switch (sw) {		case 251:			return 0;		case 252:			return readInt();		case 253:			return readLongInt();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成a人v欧美综合天堂| 日韩欧美黄色影院| 亚洲美女屁股眼交3| av一本久道久久综合久久鬼色| 国产日韩欧美电影| 成人国产精品免费| 1000精品久久久久久久久| 91亚洲大成网污www| 亚洲精品久久久蜜桃| 欧美午夜不卡在线观看免费| 亚洲综合色噜噜狠狠| 欧美午夜一区二区三区免费大片| 中文字幕一区免费在线观看| av福利精品导航| 一区二区三区.www| 欧美日韩三级视频| 美女视频免费一区| 久久久久久久久久久久久夜| 成人免费三级在线| 丝袜美腿亚洲综合| 成人久久18免费网站麻豆 | 欧美精品色综合| 婷婷久久综合九色国产成人 | 精品亚洲欧美一区| 国产视频911| 欧美在线视频日韩| 日本不卡一二三区黄网| 久久新电视剧免费观看| 在线观看视频一区二区 | 国产高清精品久久久久| 亚洲麻豆国产自偷在线| 91麻豆精品国产91久久久使用方法| 韩日av一区二区| 亚洲人吸女人奶水| 日韩欧美不卡一区| 色94色欧美sute亚洲13| 蜜臀av亚洲一区中文字幕| 自拍偷拍亚洲欧美日韩| 欧美电影免费观看高清完整版| 成人一区二区三区中文字幕| 亚洲成在人线在线播放| 欧美激情一区二区三区四区| 欧美日本精品一区二区三区| 成人深夜在线观看| 欧美bbbbb| 亚洲男人的天堂av| 精品国产一区二区三区不卡 | 91啪在线观看| 51精品秘密在线观看| 盗摄精品av一区二区三区| 欧美一区二区三区啪啪| 天涯成人国产亚洲精品一区av| 91精品国产欧美日韩| 亚洲高清一区二区三区| 在线看国产日韩| 天天色天天爱天天射综合| 日韩精品一区二区三区视频在线观看 | 亚洲一区二区三区自拍| 精品久久国产字幕高潮| 欧美色男人天堂| 99国产精品一区| 国产aⅴ综合色| 狠狠色综合日日| 免费精品视频最新在线| 视频一区在线视频| 午夜电影网一区| 亚洲国产欧美在线| 亚洲图片一区二区| 中文字幕一区二区三区四区| 亚洲综合在线观看视频| 亚洲视频免费在线观看| 久久精品人人爽人人爽| 日韩精品一区二区三区中文不卡| 欧美日韩国产乱码电影| 色综合色综合色综合色综合色综合 | 国产在线国偷精品产拍免费yy| 亚洲一区二区三区四区在线免费观看| 最新欧美精品一区二区三区| 久久久久久亚洲综合影院红桃| 久久久久久影视| 2020日本不卡一区二区视频| 日韩视频一区二区三区在线播放| 欧美人与禽zozo性伦| 色丁香久综合在线久综合在线观看| 91小视频免费观看| 99视频一区二区| 91久久精品一区二区二区| 成人一区在线观看| 91麻豆高清视频| 94色蜜桃网一区二区三区| 色婷婷国产精品久久包臀| 欧美日韩国产bt| 日韩一区二区精品在线观看| 欧美二区三区91| 在线一区二区三区| 国产suv精品一区二区883| 国产盗摄一区二区| 蜜臀精品一区二区三区在线观看| 亚洲欧美激情在线| 国产精品美女久久久久久久| 日韩精品中文字幕在线一区| 欧美二区乱c少妇| 国产成人亚洲综合a∨猫咪| 亚洲自拍偷拍图区| 日韩福利视频网| 天堂在线亚洲视频| 国内久久精品视频| 国产毛片精品国产一区二区三区| 岛国精品在线播放| 91老司机福利 在线| 日韩一区二区麻豆国产| 欧美高清性hdvideosex| 久久久久久亚洲综合影院红桃 | 视频在线在亚洲| 日本系列欧美系列| 波多野结衣一区二区三区 | 亚洲成人av福利| 毛片av一区二区| av电影一区二区| 日本电影欧美片| 久久婷婷色综合| 亚洲免费观看高清完整版在线观看 | 欧美三级电影在线看| 久久精品国产99国产精品| 成人app软件下载大全免费| 欧美性一区二区| 国产日韩欧美在线一区| 亚洲精品国久久99热| 久久国产精品第一页| 成人国产精品免费网站| 成人精品gif动图一区| 欧美性一级生活| 国产午夜精品久久| 日韩影院在线观看| 成人激情小说乱人伦| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 奇米影视在线99精品| 国产精品一区不卡| 国产女人水真多18毛片18精品视频 | 日韩电影免费一区| 风间由美中文字幕在线看视频国产欧美| 国产99久久久精品| 91精品福利在线一区二区三区| 国产日本欧美一区二区| 日本在线不卡一区| 欧美日韩国产一级二级| 亚洲国产va精品久久久不卡综合| va亚洲va日韩不卡在线观看| 日韩免费在线观看| 亚洲精品一二三| 99精品视频一区二区三区| 日韩一区二区三区在线观看| 亚洲成人高清在线| 日本不卡一二三区黄网| 欧美久久一区二区| 亚洲精品中文在线| 成人av电影在线网| 精品国产乱码久久久久久闺蜜| 中文字幕一区二区三区视频| 国内精品在线播放| 91精品国产91久久久久久一区二区| 国产精品久久777777| av激情综合网| 中文字幕一区日韩精品欧美| 国产成人av电影在线观看| 精品国产亚洲一区二区三区在线观看| 亚洲一区二区三区影院| 欧洲视频一区二区| 亚洲福利视频一区| www.日本不卡| ...av二区三区久久精品| 国产精品亚洲午夜一区二区三区 | 亚洲国产精品一区二区久久恐怖片 | 久久99精品国产麻豆不卡| 制服丝袜国产精品| 日韩精品电影一区亚洲| 欧美久久久久久久久中文字幕| 夜夜嗨av一区二区三区网页| 91成人免费在线| 日韩国产一二三区| 欧美影院精品一区| 免费在线观看视频一区| 在线观看欧美精品| 日韩国产欧美在线视频| 精品精品国产高清a毛片牛牛 | 国产精品欧美一区二区三区| 欧美日韩精品高清| 国产精品影视在线观看| 亚洲男人天堂一区| 久久久久久久久久电影| 成人性生交大片| 韩国女主播一区| 亚洲国产精品久久久久秋霞影院 | 久久久久久影视| 精品粉嫩超白一线天av| 亚洲国产日韩a在线播放性色| 99久久精品免费精品国产| 亚洲欧美一区二区三区孕妇| 色综合久久天天| 免费一区二区视频|