Code Monkey home page Code Monkey logo

phone-number-geo's Introduction

Hi there 👋

phone-number-geo's People

Contributors

eeemt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

phone-number-geo's Issues

使用jdk1.8集成最新代码查询时报错

代码示例:
PhoneNumberInfo found = phoneNumberLookup.lookup(phone).orElse(getDefaultValue(phone));
执行此方法时,抛出异常:
java.nio.ByteBuffer.position(I)Ljava/nio/ByteBuffer;
临时解决办法:获取源码,使用jdk8重新编译即可。
可能原因:已发布到重要仓库的包使用jdk1.8以上版本编译。

线程安全

phoneNumberLookup.lookup 单实例,方法函数线程安全吗?

无法初始化该PhoneNumberLookUp,抛出异常

[ERROR threadPoolTaskScheduler-33 2020-08-27 11:35:30,232 --146919999(ms)]
[me.ihxq.projects.pna.PhoneNumberLookup.init(PhoneNumberLookup.java:47)]
failed to init PhoneNumberLookUp
java.io.IOException: Stale file handle
at java.io.RandomAccessFile.readBytes(Native Method)
at java.io.RandomAccessFile.read(RandomAccessFile.java:377)
at org.springframework.boot.loader.data.RandomAccessDataFile$DataInputStream.doRead(RandomAccessDataFile.java:184)
at org.springframework.boot.loader.data.RandomAccessDataFile$DataInputStream.read(RandomAccessDataFile.java:152)
at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:238)
at org.springframework.boot.loader.jar.ZipInflaterInputStream.fill(ZipInflaterInputStream.java:62)
at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
at org.springframework.boot.loader.jar.ZipInflaterInputStream.read(ZipInflaterInputStream.java:52)
at java.io.FilterInputStream.read(FilterInputStream.java:107)
at me.ihxq.projects.pna.PhoneNumberLookup.init(PhoneNumberLookup.java:35)
at me.ihxq.projects.pna.PhoneNumberLookup.(PhoneNumberLookup.java:64)
at me.ihxq.projects.pna.PhoneNumberLookup.(PhoneNumberLookup.java:56)

频繁的gc

使用定时任务每隔1秒调用一次的时候会导致频繁的FGC
@scheduled(cron = " */1 * * * * ?")
public void test() {
log.info("===test===");
String number ="18625059406";
PhoneNumberInfo phoneNumberInfo = new PhoneNumberLookup().lookup(number).orElse(null);
if (ObjectUtils.isNotEmpty(phoneNumberInfo)) {
log.info(phoneNumberInfo.getAttribution().getProvince() + phoneNumberInfo.getAttribution().getCity());
}

image

image

image

这个init方法中没有释放资源,请问是这个原因导致的吗?

更换 phone.dat

亲,更换最新版 phone.dat,只需要把源码目录下 得 phone.dat更换了,程序不需要改动吧?

win10下报错:content format error

测试号码:13333333333.
然后其他号码还乱码:
"attribution": {
"province": "璐靛窞",
"city": "璐甸槼",
"zipCode": "550000",
"areaCode": "0851"
},

字符集问题

几种算法中都存在未指定字符集编码 导致不同环境下会出现乱码的情况。都出现在lookup方法中,将bytes转成String的地方,需要手动传入字符编码:
将String oriString = new String(bytes)改为String oriString = new String(bytes, StandardCharsets.UTF_8)即可

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.