本文整理了Java中java.nio.Buffer.mark()
方法的一些代码示例,展示了Buffer.mark()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Buffer.mark()
方法的具体详情如下:
包路径:java.nio.Buffer
类名称:Buffer
方法名:mark
[英]Mark is where position will be set when reset()
is called. Mark is not set by default. Mark is always no less than zero and no greater than position
.
[中]标记是调用reset()
时设置位置的位置。默认情况下不设置标记。标记始终不小于零且不大于position
。
代码示例来源:origin: wildfly/wildfly
/**
* Set the buffer mark.
*
* @see Buffer#mark()
* @param <T> the buffer type
* @param buffer the buffer to mark
* @return the buffer instance
*/
public static <T extends Buffer> T mark(T buffer) {
buffer.mark();
return buffer;
}
代码示例来源:origin: org.mongodb/mongo-java-driver
/**
* Fill with zeros the remaining of the supplied buffer. This method does
* not change the buffer position.
* <p>
* Typically used for security reasons, with buffers that contains
* now-unused plaintext.
*/
public void zeroRemaining() {
((Buffer) buffer).mark();
buffer.put(ZEROS, 0, buffer.remaining());
((Buffer) buffer).reset();
}
代码示例来源:origin: org.mongodb/mongo-java-driver
/**
* Fill the buffer with zeros. This method does not change the buffer position.
* <p>
* Typically used for security reasons, with buffers that contains
* now-unused plaintext.
*/
public void zero() {
((Buffer) buffer).mark();
((Buffer) buffer).position(0);
buffer.put(ZEROS, 0, buffer.remaining());
((Buffer) buffer).reset();
}
代码示例来源:origin: org.jsoup/jsoup
private static BomCharset detectCharsetFromBom(final ByteBuffer byteData) {
final Buffer buffer = byteData; // .mark and rewind used to return Buffer, now ByteBuffer, so cast for backward compat
buffer.mark();
byte[] bom = new byte[4];
if (byteData.remaining() >= bom.length) {
byteData.get(bom);
buffer.rewind();
}
if (bom[0] == 0x00 && bom[1] == 0x00 && bom[2] == (byte) 0xFE && bom[3] == (byte) 0xFF || // BE
bom[0] == (byte) 0xFF && bom[1] == (byte) 0xFE && bom[2] == 0x00 && bom[3] == 0x00) { // LE
return new BomCharset("UTF-32", false); // and I hope it's on your system
} else if (bom[0] == (byte) 0xFE && bom[1] == (byte) 0xFF || // BE
bom[0] == (byte) 0xFF && bom[1] == (byte) 0xFE) {
return new BomCharset("UTF-16", false); // in all Javas
} else if (bom[0] == (byte) 0xEF && bom[1] == (byte) 0xBB && bom[2] == (byte) 0xBF) {
return new BomCharset("UTF-8", true); // in all Javas
// 16 and 32 decoders consume the BOM to determine be/le; utf-8 should be consumed here
}
return null;
}
代码示例来源:origin: spring-projects/spring-framework
buffer.mark();
代码示例来源:origin: intel-hadoop/HiBench
public String printBuffer(Buffer buf) {
String info =
buf.toString() +
"< " + buf.position() +
", " + buf.mark() +
", " + buf.limit() +
", " + buf.capacity() + " >";
return info;
}
/*
代码示例来源:origin: stackoverflow.com
Charset utf8 = Charset.forName("UTF-8");
CharsetEncoder encoder = utf8.newEncoder();
CharBuffer input = //allocate in some way, or pass as parameter
ByteBuffer output = ByteBuffer.allocate(10);
int limit = input.limit();
while(input.position() < limit) {
output.clear();
input.mark();
input.limit(Math.max(input.position() + 2, input.capacity()));
if (Character.isHighSurrogate(input.get()) && !Character.isLowSurrogate(input.get())) {
//Malformed surrogate pair; do something!
}
input.limit(input.position());
input.reset();
encoder.encode(input, output, false);
int encodedLen = output.position();
}
代码示例来源:origin: org.jboss.eap/wildfly-client-all
/**
* Set the buffer mark.
*
* @see Buffer#mark()
* @param <T> the buffer type
* @param buffer the buffer to mark
* @return the buffer instance
*/
public static <T extends Buffer> T mark(T buffer) {
buffer.mark();
return buffer;
}
代码示例来源:origin: org.springframework/spring-messaging
buffer.mark();
代码示例来源:origin: apache/jackrabbit-oak
public Buffer mark() {
((java.nio.Buffer) buffer).mark();
return this;
}
代码示例来源:origin: com.metsci.glimpse/glimpse-util
public Buffer mark( )
{
return _buffer.mark( );
}
代码示例来源:origin: org.apache.tomcat/tomcat-catalina
private void toWriteMode(Buffer buffer) {
buffer.mark()
.position(buffer.limit())
.limit(buffer.capacity());
}
代码示例来源:origin: org.mongodb/mongodb-driver-core
/**
* Fill the buffer with zeros. This method does not change the buffer position.
* <p>
* Typically used for security reasons, with buffers that contains
* now-unused plaintext.
*/
public void zero() {
((Buffer) buffer).mark();
((Buffer) buffer).position(0);
buffer.put(ZEROS, 0, buffer.remaining());
((Buffer) buffer).reset();
}
代码示例来源:origin: org.mongodb/mongodb-driver-core
/**
* Fill with zeros the remaining of the supplied buffer. This method does
* not change the buffer position.
* <p>
* Typically used for security reasons, with buffers that contains
* now-unused plaintext.
*/
public void zeroRemaining() {
((Buffer) buffer).mark();
buffer.put(ZEROS, 0, buffer.remaining());
((Buffer) buffer).reset();
}
代码示例来源:origin: stackoverflow.com
public static String calculateEtag(final String s) throws java.security.NoSuchAlgorithmException {
final java.nio.ByteBuffer buf = java.nio.charset.StandardCharsets.UTF_8.encode(s);
final java.security.MessageDigest digest = java.security.MessageDigest.getInstance("SHA1");
buf.mark();
digest.update(buf);
buf.reset();
return String.format("W/\"%s\"", javax.xml.bind.DatatypeConverter.printHexBinary(digest.digest()));
}
代码示例来源:origin: org.ops4j.pax.tipi/org.ops4j.pax.tipi.tomcat-embed-core
private void toWriteMode(Buffer buffer) {
buffer.mark()
.position(buffer.limit())
.limit(buffer.capacity());
}
代码示例来源:origin: stackoverflow.com
File file = new File("fileChannelTest.log");
FileOutputStream fos = new FileOutputStream(file);
FileChannel fileChannel = fos.getChannel();
ByteBuffer bb1 = ByteBuffer.wrap("This is a log line to test!\n".getBytes());
ByteBuffer bb2 = ByteBuffer.allocateDirect(bb1.remaining());
bb2.put(bb1).flip();
bb2.mark();
long freeMemory = Runtime.getRuntime().freeMemory();
for (int i = 0; i < 1000000; i++) {
bb2.reset();
fileChannel.write(bb2);
}
System.out.println("Memory allocated: " + (freeMemory - Runtime.getRuntime().freeMemory()));
代码示例来源:origin: org.bytedeco/javacv
void findPairs(Mat objectDescriptors, Mat imageDescriptors) {
int size = imageDescriptors.cols();
ByteBuffer objectBuf = objectDescriptors.createBuffer();
ByteBuffer imageBuf = imageDescriptors.createBuffer();
for (int i = 0; i * size < objectBuf.capacity(); i++) {
ByteBuffer descriptor = (ByteBuffer)objectBuf.position(i * size).limit((i + 1) * size).mark();
int nearestNeighbor = naiveNearestNeighbor(descriptor, imageBuf);
if (nearestNeighbor >= 0) {
ptpairs.add(i);
ptpairs.add(nearestNeighbor);
}
}
}
代码示例来源:origin: poqudrof/PapARt
void findPairs(Mat objectDescriptors, Mat imageDescriptors) {
int size = imageDescriptors.cols();
ByteBuffer objectBuf = objectDescriptors.createBuffer();
ByteBuffer imageBuf = imageDescriptors.createBuffer();
for (int i = 0; i * size < objectBuf.capacity(); i++) {
ByteBuffer descriptor = (ByteBuffer) objectBuf.position(i * size).limit((i + 1) * size).mark();
int nearestNeighbor = naiveNearestNeighbor(descriptor, imageBuf);
if (nearestNeighbor >= 0) {
ptpairs.add(i);
ptpairs.add(nearestNeighbor);
}
}
}
代码示例来源:origin: stackoverflow.com
ByteBuffer buffer = ByteBuffer.allocate(Resource.MEMORY_ALLOC_SIZE);
while (fic.read(buffer) >= 0) {
buffer.flip();
buffer.mark();
while (buffer.hasRemaining()) {
channel2.write(buffer);
}
buffer.reset():
while (buffer.hasRemaining()) {
channel.write(buffer);
}
buffer.clear();
}
内容来源于网络,如有侵权,请联系作者删除!