intmain(){//系统宏#ifdef__ANDROID__stringport("/dev/ttyUSB1");#elif__linux__stringport("/dev/ttyUSB0");#elif_WIN32stringport("Com3");#endif//编译器宏#ifdef_MSC_VERcout<<"helloMSVC"<
商汤善惠获金沙江创投领投A轮融资,聚焦零售AI业务
TMT星球
人工智能人工智能零售大数据
1月20日,商汤善惠宣布完成A轮融资,本轮融资由金沙江创投数千万元领投,微木资本、嘉实基金和金弘基金等知名资管平台和产业资本数千万元跟投,鞍羽资本担任长期财务顾问。此次融资将重点投向零售AI算法研发创新、海外市场拓展战略方向,助力公司全球化布局迈入新阶段。商汤善惠脱胎于全球领先的AI人工智能软件公司商汤集团,聚焦零售领域的商品识别算法与智能运营提效算法,目前,公司已推出引领行业的新一代无人零售智能
Lisp语言的循环实现
齐雅彤
包罗万象golang开发语言后端
Lisp语言的循环实现引言Lisp(LIStProcessing)是一门历史悠久且具有高度灵活性和表达力的编程语言。自1958年首次面世以来,Lisp语言在学术界与工业界均得到了广泛应用。它的函数式编程范式和强大而独特的宏系统使得Lisp在处理符号处理和人工智能领域特别出众。循环结构是程序设计中不可或缺的部分,而在Lisp中,循环的实现与其他编程语言有很大不同。本文将探讨Lisp语言中循环的各种实
python random模块中seed函数的详解_详解Python基础random模块随机数的生成
Fccf
python
随机数参与的应用场景大家一定不会陌生,比如密码加盐时会在原密码上关联一串随机数,蒙特卡洛算法会通过随机数采样等等。Python内置的random模块提供了生成随机数的方法,使用这些方法时需要导入random模块。importrandom下面介绍下Python内置的random模块的几种生成随机数的方法。1、random.random()随机生成0到1之间的浮点数[0.0,1.0)。print("r
东野圭吾读书笔记 —— 新参者
蜡笔小新..
读点小书东野圭吾新参者
假期重新读一读之前的书,做一点记录。故事始于充满传统风情的日本桥地区,甘酒横丁商业街附近的小传马町公寓。一位刚搬来不久的独居女子三井峰子在家中惨遭勒杀。刚刚调任到此地的刑警加贺恭一郎接手了这起案件。他通过调查商业街上与峰子有过交集的商户,逐步揭开案件的真相。被害人三井峰子家中的线索:半年前离婚后开始独居,有一个离家出走的儿子清濑弘毅,母子俩几乎不见面。刚搬来日本桥不久,于6月10日晚7点左右被勒杀
Flutter使用Ohos原生组件的方法
六号嘉宾
OpenHarmony鸿蒙开发移动开发flutterharmonyos移动开发鸿蒙开发ArkUI跨端开发组件化
往期学习笔录:鸿蒙(HarmonyOS)北向开发知识点记录~鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~鸿蒙应用开发与鸿蒙系统开发哪个更有前景?嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~对于大前端开发来说,转鸿蒙开发究竟是福还是祸?鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?记录一场鸿蒙开发岗位面试经历~持续更新中……Flutter中有些功能使用原生组件包装会更简
2024Web前端人事面试题总结精选_前端面试项目相关提问
2401_86638424
面试职场和发展
api然后我们前端直接调用,当然如果后台还没写好就先自己造假数据来完成。平常都是用webpack来构建项目等等。2、你觉得你个性上最大的优点是什么?回答提示:沉着冷静、条理清楚、立场坚定、顽强向上、乐于助人和关心他人、适应能力和幽默感、乐观和友爱。3、说你最大的缺点?回答提示:这个问题企业问的概率很大,通常不希望听到直接回答的缺点是什么等,如果求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工作效率
2025年前端面试题汇总
涔溪
前端
JavaScript核心异步编程Promise、async/await的工作原理及应用场景。如何处理并发请求,使用Promise.all()或Promise.race()等方法。解释事件循环机制,理解微任务(microtask)与宏任务(macrotask)的区别。原型链深入理解JavaScript中的原型继承模型。举例说明如何通过修改原型对象影响所有实例。闭包定义闭包及其作用,如实现私有变量和函
AI 在生活中的渗透与技术解析
程序员WANG
工具深度学习机器学习语音识别自然语言处理语言模型
引言在当今数字化时代,人工智能(AI)已不再是科幻小说中的概念,而是实实在在地渗透到人们生活的方方面面。从清晨醒来使用的智能语音助手,到夜晚入睡时智能家居设备营造的舒适环境,AI技术正悄然改变着我们的生活方式、工作模式以及社会互动。本文旨在深入探讨AI在生活中的具体应用场景,并解析支撑这些应用的关键技术。AI在日常生活中的应用场景智能语音助手智能语音助手如Siri、小爱同学和小度等,已成为许多人日
动态规划(Dynamic Programming,简称 DP)
佛渡红尘
计算机应用与算法动态规划代理模式算法
动态规划(DynamicProgramming,简称DP)是一种在数学、计算机科学和经济学中使用的,通过把原问题分解为相对简单的子问题的方式来求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。通过保存和重用已经解决的子问题的解,来避免重复计算,从而大大提高了算法的效率。动态规划的基本思想是将一个复杂的问题分解为若干个相对简单的子问题,通过求解子问题,并将这些子问题的解保存起
计算1+2+3+4+5+6...+100用python_100个Python练手小程序,学习python的很好的资料
weixin_39879881
原标题:100个Python练手小程序,学习python的很好的资料100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。本文附带基础视频教程:私信回复【基础】就可以获取的【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、
2024微短剧行业生态洞察报告汇总PDF洞察(附原数据表)
数据挖掘深度学习
原文链接:https://tecdat.cn/?p=39072本报告合集洞察从多个维度全面解读微短剧行业。在行业发展层面,市场规模与用户规模双增长,创造大量高收入就业岗位并带动产业链升级。内容创作上,精品化、品牌化趋势凸显,题材走向多元以满足不同受众需求。商业生态中,多种商业模式并存,端原生微短剧崭露头角,品牌营销与电商布局拓展盈利空间。行业价值体现于AI赋能、大小屏融合、助力地方经济与信息传播等
动态规划,蒙特卡洛,TD,Qlearing,Sars,DQN,REINFORCE算法对比
青椒大仙KI11
动态规划算法机器学习深度学习
动态规划(DynamicProgramming,DP)通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划的步骤识别子问题:定义问题的递归解法,识别状态和选择。确定DP数组:确定存储子问题解的数据结构,通常是数组或矩阵。确定状态转移方程:找出状态之间的关系,即状态转移方程。边界条件:确定DP数组的初始值或边界条件。填表:按照顺序填入DP表,通常是从最小的子问题开始。构造最优解:根据
C++爬楼梯——dfs、递归、动态规划、递推
*TQK*
编程语言知识点算法练习数据结构c++算法
什么是动态规划:给定一个问题,我们把他拆成一个个子问题,直到子问题可以直接解决。然后把子问题的答案保存起来,以减少重复计算。再根据子问题的答案反推,得出原问题解的一种方法递归的过程:"递"的过程是分解子问题的过程;(dfs是第归的一种)“归”的过程是产生答案的过程。“递”的过程是自顶向下。“归”的过程是自底向上,“底”代表的是已知最小子问题的答案递归适用于以下情况:1.问题具有递归结构:问题可以自
什么样的问题适合用递归
*TQK*
编程语言知识点算法数据结构
递归是一种通过函数调用自身来解决问题的方法。递归适用于那些可以被分解为相似子问题的问题,即原问题可以通过解决一个或多个更小规模的同类问题来解决。递归通常需要满足以下两个条件:递归基(BaseCase):问题的最简单形式,可以直接求解,不需要进一步递归。递归基是递归的终止条件,防止无限递归。递归步骤(RecursiveStep):将原问题分解为更小规模的子问题,并通过递归调用自身来解决这些子问题。递
如何提升原力值-小白专享 快速实现赚钱小目标
肉三
道爷我悟了程序员创富业界资讯经验分享
CSDN原力值提升秘籍:全面攻略与实战指南在CSDN这个充满技术活力的社区,原力值是衡量用户活跃度和影响力的重要指标。高原力值不仅代表着你在社区中的威望,还能为你带来更多的机会和资源。那么,如何才能有效提升原力值呢?今天,就为大家详细揭秘。一、内容创作:夯实基础,打造优质输出(一)发布高质量原创文章高质量原创文章是提升原力值的核心要素。它要求内容不仅要准确无误,更要深入、全面且具有独特的见解。例如
鸿蒙 Flutter 实战:14-现有 Flutter 项目支持鸿蒙 II
星释
鸿蒙Flutter实战harmonyosflutter华为
引言在之前的文章鸿蒙Flutter实战:09-现有Flutter项目支持鸿蒙中,介绍了如何改造项目,适配鸿蒙平台。文中讲述了整体的理念和思路,本文更进一步,结合可实操的项目代码,详细说明如何实施。通过模块化、鸿蒙壳工程,结合FVM管理多版本FlutterSDK,最终,保持原Flutter代码纯净,最小化修改,完成了鸿蒙化的适配示例。本项目代码地址:https://gitee.com/zacks/f
HarmonyOS 开发实践——基于设置应用的应用权限、通知设置跳转
六号嘉宾
鸿蒙开发移动开发HarmonyOSharmonyos架构ui鸿蒙鸿蒙系统移动开发鸿蒙开发
往期学习笔录:鸿蒙(HarmonyOS)北向开发知识点记录~鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~鸿蒙应用开发与鸿蒙系统开发哪个更有前景?嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~对于大前端开发来说,转鸿蒙开发究竟是福还是祸?鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?记录一场鸿蒙开发岗位面试经历~持续更新中……场景描述引导用户跳转到系统设置页进行权限,通知
OpenCV: 深入理解OpenCV中CV_WRAP_AS宏及其作用
湫兮之风
opencvopencv人工智能计算机视觉
在OpenCV中,CV_WRAP_AS是一个宏,主要用于为C++函数或运算符定义别名,以便在生成语言绑定时使用。这对于在不同的编程语言(如Python)中使用OpenCV库时提供更友好的接口非常有用。尽管它在C++代码中不会改变函数的行为,但它在OpenCV的语言绑定系统中起到了重要作用,特别是当OpenCV要为多个语言(如Python)提供接口时。1.CV_WRAP_AS宏的基本用途CV_WRA
HTML期末学生大作业-最新QQ音乐、网易云音乐、酷狗音乐、虾米音乐、咪咕音乐网站html+css+javascript
2401_89790869
html课程设计css
href=“https://y.qq.com/n/ryqq/playlist/7772849553”>好评999+英文歌!轻松解压100%播放量:2.8亿扎心情歌丨爱到最后终是空欢喜播放量:510.4万如果词不达意就把爱藏心里播放量:1645.7万深情片段:深夜我还是会想起你播放量:2663.8万href=“https://y.qq.com/n/ryqq/playlist/7537828
阿里云Web应用托管服务,低成本建个人博客(wordpress和wiki.js)
java
⭐孟应杰的网站:www.mengyingjie.com⭐空间回廊题目描述:有一款叫做空间回廊的游戏,游戏中有着n个房间依次相连,如图,1号房间可以走到2号房间,以此类推,n号房间可以走到1号房间。这个游戏的最终目的是为了在这些房间中留下尽可能多的烙印,在每个房间里留下烙印所花费的法力值是不相同的,已知他共有m点法力值,这些法力是不可恢复的。小明刚接触这款游戏,所以只会耿直的玩,所以他的每一个行动都
python模拟手写笔迹_原笔迹手写实现平滑和笔锋效果之:笔迹的平滑(一)
weixin_39570530
python模拟手写笔迹
之前研究过一种用于模拟真实手写笔迹签名的算法,要求能够保持原笔迹平滑,并有笔锋的效果.在网上看了一些资料,资料很多,能够达到用于正式产品中的效果的一个都没有找到.但是即使按照这篇文章讲的方法去实现手写笔迹,表现的效果也非常的不理想.而且,这篇文章还只是涉及到了笔迹平滑的问题,没有涉及到如何解决笔锋的问题经过我一段时间的研究,终于在上厕所的时候(有没有被duang了一下的感觉,哈哈~O(∩_∩)O)
沁恒CH32V208GBU6读写芯片内部FLASH:代码空间;使用OTA时候的代码空间;保存结构体到FLASH
cheng@yi
沁恒CH32V208GBU6读写芯片内部FLASH代码空间
从事嵌入式单片机的工作算是符合我个人兴趣爱好的,当面对一个新的芯片我即想把芯片尽快搞懂完成项目赚钱,也想着能够把自己遇到的坑和注意事项记录下来,即方便自己后面查阅也可以分享给大家,这是一种冲动,但是这个或许并不是原厂希望的,尽管这样有可能会牺牲一些时间也有哪天原厂让我停更的可能,但是我依旧乐于此,如果哪位道友想一起交流或者原厂同志想让我停更以及其他事项都可通过如下邮箱联系我:2478278759@
rust的指针作为函数返回值是直接传递,还是先销毁后创建?
wudixiaotie
返回值
这是我自己想到的问题,结果去知呼提问,还没等别人回答, 我自己就想到方法实验了。。
fn main() {
let mut a = 34;
println!("a's addr:{:p}", &a);
let p = &mut a;
println!("p's addr:{:p}", &a
java编程思想 -- 数据的初始化
百合不是茶
java数据的初始化
1.使用构造器确保数据初始化
/*
*在ReckInitDemo类中创建Reck的对象
*/
public class ReckInitDemo {
public static void main(String[] args) {
//创建Reck对象
new Reck();
}
}
[航天与宇宙]为什么发射和回收航天器有档期
comsci
地球的大气层中有一个时空屏蔽层,这个层次会不定时的出现,如果该时空屏蔽层出现,那么将导致外层空间进入的任何物体被摧毁,而从地面发射到太空的飞船也将被摧毁...
所以,航天发射和飞船回收都需要等待这个时空屏蔽层消失之后,再进行
&
linux下批量替换文件内容
商人shang
linux替换
1、网络上现成的资料
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`
linux sed 批量替换多个文件中的字符串
sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`
例如:替换/home下所有文件中的www.admi
网页在线天气预报
oloz
天气预报
网页在线调用天气预报
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transit
SpringMVC和Struts2比较
杨白白
springMVC
1. 入口
spring mvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。以前认为filter是servlet的一种特殊),这样就导致了二者的机制不同,这里就牵涉到servlet和filter的区别了。
参见:http://blog.csdn.net/zs15932616453/article/details/8832343
2
refuse copy, lazy girl!
小桔子
copy
妹妹坐船头啊啊啊啊!都打算一点点琢磨呢。文字编辑也写了基本功能了。。今天查资料,结果查到了人家写得完完整整的。我清楚的认识到:
1.那是我自己觉得写不出的高度
2.如果直接拿来用,很快就能解决问题
3.然后就是抄咩~~
4.肿么可以这样子,都不想写了今儿个,留着作参考吧!拒绝大抄特抄,慢慢一点点写!
apache与php整合
aichenglong
php apache web
一 apache web服务器
1 apeche web服务器的安装
1)下载Apache web服务器
2)配置域名(如果需要使用要在DNS上注册)
3)测试安装访问http://localhost/验证是否安装成功
2 apache管理
1)service.msc进行图形化管理
2)命令管理,配
Maven常用内置变量
AILIKES
maven
Built-in properties
${basedir} represents the directory containing pom.xml
${version} equivalent to ${project.version} (deprecated: ${pom.version})
Pom/Project properties
Al
java的类和对象
百合不是茶
JAVA面向对象 类 对象
java中的类:
java是面向对象的语言,解决问题的核心就是将问题看成是一个类,使用类来解决
java使用 class 类名 来创建类 ,在Java中类名要求和构造方法,Java的文件名是一样的
创建一个A类:
class A{
}
java中的类:将某两个事物有联系的属性包装在一个类中,再通
JS控制页面输入框为只读
bijian1013
JavaScript
在WEB应用开发当中,增、删除、改、查功能必不可少,为了减少以后维护的工作量,我们一般都只做一份页面,通过传入的参数控制其是新增、修改或者查看。而修改时需将待修改的信息从后台取到并显示出来,实际上就是查看的过程,唯一的区别是修改时,页面上所有的信息能修改,而查看页面上的信息不能修改。因此完全可以将其合并,但通过前端JS将查看页面的所有信息控制为只读,在信息量非常大时,就比较麻烦。
AngularJS与服务器交互
bijian1013
JavaScriptAngularJS$http
对于AJAX应用(使用XMLHttpRequests)来说,向服务器发起请求的传统方式是:获取一个XMLHttpRequest对象的引用、发起请求、读取响应、检查状态码,最后处理服务端的响应。整个过程示例如下:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange
[Maven学习笔记八]Maven常用插件应用
bit1129
maven
常用插件及其用法位于:http://maven.apache.org/plugins/
1. Jetty server plugin
2. Dependency copy plugin
3. Surefire Test plugin
4. Uber jar plugin
1. Jetty Pl
【Hive六】Hive用户自定义函数(UDF)
bit1129
自定义函数
1. 什么是Hive UDF
Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括:
文件格式:Text File,Sequence File
内存中的数据格式: Java Integer/String, Hadoop IntWritable/Text
用户提供的 map/reduce 脚本:不管什么
杀掉nginx进程后丢失nginx.pid,如何重新启动nginx
ronin47
nginx 重启 pid丢失
nginx进程被意外关闭,使用nginx -s reload重启时报如下错误:nginx: [error] open() “/var/run/nginx.pid” failed (2: No such file or directory)这是因为nginx进程被杀死后pid丢失了,下一次再开启nginx -s reload时无法启动解决办法:nginx -s reload 只是用来告诉运行中的ng
UI设计中我们为什么需要设计动效
brotherlamp
UIui教程ui视频ui资料ui自学
随着国际大品牌苹果和谷歌的引领,最近越来越多的国内公司开始关注动效设计了,越来越多的团队已经意识到动效在产品用户体验中的重要性了,更多的UI设计师们也开始投身动效设计领域。
但是说到底,我们到底为什么需要动效设计?或者说我们到底需要什么样的动效?做动效设计也有段时间了,于是尝试用一些案例,从产品本身出发来说说我所思考的动效设计。
一、加强体验舒适度
嗯,就是让用户更加爽更加爽的用你的产品。
Spring中JdbcDaoSupport的DataSource注入问题
bylijinnan
javaspring
参考以下两篇文章:
http://www.mkyong.com/spring/spring-jdbctemplate-jdbcdaosupport-examples/
http://stackoverflow.com/questions/4762229/spring-ldap-invoking-setter-methods-in-beans-configuration
Sprin
数据库连接池的工作原理
chicony
数据库连接池
随着信息技术的高速发展与广泛应用,数据库技术在信息技术领域中的位置越来越重要,尤其是网络应用和电子商务的迅速发展,都需要数据库技术支持动 态Web站点的运行,而传统的开发模式是:首先在主程序(如Servlet、Beans)中建立数据库连接;然后进行SQL操作,对数据库中的对象进行查 询、修改和删除等操作;最后断开数据库连接。使用这种开发模式,对
java 关键字
CrazyMizzz
java
关键字是事先定义的,有特别意义的标识符,有时又叫保留字。对于保留字,用户只能按照系统规定的方式使用,不能自行定义。
Java中的关键字按功能主要可以分为以下几类:
(1)访问修饰符
public,private,protected
p
Hive中的排序语法
daizj
排序hiveorder byDISTRIBUTE BYsort by
Hive中的排序语法 2014.06.22 ORDER BY
hive中的ORDER BY语句和关系数据库中的sql语法相似。他会对查询结果做全局排序,这意味着所有的数据会传送到一个Reduce任务上,这样会导致在大数量的情况下,花费大量时间。
与数据库中 ORDER BY 的区别在于在hive.mapred.mode = strict模式下,必须指定 limit 否则执行会报错。
单态设计模式
dcj3sjt126com
设计模式
单例模式(Singleton)用于为一个类生成一个唯一的对象。最常用的地方是数据库连接。 使用单例模式生成一个对象后,该对象可以被其它众多对象所使用。
<?phpclass Example{ // 保存类实例在此属性中 private static&
svn locked
dcj3sjt126com
Lock
post-commit hook failed (exit code 1) with output:
svn: E155004: Working copy 'D:\xx\xxx' locked
svn: E200031: sqlite: attempt to write a readonly database
svn: E200031: sqlite: attempt to write a
ARM寄存器学习
e200702084
数据结构C++cC#F#
无论是学习哪一种处理器,首先需要明确的就是这种处理器的寄存器以及工作模式。
ARM有37个寄存器,其中31个通用寄存器,6个状态寄存器。
1、不分组寄存器(R0-R7)
不分组也就是说说,在所有的处理器模式下指的都时同一物理寄存器。在异常中断造成处理器模式切换时,由于不同的处理器模式使用一个名字相同的物理寄存器,就是
常用编码资料
gengzg
编码
List<UserInfo> list=GetUserS.GetUserList(11);
String json=JSON.toJSONString(list);
HashMap<Object,Object> hs=new HashMap<Object, Object>();
for(int i=0;i<10;i++)
{
进程 vs. 线程
hongtoushizi
线程linux进程
我们介绍了多进程和多线程,这是实现多任务最常用的两种方式。现在,我们来讨论一下这两种方式的优缺点。
首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker。
如果用多进程实现Master-Worker,主进程就是Master,其他进程就是Worker。
如果用多线程实现
Linux定时Job:crontab -e 与 /etc/crontab 的区别
Josh_Persistence
linuxcrontab
一、linux中的crotab中的指定的时间只有5个部分:* * * * *
分别表示:分钟,小时,日,月,星期,具体说来:
第一段 代表分钟 0—59
第二段 代表小时 0—23
第三段 代表日期 1—31
第四段 代表月份 1—12
第五段 代表星期几,0代表星期日 0—6
如:
*/1 * * * * 每分钟执行一次。
*
KMP算法详解
hm4123660
数据结构C++算法字符串KMP
字符串模式匹配我们相信大家都有遇过,然而我们也习惯用简单匹配法(即Brute-Force算法),其基本思路就是一个个逐一对比下去,这也是我们大家熟知的方法,然而这种算法的效率并不高,但利于理解。
假设主串s="ababcabcacbab",模式串为t="
枚举类型的单例模式
zhb8015
单例模式
E.编写一个包含单个元素的枚举类型[极推荐]。代码如下:
public enum MaYun {himself; //定义一个枚举的元素,就代表MaYun的一个实例private String anotherField;MaYun() {//MaYun诞生要做的事情//这个方法也可以去掉。将构造时候需要做的事情放在instance赋值的时候:/** himself = MaYun() {*
Kafka+Storm+HDFS
ssydxa219
storm
cd /myhome/usr/stormbin/storm nimbus &bin/storm supervisor &bin/storm ui &Kafka+Storm+HDFS整合实践kafka_2.9.2-0.8.1.1.tgzapache-storm-0.9.2-incubating.tar.gzKafka安装配置我们使用3台机器搭建Kafk
Java获取本地服务器的IP
中华好儿孙
javaWeb获取服务器ip地址
System.out.println("getRequestURL:"+request.getRequestURL());
System.out.println("getLocalAddr:"+request.getLocalAddr());
System.out.println("getLocalPort:&quo