- 教育微创新的意蕴
知北老师
我是1992年参加工作的,一毕业就被分配到一所全县最偏僻落后的农村学校——付窝中学,12年后被调往一所已经连续十年全县倒数第一,也是很偏僻落后的农村学校——北宋镇第三中学。三年后到了北宋镇第一中学工作,这所学校教学质量也是连续几年落后了。2014年我到了北京市育英学校,这所学校是京城名校。2016年7月,我被育英学校派往原密云区第七中学工作,这是一所城乡接合部薄弱学校。学校现名为北京市育英学校密云
- python抓包与解包_Python—网络抓包与解包(pcap、dpkt)
weixin_39691055
python抓包与解包
pcap安装[root@localhost~]#pipinstallpypcap抓包与解包#-*-coding:utf-8-*-importpcap,dpktimportre,threading,requests__black_ip=['103.224.249.123','203.66.1.212']#抓包:param1eth_name网卡名,如:eth0,eth3。param2p_type日志捕
- 美团自动配送车2024春季招聘 | 社招专场
美团技术团队
关于美团自动配送团队美团自动配送以自研L4级自动驾驶软硬件技术为核心,与美团即时零售业务结合,形成满足公开道路、校园、社区、工业园区等室外全场景下的自动配送整体解决方案。美团自动配送团队成立于2016年,团队成员来自于Waymo、Cruise、Pony.ai、泛亚等自动驾驶行业头部公司,自动驾驶技术团队博士占比高达30%,依靠视觉、激光等传感器,实时感知预测周围环境,通过高精地图定位和智能决策规划
- C语言pthread互斥锁(mutex)和可重入锁(递归锁recursive)的演示
嫦娥妹妹等等我
开发语言c语言
实验理论参考:1一旦共享资源被互斥锁锁定,则其余线程想访问共享资源必须等待,直到锁被释放2使用normal属性的互斥锁,一旦发生重入逻辑,则阻塞,成为死锁需要将属性改为recursive成为可重入的,递归的代码功能:1命令行传参1model=1演示异步未上锁之乱序演示count在数据竞态(RaceCondition)下的错误值2命令行传参2model=2演示使用互斥锁后线程的执行顺序演示count
- static静态变量的简略解释及其练习
JS-JiMao
java开发语言
1.当static修饰一个变量时,说白了,就是让该变量的值不能改变,即第二次调用我们不能改变它的值,它的值在第一次就已经确定下来了packagewww.mmm;classStudent{privateStringname;privateintage;privateStringgender;publicstaticStringteachername;publicStudent(){}publicSt
- OpenCV鼠标操作(画红色方框截取图像)
苍天饶过谁?
OpenCV学习opencv计算机外设人工智能C++
Pointsp(-1,-1);Pointep(-1,-1);Mattemp;staticvoidon_draw(intevent,intx,inty,intflags,void*user_data){Matimage=*((Mat*)user_data);if(event==EVENT_LBUTTONDOWN){sp.x=x;sp.y=y;}elseif(event==EVENT_LBUTTONU
- 并发环境下wait与sleep的区别
才艺のblog
java数据库
1、归属问题sleep是Thread类的静态方法而wait是object的成员方法2、唤醒问题执行sleep(long)和wait(long)的线程都会在等待相应毫秒后醒来wait(long)/wait()可以被notify()/notifyAll()唤醒,但sleep(long)只会等待时间结束3、锁释放问题wait方法的调用必须先获取wait对象的锁,而sleep则无此限制wait方法执行后会
- C/C++中的Static关键字
SuhyOvO
C语言C++c语言c++
Static关键字在C和C++编程中是不可或缺的一部分,它用于定义具有持久存储期的变量和函数,以及类的静态成员。虽然它的使用相对直接,但不恰当的使用可能会导致难以调试的错误和混淆。本文将探讨static关键字的概念、作用以及在C和C++中的具体应用。文章目录第一部分:深入理解Static关键字定义和基本概念在C和C++中static的基本作用第二部分:Static在C语言中的使用静态全局变量静态局
- opencv 十八 python下实现0缓存掉线重连的rtsp直播流播放器
摸鱼的机器猫
opencv实战opencvpython缓存
使用opencv打开rtsp视频流时,会因为网络问题导致VideoCapture掉线;也会因为图像的后处理阶段耗时过长导致opencv缓冲区数据堆积,从而使程序无法及时处理最新的数据。为此对cv2.VideoCapture进行封装,实现0缓存掉线重连的rtsp直播流播放器,让程序能一直处理最新的数据。代码实现fromcollectionsimportdequeimportthreadingimpo
- Netty服务器结合WebSocke协议监听和接收数据
beiback
服务器问题Java服务器运维netty
目录1.pom依赖2.配置属性3.创建netty服务器4.建立监听和响应5.创建启动器6.前端static下页面7.前端js8.注意异常问题9.创建netty服务器--使用守护线程1.pom依赖io.nettynetty-all4.1.86.Final2.配置属性application.properties#启动端口server.port=8088server.servlet.context-pa
- freertos3
地中海的小岛
java开发语言
CMSIS的作用:1.提供了接口标准,便于移植和管理。2.提供了很多第三方固件,便于业务开发。3.因为统一了接口,使底层硬件和上层应用耦合降低,更换硬件平台时只需开发人员改变底层硬件的驱动即可,上层业务应用程序无需做改动。创建任务函数:osThreadId_tosThreadNew(osThreadFunc_tfunc,void*argument,constosThreadAttr_t*attr)
- 基于 JMeter API 开发性能测试平台
咖啡加剁椒⑦
软件测试jmeter功能测试软件测试自动化测试程序人生职场和发展
背景:JMeter是一个功能强大的性能测试工具,若开发一个性能测试平台,用它作为底层执行引擎在合适不过。如要使用其API,就不得不对JMeter整个执行流程,常见的类有清楚的了解。常用的JMeter类和功能的解释:TestPlan类:代表一个测试计划,它是性能测试的顶级元素。您可以使用它来设置全局的测试属性,如测试名称、线程组、监听器等。ThreadGroup类:代表线程组,它定义了并发执行的线程
- AI推介-大语言模型LLMs论文速览(arXiv方向):2024.03.20-2024.03.25
小小帅AIGC
LLMs论文时报人工智能语言模型自然语言处理LLM大语言模型论文推送深度学习
文章目录~1.IterativeRefinementofProject-LevelCodeContextforPreciseCodeGenerationwithCompilerFeedback2.TrustAIatSemEval-2024Task8:AComprehensiveAnalysisofMulti-domainMachineGeneratedTextDetectionTechniques
- C++ primer 第十二章
红鼻子怡宝
c++primerc++开发语言
动态分配的对象的生存期与它们在哪里创建无关,只有当显式地被释放时,这些对象才会销毁。静态内存用来保存局部static对象、类static数据成员以及定义在任何函数之外的变量。栈内存用来保存定义在函数内的非static对象。堆内存用来存储动态分配的对象。静态或栈内存中的对象由编译器自动创建和销毁,而堆内存中的对象必须显式地销毁它们。1.动态内存与智能指针运算符new在动态内存中为对象分配空间并返回一
- Analysis of Negative Sampling Methods for Knowledge Graph Embedding
小蜗子
知识图谱负采样知识图谱embedding人工智能
摘要负采样是一种用于加速知识图嵌入学习和最大化嵌入模型在链接预测和实体解析等支持任务中的有效性的方法。负采样对于提高准确性、减少偏差、提高效率和改善代表性至关重要。本文仔细研究了在基准数据集Fb15k上,张量分解和平移嵌入模型的两种基本负采样技术增加每正负采样数量的后果。对于均匀抽样和伯努利抽样,值得注意的是,基于每阳性负的数量增加而显示性能变化的模式。我们的目标是确定不同的负采样参数对张量分解模
- Java学习笔记:atomic的实现原理?
曲钟人散
在多线程的场景中,我们需要保证数据安全,就会考虑同步的方案,通常会使用synchronized或者lock来处理,使用了synchronized意味着内核态的一次切换。这是一个很重的操作。有没有一种方式,可以比较便利的实现一些简单的数据同步,比如计数器等等。concurrent包下的atomic提供我们这么一种轻量级的数据同步的选择。classMyThreadimplementsRunnable{
- 【C++】学习记录--Thread线程库的使用
KK虫
c++
线程是进程的一个执行路径,是CPU调度与分配的的最小单元。创建线程需要一个可调用的函数或者函数对象作为线程的入口。C++11中可以通过函数指针/函数对象或者lambda表达式实现。基本语法#includethreadt(function_name,args...)'function_name'为程序入口点'args'为传递给函数的参数线程创建后,可以使用't.join*()'等待线程完成,或使用'
- [HITCON 2016]Leaking
尘佑不尘
ctfweb安全笔记题解
[HITCON2016]Leaking"usestrict";varrandomstring=require("randomstring");varexpress=require("express");var{VM}=require("vm2");varfs=require("fs");varapp=express();varflag=require("./config.js").flagapp.
- 设计模式:单例模式
lucky_goose
设计模式单例模式设计模式
单例模式应用场景懒汉模式饿汉模式单例模式应用场景当类的实例只能有一个时,使用单例模式懒汉模式懒汉模式指在第一次获取实例时,才对实例进行初始化//线程不安全的懒汉模式classSingleTon{private://静态成员变量,类内声明,类外初始化staticSingleTon*instance;//构造函数私有化SingleTon(){}SingleTon(constSingleTon&tmp)
- 个人网络防范
潜※者
网络安全
目录安全事件频发根源在于背后利益链条不仅仅是中国网络安全事件成国际性难题个人网络信息安全防护四招来帮忙首先,预防第一第二,健康的上网浏览习惯第三,WiFi安全性第四,规范的文件处理黑客攻击无孔不入,钓鱼网站日益频发多发,伪基站不断升级,甚至从不联网的WindowsXP都有可能感染病毒。2016年6月23日,中国五联网协会发布的《2016中国网民权益保护调查报告》显示,从2015年下半年到2016年
- CUDA——内存
UCAS_HMM
CUDAc++c语言性能优化
内存形式静态全局内存#include#include__device__floatdevData;//-GPU静态变量(所有设备代码均可见,主机代码不允许直接访问)__global__voidcheckGlobalVariable(){printf("threadIdx.x=%ddevData=%0.2f\n",threadIdx.x,devData);devData+=2.0f;}intmain
- Rust字符串深入理解
Hello.Reader
rustrust开发语言后端
一、概述Rust是一种系统级语言,进行操作系统等底层应用开发,同时又具合理的抽象处理能力。在进行Rust编程时,字符串处理是程序员经常碰到的工作。本文深入解析Rust语言中字符串的使用,包括staticstring,String与&str的区别,转换等等。二、Rust的字符串类型Rust主要提供了两种类型的字符串。一种是固定的Unicode字符串片段,称为’StringLiteral’或’str’
- Java 打印输出今年(2023年)各月的天
小王和你一起学java
java开发语言
package小王的java;publicclassW45{publicstaticvoidmain(String[]args){//打印输出今年(2023年)各月的天数inta[]={31,28,31,30,31,30,31,31,30,31,30,31};for(inti=0;i<12;i++){System.out.println((i+1)+"月有"+a[i]+"天");}}}
- 二分算法的变种----查找递增可重复数组边界
免檒
算法java数据结构
publicclasstest{//数组长度a,b,c为8,d为7;staticint[]a={3,5,8,8,8,9,9,10};staticint[]b={8,8,8,8,8,8,8,8};staticint[]c={0,0,0,0,0,0,0,0};staticint[]d={0,0,0,0,0,0,0};publicstaticvoidmain(String[]args){inttarge
- Flink 批作业 消费kafka
wending-Y
Flink入门到实践flinkkafka大数据
文章目录示例代码原理总是kafka数据源可以是有界数据源,也可以是无界数据源示例代码publicstaticvoidmain(String[]args){StreamExecutionEnvironmentenv=StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism
- JAVA线程究竟有几种状态?
KK_crazy
java线程状态数据库面试javatomcat开发语言
线程状态全套面试题已打包2024最全大厂面试题无需C币点我下载或者在网页打开线程的状态,在你*度的过程中,你会发现,答案有5种,6种,甚至还有7种的,那么究竟有几种状态?准确答案就是6种在编译器JDK1.5以后的环境下,打开Thread进入源码看看:*Athreadstate.Athreadcanbeinoneofthefollowingstates:*一个线程,有以下几种状态**{@link#N
- c++类型转换(持续更新)
gyqJulius_Caesar
C/C++程序设计c++java开发语言
1.static_caststatic_cast是C++中的一个类型转换操作符(typecastoperator),用于执行静态类型转换。静态类型转换在编译时进行,用于将一种类型的值转换为另一种类型。static_cast操作符的语法为:static_cast(expression)//实例doubletest=5.5;intoutput=static_cast(test);//i=5其中new_
- 蓝桥杯(3.17 刷真题)
MegaDataFlowers
蓝桥杯蓝桥杯职场和发展
1240.完全二叉树的权值P8681[蓝桥杯2019省AB]完全二叉树的权值ACimportjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intn=sc.nextInt();int[]res=newint[n+1];for(inti=1;iMA
- 贪心问题
m0_73165551
日志算法
1055.股票买卖II-AcWing题库importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);int[]a=newint[100010];intn=sc.nextInt();for(inti=0;i0;i--){c[i]=c[i+1]+avg-a[i]
- mysql 查询阻塞
撸其修远兮
数据库mysql
SELECTp2.`HOST`被阻塞方host,p2.`USER`被阻塞方用户,r.trx_id被阻塞方事务id,r.trx_mysql_thread_id被阻塞方线程号,TIMESTAMPDIFF(SECOND,r.trx_wait_started,CURRENT_TIMESTAMP)等待时间,r.trx_query被阻塞的查询,l.lock_table阻塞方锁住的表,m.`lock_mode`
- 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