Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Ip2region
提交
b5ffdc37
I
Ip2region
项目概览
int
/
Ip2region
上一次同步 大约 1 年
通知
21
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
Ip2region
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b5ffdc37
编写于
7月 20, 2022
作者:
L
Lion
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
auto close the handle after buffer loaded
上级
408cb21f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
24 addition
and
9 deletion
+24
-9
binding/java/ReadMe.md
binding/java/ReadMe.md
+11
-2
binding/java/pom.xml
binding/java/pom.xml
+1
-1
binding/java/src/main/java/org/lionsoul/ip2region/xdb/Searcher.java
...va/src/main/java/org/lionsoul/ip2region/xdb/Searcher.java
+12
-6
未找到文件。
binding/java/ReadMe.md
浏览文件 @
b5ffdc37
...
...
@@ -7,7 +7,7 @@
<dependency>
<groupId>
org.lionsoul
</groupId>
<artifactId>
ip2region
</artifactId>
<version>
2.6.
4
</version>
<version>
2.6.
5
</version>
</dependency>
```
...
...
@@ -41,7 +41,10 @@ public class SearcherTest {
System
.
out
.
printf
(
"failed to search(%s): %s\n"
,
ip
,
e
);
}
// 3、备注:并发使用,每个线程需要创建一个独立的 searcher 对象单独使用。
// 3、关闭资源
searcher
.
close
();
// 备注:并发使用,每个线程需要创建一个独立的 searcher 对象单独使用。
}
}
```
...
...
@@ -86,6 +89,9 @@ public class SearcherTest {
}
catch
(
Exception
e
)
{
System
.
out
.
printf
(
"failed to search(%s): %s\n"
,
ip
,
e
);
}
// 4、关闭资源
searcher
.
close
();
// 备注:每个线程需要单独创建一个独立的 Searcher 对象,但是都共享全局的制度 vIndex 缓存。
}
...
...
@@ -132,6 +138,9 @@ public class SearcherTest {
}
catch
(
Exception
e
)
{
System
.
out
.
printf
(
"failed to search(%s): %s\n"
,
ip
,
e
);
}
// 4、关闭资源 - 该 searcher 对象可以安全用于并发,等整个服务关闭的时候再关闭 searcher
// searcher.close();
// 备注:并发使用,用整个 xdb 数据缓存创建的查询对象可以安全的用于并发,也就是你可以把这个 searcher 对象做成全局对象去跨线程访问。
}
...
...
binding/java/pom.xml
浏览文件 @
b5ffdc37
...
...
@@ -4,7 +4,7 @@
<groupId>
org.lionsoul
</groupId>
<artifactId>
ip2region
</artifactId>
<version>
2.6.
4
</version>
<version>
2.6.
5
</version>
<packaging>
jar
</packaging>
<name>
ip2region
</name>
...
...
binding/java/src/main/java/org/lionsoul/ip2region/xdb/Searcher.java
浏览文件 @
b5ffdc37
...
...
@@ -167,8 +167,10 @@ public class Searcher {
}
public
static
Header
loadHeaderFromFile
(
String
dbPath
)
throws
IOException
{
RandomAccessFile
handle
=
new
RandomAccessFile
(
dbPath
,
"r"
);
return
loadHeader
(
handle
);
final
RandomAccessFile
handle
=
new
RandomAccessFile
(
dbPath
,
"r"
);
final
Header
header
=
loadHeader
(
handle
);
handle
.
close
();
return
header
;
}
public
static
byte
[]
loadVectorIndex
(
RandomAccessFile
handle
)
throws
IOException
{
...
...
@@ -184,8 +186,10 @@ public class Searcher {
}
public
static
byte
[]
loadVectorIndexFromFile
(
String
dbPath
)
throws
IOException
{
RandomAccessFile
handle
=
new
RandomAccessFile
(
dbPath
,
"r"
);
return
loadVectorIndex
(
handle
);
final
RandomAccessFile
handle
=
new
RandomAccessFile
(
dbPath
,
"r"
);
final
byte
[]
vIndex
=
loadVectorIndex
(
handle
);
handle
.
close
();
return
vIndex
;
}
public
static
byte
[]
loadContent
(
RandomAccessFile
handle
)
throws
IOException
{
...
...
@@ -200,8 +204,10 @@ public class Searcher {
}
public
static
byte
[]
loadContentFromFile
(
String
dbPath
)
throws
IOException
{
RandomAccessFile
handle
=
new
RandomAccessFile
(
dbPath
,
"r"
);
return
loadContent
(
handle
);
final
RandomAccessFile
handle
=
new
RandomAccessFile
(
dbPath
,
"r"
);
final
byte
[]
content
=
loadContent
(
handle
);
handle
.
close
();
return
content
;
}
// --- End cache load util function
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录