Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
檀越@新空间
netty-demo
提交
1822e386
N
netty-demo
项目概览
檀越@新空间
/
netty-demo
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
netty-demo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
1822e386
编写于
4月 19, 2023
作者:
檀越@新空间
🐭
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:和string互转
上级
9537cfb6
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
235 addition
and
0 deletion
+235
-0
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_003_Test_put.java
.../kwan/shuyu/heima/bytebuffer/ByteBuffer_003_Test_put.java
+27
-0
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_004_Test_flip.java
...kwan/shuyu/heima/bytebuffer/ByteBuffer_004_Test_flip.java
+31
-0
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_005_Test_compact.java
...n/shuyu/heima/bytebuffer/ByteBuffer_005_Test_compact.java
+31
-0
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_006_Test_allocate.java
.../shuyu/heima/bytebuffer/ByteBuffer_006_Test_allocate.java
+20
-0
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_007_Test_read.java
...kwan/shuyu/heima/bytebuffer/ByteBuffer_007_Test_read.java
+26
-0
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_008_Test_mark.java
...kwan/shuyu/heima/bytebuffer/ByteBuffer_008_Test_mark.java
+29
-0
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_009_Test_get.java
.../kwan/shuyu/heima/bytebuffer/ByteBuffer_009_Test_get.java
+33
-0
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_010_Test_String.java
...an/shuyu/heima/bytebuffer/ByteBuffer_010_Test_String.java
+38
-0
未找到文件。
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_003_Test_put.java
0 → 100644
浏览文件 @
1822e386
package
com.kwan.shuyu.heima.bytebuffer
;
import
lombok.extern.slf4j.Slf4j
;
import
java.nio.ByteBuffer
;
import
static
com
.
kwan
.
shuyu
.
until
.
ByteBufferUtil
.
debugAll
;
/**
* ByteBuffer放入数据并读取数据
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/4/18 17:15
*/
@Slf4j
public
class
ByteBuffer_003_Test_put
{
public
static
void
main
(
String
[]
args
)
{
ByteBuffer
buffer
=
ByteBuffer
.
allocate
(
10
);
buffer
.
put
((
byte
)
0x61
);
debugAll
(
buffer
);
buffer
.
put
(
new
byte
[]{
0x62
,
0x63
,
0x64
});
buffer
.
flip
();
System
.
out
.
println
(
buffer
.
get
());
debugAll
(
buffer
);
}
}
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_004_Test_flip.java
0 → 100644
浏览文件 @
1822e386
package
com.kwan.shuyu.heima.bytebuffer
;
import
lombok.extern.slf4j.Slf4j
;
import
java.nio.ByteBuffer
;
import
static
com
.
kwan
.
shuyu
.
until
.
ByteBufferUtil
.
debugAll
;
/**
* ByteBuffer放入数据并读取数据
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/4/18 17:15
*/
@Slf4j
public
class
ByteBuffer_004_Test_flip
{
public
static
void
main
(
String
[]
args
)
{
ByteBuffer
buffer
=
ByteBuffer
.
allocate
(
10
);
buffer
.
put
((
byte
)
0x61
);
debugAll
(
buffer
);
buffer
.
put
(
new
byte
[]{
0x62
,
0x63
,
0x64
});
buffer
.
flip
();
System
.
out
.
println
(
buffer
.
get
());
debugAll
(
buffer
);
buffer
.
compact
();
debugAll
(
buffer
);
buffer
.
put
(
new
byte
[]{
0x65
,
0x6f
});
debugAll
(
buffer
);
}
}
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_005_Test_compact.java
0 → 100644
浏览文件 @
1822e386
package
com.kwan.shuyu.heima.bytebuffer
;
import
lombok.extern.slf4j.Slf4j
;
import
java.nio.ByteBuffer
;
import
static
com
.
kwan
.
shuyu
.
until
.
ByteBufferUtil
.
debugAll
;
/**
* ByteBuffer放入数据并读取数据
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/4/18 17:15
*/
@Slf4j
public
class
ByteBuffer_005_Test_compact
{
public
static
void
main
(
String
[]
args
)
{
ByteBuffer
buffer
=
ByteBuffer
.
allocate
(
10
);
buffer
.
put
((
byte
)
0x61
);
debugAll
(
buffer
);
buffer
.
put
(
new
byte
[]{
0x62
,
0x63
,
0x64
});
buffer
.
flip
();
System
.
out
.
println
(
buffer
.
get
());
debugAll
(
buffer
);
buffer
.
compact
();
debugAll
(
buffer
);
buffer
.
put
(
new
byte
[]{
0x65
,
0x6f
});
debugAll
(
buffer
);
}
}
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_006_Test_allocate.java
0 → 100644
浏览文件 @
1822e386
package
com.kwan.shuyu.heima.bytebuffer
;
import
lombok.extern.slf4j.Slf4j
;
import
java.nio.ByteBuffer
;
/**
* ByteBuffer放入数据并读取数据
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/4/18 17:15
*/
@Slf4j
public
class
ByteBuffer_006_Test_allocate
{
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
ByteBuffer
.
allocate
(
16
).
getClass
().
getSimpleName
());
System
.
out
.
println
(
ByteBuffer
.
allocateDirect
(
16
).
getClass
().
getSimpleName
());
}
}
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_007_Test_read.java
0 → 100644
浏览文件 @
1822e386
package
com.kwan.shuyu.heima.bytebuffer
;
import
com.kwan.shuyu.until.ByteBufferUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
java.nio.ByteBuffer
;
/**
* ByteBuffer放入数据并读取数据
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/4/18 17:15
*/
@Slf4j
public
class
ByteBuffer_007_Test_read
{
public
static
void
main
(
String
[]
args
)
{
ByteBuffer
buffer
=
ByteBuffer
.
allocate
(
10
);
buffer
.
put
(
new
byte
[]{
'a'
,
'b'
,
'c'
,
'd'
});
buffer
.
flip
();
buffer
.
get
(
new
byte
[
4
]);
ByteBufferUtil
.
debugAll
(
buffer
);
buffer
.
rewind
();
//恢复到起始位置
System
.
out
.
println
((
char
)
buffer
.
get
());
}
}
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_008_Test_mark.java
0 → 100644
浏览文件 @
1822e386
package
com.kwan.shuyu.heima.bytebuffer
;
import
lombok.extern.slf4j.Slf4j
;
import
java.nio.ByteBuffer
;
/**
* ByteBuffer放入数据并读取数据
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/4/18 17:15
*/
@Slf4j
public
class
ByteBuffer_008_Test_mark
{
public
static
void
main
(
String
[]
args
)
{
ByteBuffer
buffer
=
ByteBuffer
.
allocate
(
10
);
buffer
.
put
(
new
byte
[]{
'a'
,
'b'
,
'c'
,
'd'
});
buffer
.
flip
();
System
.
out
.
println
((
char
)
buffer
.
get
());
System
.
out
.
println
((
char
)
buffer
.
get
());
buffer
.
mark
();
// 加标记,泰列2的位置
System
.
out
.
println
((
char
)
buffer
.
get
());
System
.
out
.
println
((
char
)
buffer
.
get
());
buffer
.
reset
();
//将position 重置到泰列 2
System
.
out
.
println
((
char
)
buffer
.
get
());
System
.
out
.
println
((
char
)
buffer
.
get
());
}
}
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_009_Test_get.java
0 → 100644
浏览文件 @
1822e386
package
com.kwan.shuyu.heima.bytebuffer
;
import
lombok.extern.slf4j.Slf4j
;
import
java.nio.ByteBuffer
;
/**
* ByteBuffer放入数据并读取数据
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/4/18 17:15
*/
@Slf4j
public
class
ByteBuffer_009_Test_get
{
public
static
void
main
(
String
[]
args
)
{
ByteBuffer
buffer
=
ByteBuffer
.
allocate
(
10
);
buffer
.
put
(
new
byte
[]{
'a'
,
'b'
,
'c'
,
'd'
});
buffer
.
flip
();
System
.
out
.
println
((
char
)
buffer
.
get
());
System
.
out
.
println
((
char
)
buffer
.
get
());
buffer
.
mark
();
// 加标记,泰列2的位置
System
.
out
.
println
((
char
)
buffer
.
get
());
System
.
out
.
println
((
char
)
buffer
.
get
());
buffer
.
reset
();
//将position 重置到泰列 2
System
.
out
.
println
((
char
)
buffer
.
get
());
System
.
out
.
println
((
char
)
buffer
.
get
());
//get(i)不会改交读索引的位骂
System
.
out
.
println
((
char
)
buffer
.
get
(
3
));
System
.
out
.
println
((
buffer
));
}
}
src/main/java/com/kwan/shuyu/heima/bytebuffer/ByteBuffer_010_Test_String.java
0 → 100644
浏览文件 @
1822e386
package
com.kwan.shuyu.heima.bytebuffer
;
import
lombok.extern.slf4j.Slf4j
;
import
java.nio.ByteBuffer
;
import
java.nio.charset.StandardCharsets
;
import
static
com
.
kwan
.
shuyu
.
until
.
ByteBufferUtil
.
debugAll
;
/**
* 字符串放入到ByteBuffer中
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/4/18 17:15
*/
@Slf4j
public
class
ByteBuffer_010_Test_String
{
public
static
void
main
(
String
[]
args
)
{
//方式一,不会自动切换到读模式
ByteBuffer
buffer1
=
ByteBuffer
.
allocate
(
16
);
buffer1
.
put
(
"hello"
.
getBytes
());
debugAll
(
buffer1
);
//方式二,自动切换到读模式
ByteBuffer
buffer2
=
StandardCharsets
.
UTF_8
.
encode
(
"hello"
);
debugAll
(
buffer2
);
//方式三,自动切换到读模式
final
ByteBuffer
buffer3
=
ByteBuffer
.
wrap
(
"hello"
.
getBytes
());
debugAll
(
buffer3
);
//转为字符串
final
String
s2
=
StandardCharsets
.
UTF_8
.
decode
(
buffer2
).
toString
();
System
.
out
.
println
(
s2
);
final
String
s1
=
StandardCharsets
.
UTF_8
.
decode
(
buffer1
).
toString
();
System
.
out
.
println
(
s1
);
//解码失败
final
String
s3
=
StandardCharsets
.
UTF_8
.
decode
(
buffer3
).
toString
();
System
.
out
.
println
(
s3
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录