来源: StackOverflow, 自己使用中总结

集合

并发

网络

获取本机IP

InetAddress inetAddress = InetAddress.getLocalHost();
String host = inetAddress.getHostAddress();
System.out.print("host is " + host + "\n");

结果: host is 127.0.0.1

在linux环境下,没法获取正确的ip地址,当然也有一部分人碰巧获取了正确的结果。实际上这个函数是按照host来查找ip地址的,在linux中这些地址在/etc/hosts文件中:

127.0.0.1 localhost
127.0.0.1 ubuntu
# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

因此程序里也只是读取了该文件下的ip地址,用户的网络如果是静态ip的话,自己手动设置一下,也能返回正确的IP地址,但是这么做的确是很麻烦。还有一个方法就是,执行ifconfig,解析对应的结果。

或者使用NetworkInterface接口来获取:

public static String getHostIp() {Enumeration<NetworkInterface> netInterfaces = null;String host = "";try {netInterfaces = NetworkInterface.getNetworkInterfaces();while (netInterfaces.hasMoreElements()) {NetworkInterface ni = netInterfaces.nextElement();if(!ni.getName().isEmpty()) {Enumeration<InetAddress> ips = ni.getInetAddresses();while (ips.hasMoreElements()) {InetAddress inetAddress = ips.nextElement();host = inetAddress.getHostAddress();log.info("IP:" + host);if(inetAddress.getHostAddress().matches("\\b((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\.|$)){4}\\b")) {return host;}}}}} catch (Exception e) {if(log.isInfoEnabled()) {log.info(e.getMessage());}}return host;}

其他

package-info.java作用

为标注在包上Annotation提供便利;
声明友好类和包常量;
提供包的整体注释说明。

示例说明:

Java常见问题汇总相关推荐

  1. java 遇到的问题_Java常见问题汇总(一)

    原标题:Java常见问题汇总(一) 每天在写Java程序,其实里面有一些细节大家可能没怎么注意,这不,有人总结了一个我们编程中常见的问题.虽然一般没有什么大问题,但是最好别这样做.另外这里提到的很多问 ...

  2. java编程 问题_Java编程常见问题汇总

    Java编程常见问题汇总 在我们写Java程序的过程中,其实里面有一些细节大家可能没怎么注意,虽然一般没有什么大问题,但俗话说的好,差之毫厘失之千里.所以我们一定要注意这些小细节.那在我们日常的编程中 ...

  3. 使用maven下载依赖包及maven常见问题汇总

    最近下载了SPRING3.1.4,发现只有SPRING相关的源码,没有其依赖的jar包.SPRING依赖的jar相当多,自己一个一个的下载比较费劲,就仔细阅读了SPRING下载说明,新版本的SPRIN ...

  4. Hive常见问题汇总

    参考资料: Hive常见问题汇总 啟動hive出錯,提示沒有權限 2015年04月02日 09:58:49 阅读数:31769 这里小编汇集,使用Hive时遇到的常见问题.  1,执行#hive命令进 ...

  5. 中南大学python试卷_中南大学考研常见问题汇总

    原标题:中南大学考研常见问题汇总 地学考研中心邀请19年地址工程成功上岸的研究生为大家进行了一次有关中南大学考研常见问题的做答会,地学君特意整理了部分问题,希望可以帮助到考中南大学的学下,关注&quo ...

  6. Linux常见问题汇总,比较适合菜鸟哈

    Linux常见问题汇总如下: 1 切换目录                 cd 路径 2 回退上一层目录     cd .. 3查看Java相关进程命令 ps –ef | grep java 4查看 ...

  7. Android使用ZBar扫描二维码/条形码(实例)+常见问题汇总

    写在前面:因项目需求,需要实现二维码扫码功能,笔者测试过多种开源扫码工具,但因不跨平台.扫描速度慢等问题逐个放弃,最后选用ZBar实现功能,笔者发现ZBar扫码在跨主流手机平台.扫码速度等方面有较明显 ...

  8. exec不同文件l怎么汇总_ABAQUS常见问题汇总 - 2.0版.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspC/C++资料 ABAQUS常见问题汇总 - 2.0版.doc1 ...

  9. Java知识汇总-思维导图

    2019独角兽企业重金招聘Python工程师标准>>> Java知识点汇总,从基础到常用的API.还有常用的集合类,总结的很详细.图片是从论坛里面找到的,整理下来以便常复习.这是目前 ...

最新文章

  1. Java String.split()用法小结
  2. 【干货】目标检测比赛中的trick
  3. android 和 iphone x,在快充方面,iPhone X和iPhone 8系列都落后于Android 旗舰
  4. java jdk1.5 对for循环遍历的优化
  5. ssh mysql转发_ssh转发代理:ssh-agent用法详解
  6. 类型转换:隐式转化(算数转换,整型提升,混合提升,赋值转换),强制转换【C语言】
  7. 分支管理---分支管理策略
  8. 如何使用 Microsoft Azure Media Services 现场直播,(Live Streaming) 直播流媒体系统
  9. 2020年Airbnb爱彼迎中国房东社区报告
  10. Eclipse导出可执行JAR文件的方法
  11. 亚马逊云服务开通指南_亚马逊弹性容器服务初学者指南
  12. EfficientNetV2:训练速度快了5~10x,更小,更快,精度更高的EfficientNet
  13. 完美的做图配色专辑,UI设计师赶紧收藏
  14. abp 使用 hangfire结合mysql
  15. 挚同道合,物所不能!挚物·AIoT产业领袖峰会报名进入倒计时!
  16. SpringBoot参数传递bean自动填充
  17. U盘制作“奶瓶”破解无线WPE\WPA\WPA2 密码教程
  18. VBlog项目代码理解之前端
  19. Unity 正交相机和透视相机的屏幕适配
  20. 网康NS-NGFW防火墙远程RCE 漏洞复现

热门文章

  1. POJ1679判断最小生成树的唯一性
  2. 【数字信号处理】傅里叶变换性质 ( 傅里叶变换频移性质 | 证明过程 )
  3. 【Groovy】json 序列化 ( 类对象转为 json 字符串 | 使用 JsonBuilder 进行转换 | 使用 JsonOutput 进行转换 | 将 json 字符串格式化输出 )
  4. 【EventBus】EventBus 源码解析 ( 注册订阅者 | 订阅方法 | 查找订阅方法 )
  5. 【Android Protobuf 序列化】Protobuf 使用 ( protoc 编译器简介 | 下载 protoc 编译器 | 使用 protoc 编译器编译 .proto 源文件 )
  6. 【Android 安全】DEX 加密 ( 不同 Android 版本的 DEX 加载 | Android 8.0 版本 DEX 加载分析 | Android 5.0 版本 DEX 加载分析 )
  7. 【运筹学】线性规划数学模型 ( 单纯形法 | 第一次迭代 | 方程组同解变换 | 计算新单纯形表 | 计算检验数 | 入基变量选择 | 出基变量选择 )
  8. 【iOS 开发】Objective - C 语法 之 类型转换
  9. vue-lazyload 的vue 懒加载的使用
  10. 思科交换机和路由器的远程配置