获取本地ip地址适用于windows和Linux环境

简写版本

package com.gblfy.util;import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;/*** 获取本地ip地址 适用于Windowds和Linux*/
public class WebToolUtils {/*** 获取本地ip地址*** @return*/public static String getInet4Address() {Enumeration<NetworkInterface> nis;String ip = null;try {nis = NetworkInterface.getNetworkInterfaces();for (; nis.hasMoreElements();) {NetworkInterface ni = nis.nextElement();Enumeration<InetAddress> ias = ni.getInetAddresses();for (; ias.hasMoreElements();) {InetAddress ia = ias.nextElement();if (ia instanceof Inet4Address && !ia.getHostAddress().equals("127.0.0.1")) {ip = ia.getHostAddress();}}}} catch (SocketException e) {e.printStackTrace();}return ip;}public static void main(String[] args)throws Exception {String localIP = getInet4Address();System.out.println("获取本地ip地址:---------------------"+localIP);}
}

未优化版本

package com.gblfy.config;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;@Controller
public class AbController {@ResponseBody@RequestMapping(value = "/Testone", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")public static String Testone() throws Exception {String ip = "";try {for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {NetworkInterface intf = en.nextElement();String name = intf.getName();if (!name.contains("docker") && !name.contains("lo")) {for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {InetAddress inetAddress = enumIpAddr.nextElement();if (!inetAddress.isLoopbackAddress()) {String ipaddress = inetAddress.getHostAddress().toString();if (!ipaddress.contains("::") && !ipaddress.contains("0:0:") && !ipaddress.contains("fe80")) {ip = ipaddress;System.out.println(ipaddress);}}}}}} catch (SocketException ex) {System.out.println("获取ip地址异常");ip = "127.0.0.1";ex.printStackTrace();}System.out.println("IP:"+ip);return ip;}public static void main(String[] args) throws Exception {String testone = Testone();System.out.println("eilvlhwlhevihei"+testone);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519280.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“龙井”开箱评测 |Alibaba Dragonwell 新手上路指南

阿里巴巴有着最丰富的 Java 应用场景&#xff0c;覆盖电商&#xff0c;金融&#xff0c;物流等众多领域&#xff0c;是世界上最大的 Java 用户之一。 2019 年 3 月 21 日&#xff0c;阿里巴巴在北京阿里云峰会上正式宣布开源了 Alibaba Dragonwell 8 产品&#xff0c;并建立了 …

基于角色的访问控制(RBAC)

来源 | 编程新说责编 | Carol出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;很多时候&#xff0c;需要对一些事物进行控制&#xff0c;如一个房间&#xff0c;为了不让人随便进&#xff0c;通常会装一把锁&#xff0c;如果要想进入&#xff0c;你必须得有一…

win10 ie中没有java,win10没有ie浏览器怎么处理_window10找不到ie浏览器如何解决

很多用户升级到win10系统之后&#xff0c;发现默认浏览器是edge&#xff0c;想要使用ie浏览器的时候却发现没有ie浏览器&#xff0c;遇到window10找不到ie浏览器的话该怎么办呢&#xff0c;下面随小编一起来看看详细的解决步骤吧。方案一&#xff1a;1、直接搜索&#xff0c;右…

手把手教程:用Python开发一个自然语言处理模型,并用Flask进行部署

截住到目前为止&#xff0c;我们已经开发了许多机器学习模型&#xff0c;对测试数据进行了数值预测&#xff0c;并测试了结果。实际上&#xff0c;生成预测只是机器学习项目的一部分&#xff0c;尽管它是我认为最重要的部分。今天我们来创建一个用于文档分类、垃圾过滤的自然语…

干货|Spring Cloud Stream 体系及原理介绍

Spring Cloud Stream 在 Spring Cloud 体系内用于构建高度可扩展的基于事件驱动的微服务&#xff0c;其目的是为了简化消息在 Spring Cloud 应用程序中的开发。Spring Cloud Stream (后面以 SCS 代替 Spring Cloud Stream) 本身内容很多&#xff0c;而且它还有很多外部的依赖&a…

众志成城 共克时艰 TigerGraph免费开放企业级版本授权全力支持疫情防控

新型冠状病毒肺炎疫情自发生以来&#xff0c;一直牵动着全国人民的心。全球领先的可扩展企业级图数据库TigerGraph宣布&#xff0c;利用强大的企业级图数据库产品&#xff0c;免费开放企业级版本授权&#xff0c;为政府机构、公共事业和科研机构赋能&#xff0c;帮助实现更加科…

Mybatis-plus批量插入、批量修改数据saveBatch等速度缓慢

问题&#xff1a; 用mybatis批量插入近200条的数据大概用时5s&#xff01;&#xff01;这个速度太可怕了 解决方案&#xff1a; 百度找了很多方案&#xff0c;如并发插入多个线程同时操作&#xff0c;但效果仍不是很明显&#xff0c;并且资源开销大。 最终解决方案是 数据库连…

php cms专题,在phpcms中给专题每个不同分类设置独立模板

在phpcms中设置专题里面&#xff0c;默认专题的分类没有独立模板设置的&#xff0c;以下简单介绍了给子分类设置独立模板样式办法。首先打开phpcms文件夹、modules文件夹、special文件夹、index.php文件找到如下代码&#xff1a;$list_template ? $list_template : list;将其替…

阿里小程序云应用上线了,有哪些看点?

3月21日&#xff0c;在2019阿里云峰会北京上&#xff0c;阿里巴巴旗下的阿里云、支付宝、淘宝、钉钉、高德等联合发布“阿里巴巴小程序繁星计划”&#xff1a;提供20亿元补贴&#xff0c;扶持200万小程序开发者、100万商家。凡入选“超星”的小程序&#xff0c;入驻支付宝、淘宝…

10 个实用功能告诉你,谷歌云(Google Cloud)相对亚马逊云(AWS)有哪些优势?...

来源 | itnext编译 | 武明利责编 | Carol出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;有很多文章将谷歌云提供商&#xff08;GCP&#xff09;与亚马逊云服务&#xff08;AWS&#xff09;进行比较&#xff0c;但这篇文章并不想要做比较。作者主要是一个AW…

mybatis-plus大批量数据插入缓慢问题

文章目录问题排查结果建议问题 最近项目用的mybatis-plus做的映射&#xff0c;有个批处理文件内容的需求&#xff0c;在使用mybatis-plus的批处理方法saveBatch时发现速度特别慢&#xff0c;测试从1000到10000到80000条基本上是线性增加&#xff0c;80000条时差不多要90秒。 …

世界冠军之路:菜鸟车辆路径规划求解引擎研发历程

阿里妹导读&#xff1a;车辆路径规划问题&#xff08;Vehicle Routing Problem, VRP&#xff09;是物流领域最经典的优化问题之一&#xff0c;具有极大的学术研究意义和实际应用价值。菜鸟网络高级算法专家胡浩源带领仓配智能化算法团队经过两年的研发&#xff0c;逐步沉淀出了…

前期绑定 php,关于php:后期静态绑定在PHP中的使用

什么叫前期动态绑定呢&#xff1f;其实咱们在之前的文章PHP中的static中曾经说过这个货色了。明天咱们还是再次深刻的了解一下这个概念。首先&#xff0c;咱们通过一段代码来引入前期动态绑定这一概念&#xff1a;【腾讯云】云产品限时秒杀&#xff0c;爆款1核2G云服务器&#…

原来,阿里工程师才是隐藏的“修图高手”!

阿里妹导读&#xff1a;在现实世界中&#xff0c;信息通常以不同的模态同时出现。这里提到的模态主要指信息的来源或者形式。例如在淘宝场景中&#xff0c;每个商品通常包含标题、商品短视频、主图、附图、各种商品属性&#xff08;类目&#xff0c;价格&#xff0c;销量&#…

分布式数据集训营,从入门到精通,从理论到实践,你不可错过的精品课程!...

责编 | Carol出品 | CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;随着微服务、云化架构的兴起&#xff0c;分布式数据库开始在越来越多的场景得到应用&#xff0c;从外围系统到中台业务&#xff0c;再到核心交易业务&#xff0c;分布式数据库成为企业基础架构转…

mybatis批量插入10万条数据的优化过程

在使用mybatis插入大量数据的时候,为了提高效率,放弃循环插入,改为批量插入,mapper如下: package com.lcy.service.mapper;import com.lcy.service.pojo.TestVO; import org.apache.ibatis.annotations.Insert;import java.util.List;/*** 功能描述&#xff1a;** author liuc…

java spring注解维护,从一次工程启动失败谈谈 spring 注解

原标题&#xff1a;从一次工程启动失败谈谈 spring 注解檀宝权Java 后端开发工程师&#xff0c;负责度假 App 后端和广告后端开发维护工作&#xff0c;熟悉 Tomcat&#xff0c;Spring&#xff0c;Mybatis&#xff0c;会点 Python&#xff0c;Lua。一、背景线上环境升级成 JDK8后…

探索Java日志的奥秘:底层日志系统-log4j2

前言 log4j2是apache在log4j的基础上&#xff0c;参考logback架构实现的一套新的日志系统&#xff08;我感觉是apache害怕logback了&#xff09;。 log4j2的官方文档上写着一些它的优点&#xff1a; 在拥有全部logback特性的情况下&#xff0c;还修复了一些隐藏问题API 分离&…

大地震!某大厂“硬核”抢人,放话:只要AI人才,高中毕业都行!

特斯拉创始人马斯克&#xff0c;在2019年曾许下很多承诺&#xff0c;其中一个就是&#xff1a;2019年底实现完全的自动驾驶。虽然这个承诺又成了flag&#xff0c;但是不妨碍他今年继续为这个承诺努力。这不&#xff0c;就在上周一&#xff0c;马斯克之间在twitter上放话了&…

解决Maven打包(编译)慢的问题

终于找到Maven打包(编译)慢的原因了&#xff0c;lombok是罪魁祸首 一个独立的Model包&#xff0c;560个实体类&#xff0c;编译要4分钟&#xff0c;而老项目2100多个类&#xff0c;编译才要10多秒 开始以为是Swagger注解的原因&#xff0c;最后经常测试 swagger注解只用了2-3…