这节课来看一下在项目中没本的配置文件,也就是这个 pvm 文件。一上来我们先来看这个配置, 他就是用来配置项目所一带的加包的,他是一个集合,里边可以写很多配置,这个标签是组织名,这个是项目名,这个是版本号,他们三个就可以唯一的确定到某一个加包 此刻法范围,也就是在什么时候使用这个家暴在这里配置。这个值的意思就是编译的时候需要用到, 但是在运行的时候可以有服务器提供,他们看到里边就有这个加包,项目里面就没有必要再添加这个依赖了,所以项目打包的时候不会把这个加包打包到项目里。这个配置还有另外几个值 来看一下,这个纸是默认的,编的时候需要用到该加包也会被打包到项目里,所以很多加包我们不需要在这里配置它,这样就可以了,只有这些特殊的才这样配。 下一个 tis 的编译测试的时候需要用到 rantam, 编译时不需要,运行时需要接着往下看,需要依赖。加班的时候我怎么知道他是哪个版本呢?可以通过这个网站搜索, 输入 severalantapi 找到这个, 就可以把这一段考过去来,接着往下看,这些是固定的,不用管他 看这个,这是我们自己项目的组织名,项目名称,答案号是不是与他一样。 pak 井打包方式,外包项目打成袜包,普通的家务项目是价包, 根据实际情况自己来写。下面这个内幕不是指我们项目最终的名称, 而是跟没问操作这个项目有关的名称,比如说给这个项目创建一个子项目,继承的时候 用的就是这个名称,当然可以改为其他的名称,但是建议还是与项目名保持一致。下面是配置一些属性,这个是配置规定项目的编码, 下面两个是指定编译项目的 gdp 版本,有几个常用的命令可以在这里操作, 项目编译后的文件和打的包都在这里,通过可令可以把它清除, 可以手动重新打包, 里面又出来了,还有一个 stto, 如果是一个普通的家务项目,就会把这个项目打包 并插入到本地仓库里,这样其他项目就可以引用这个家暴了,这个不用管他,下边就是我们项目所一带的家暴, 我们可以把打好报道项目考到他们开到下边, 改下名字, 启动他们开导就会自动解压出来 啊,签证成功再看里边 项目被检查出来并且运行了, 在他们开的运行的时候,如果我们把这个挖包删掉,那么这个文件夹也会被删掉,项目就没了,因为他们开的配置默认是自动部署的,会监测项目的变化。挖包没了,所以这个文件夹也被删了, 要么我们关掉他们开的再扇这个挖包,要么去修改他们开的他的配置,一般我们是把他们开的停了再去删掉。还有问题说一下,就是这个项目他的外保文件 创建好妹妹项目时候不是这样的,可能版本比较低,不是四点零, 那这一段代码从哪考呢?我们知道他们下边也是有这个文件的,看入他下边他默认的项目里边也有这个微博文件, 把它烤过去就行了,这节课就先到这里。
粉丝1.4万获赞4.6万


各位朋友大家好,今天我们来聊聊一个在 java 世界里,从第一天起就伴随着每一位程序员的老朋友 string 类。到了二零二五年, java 已经发展到了二十一版本, 但这个类的核心地位依然无可动摇。它就像我们编程语言里的空气和水,无处不在, 却又因其设计精妙而常常被我们忽略其深度。简单来说, s t r i n g。 在 java 里代表一个不可变的函数训练。什么意思呢? 就是你一旦创建了一个函数串对象,里面的内容就再也不能被改变了。这种不可变性是它所有特性的基石,带来了安全、高效和简洁。它不属于八大基本数据类型,而是一个真正的类。 但 java 给了它像基本类型一样直接赋值的特权,比如 string greeting 等于。你好,二零二五好! 理解了它的本质,我们一起来逛逛它身上那些琳琅满目的能力,也就是它的方法。这些方法大体可以分为几类, 创建与构造、信息获取、比较、判断、查找、解锁、操作变换以及一些非常实用的现代工具。首先,怎么诞生一个 string 呢? 除了直接写双引号,我们还可以用 new string 这个构造器。它有很多重载形式,比如传入一个字母数组叉, 可以把一堆散落的字母组装成字母串,传入一个字节簇组 byte, 并指定字母集名称 charson name。 可以 把网络传输或文件读取来的二进制数据解码成我们认识的文字。 这里要注意字母集这个参数直观重要。处理中文或特殊符号时,如果选错,就可能出现乱码。字母串诞生后,我们自然想了解它。 link 方法,返回字母的个数, 这是对象方法。 is empty 和 is blank, 这是 java 十一引入的,都能判断是否为空。 is empty 要求长度为零, 而 is blank 连纯空白字体如空格制表符也认为是空。 charit into index 是 对象方法,根据下标获取单个字体。记住,下标是从零开始的,可别越界哦。接下来是比较和判断。 equals object, an object 是 最常用的,它比较内容是否完全相同, 强烈建议用它替代,等于来比较内容。 equals ignore case, string another string 则忽略大小写。 compared to string another string 和 compared to ignore case 则用于排序比较,按字典顺序返回差值。 starts with s t r i n g prefix ends with s t r i n g suffix 用来检查开头和结尾。 contains char sequence s, 看看是否包含某个子序列。这些都是对象方法, 需要你有一个字序链来调用。当我们需要在字序串这个文本海洋里查找定位时, 有一组强大的工具, index off index, off string string。 从前往后找某个字母或子串第一次出现的位置找不到,返回负一。它们还有重载版本,可以指定起始搜索点。 from index 对 应的 last i, n, d, e, x, o, f 系列 则从后往前找。这些方法在解析路径,截取内容时非常有用,重头戏来了,操作和变幻。因为字母串不可变, 所以所有这些方法都会返回一个全新的字母串,原串丝毫不变。 sub string int begin index 或 sub string int begin index, int and index 用于截取子串。注意参数是开始下标和结束下标 不包含结束点。本身 concaten string 用来连接,但现在我们更常用加号或者 string join replace char old char char new char or replace char sequence, target char sequence replacement 进行字母或序列的替换, to lower case 和 to upper case 进行大小写转换。 trim 能去掉首尾的空白符,而 java 十一的 strip strip leading strip trail 则对空白符的定义更广泛,更推荐使用 split。 string regx 是 重量级方法,它根据给定的正则表达式,把字串分割成一个字串数组。这个正则表达式参数 rejects 功能强大,但需要学习, 比如用逗号分割就是 split 逗号反过来把多个字母串拼接起来。我们可以用类方法, string join char sequence de limiter char sequence elements。 第一个参数是连接符,后面是可变长参数,用起来非常优雅。例如 string join 两千零二十五零一零一。 java 八之后, string 也加入了函数式编程的潮流。 char 方法返回一个 i, n, t, s, t, r, e, a, m, 让你可以用流的方式处理每个字母。 java 十一的 lines 方法则直接把一个多行字幕串按行分割成一个流,处理文本文件内容简直不要太方便。还有几个非常实用的新方法, repeat int count 可以 将字幕串重复多次。 formatted object arcs 作为实利方法,相当于 string format 的 快捷方式,用来做字幕串格式化。说到类方法,除了刚才提到的 join, 最重要的就是 format string format object arg, x 和 value 系列了。 format 方法利用格式函数串和参数生成格式化后的函数串功能强大,而 v a, l, u, e, o, f 可以 把几乎任何类型整数、浮点数、对象等转换为其函数串, 表示他是一个多才多艺的静态工厂。最后,我们不能忘记字母串的内部秘密,应 turn 这个方法,他会主动将字母串放入字母串长量池。对于大量重复字母串的场景,合理使用它可以节省内存, 但一般情况下我们不需要手动调用。好了,关于 java 二十一中 string 类的核心方法,我们就先聊到这里,他就像一把设计精良的瑞士军刀, 每一个方法都为了解决特定问题而生。理解他们不仅能让你编码更高效,也能让你更深的体会到 java 这门语言在 api 设计上的深思熟虑。希望这次漫步 能让你重新认识这位最熟悉的陌生人。下次当你敲下 s t r i n g 点的那一刻,或许会有更多得心应手的感觉。感谢您的耐心观看,我们下期再见!

每个模块的启动类配置完成之后,接下来要做的就是在副工程里面添加公共的 make 依赖,这里我们到 make 的 中央仓库来查看。首先是第一个 make 口,这里选择第一个点进来 这里我们选择八点四点零,然后再点进去复制它的这个依赖, 然后放到我们的这个副工程的 plum 文件里面。第二个是 nexus 的, 然后这里你直接搜索 nexus 就 行。 nexus 这里它一共涉及到两个,这一个和这个。首先点击第一个, 这里我们随便点一个进来,这里它这个版本号需要删掉,然后是第二个, 然后是第三个依赖。 reddis 的, 这里我们选择 spring boot start data reddis 这一个,然后选择一个最新的四点零点一, 这样公共的这些依赖我们就配置完成。接着还有个网关的,这里的话我们还是到 mate 仓库来搜索 getiv, 找到 spring cola 的 star getiv 这个点进来, 这里我们不要选择太新的,这里选一个四点一点九 泰兴的版本,它有个问题,就是兼容性。最后给大家推荐几份实战手册,这几份手册和这个项目是相辅相成的关系,手册里面包含了实战实力,而项目里面告诉你这些实战实力是怎么去应用的。 然后再给大家推荐一份关于麦克斯理论知识讲的比较好的书籍,作者的话非常用心,把一些灰色难懂的知识都讲的比较清晰易懂。手册和书籍我都放到自己的橱窗了,项目的话过一段时间也会在橱窗上线。

你是小阿巴,正在家里偷偷欣赏一部很精彩的内容。嗯,真不错啊,一时兴起,你留下了一条评论,作者牛掰,结果刚发出去,你就发现评论下方竟然显示北京。 你大惊失色啊,俺被定位了,这网站在监视俺,俺要举报他!这时,程序员鱼皮突然出现在你身后,擦着鼻血说,淡定。很多平台都会显示用户 ip 归属地的,这很正常。哎,你谁呀? 我是古希腊掌管编程的神经。下面我来科普一下你的 ip 归属地是怎么被获取到的。你在上网的时候,你的电脑要跟服务器通信来获取网页和数据, 就像寄快递一样,快递员要把包裹送到你家,得知道你家的地址,这个地址就是 ip 地址,可以理解为你的网络门牌号。但平台是怎么通过 ip 地址知道俺在北京的呢? 这就涉及到互联网的组织形式了。为了方便管理和路由,全球互联网被划分为许多个巨大的网络领地。我们把每个领地叫做自治系统,简称 a s。 这些 a s 一 般由电信、联通这样的运营商或者大型互联网公司运营。每个 a s 负责管理一大批 ip 地址,并规划数据包的传输路线。运营商在拿到这些 ip 后,会根据自己的机房部署,把不同的 ip 地址段划分给不同城市的网络设备。 为了方便管理,每个 a s 都有一个全球唯一的编号,叫 a s n 自制系统编号。比如 a s 四八零八是中国联通北京省网络联通会把其中一段 ip 分 配给他们在北京的接入机房。 所以想查 ip 的 位置,关键就是找到 a s n。 有 更简单的方法,全球有很多专业的机构专门收集并汇总了这些 a s 内部 ip 段和城市的映设关系,做成了 ip 地理位置数据库, 数据库里会记录这个 ip 段属于 a s 四八零八、中国联通,且目前分配给了北京市的某个接入节点,就知道你大概所属的位置了。我们打开这个网站查一下,就能看到你家 ip 的 完整信息, 哇,一目了然啊。等等,那平台管理员岂不是能顺着网线找到俺家门牌号?俺这就把网线拔了, 别慌。通过 ip 地址定位的精确度取决于数据来源。像刚才我们用的查询工具,还有微博、抖音这些社交平台,它们都是基于 a s n 和运营商数据来定位的,通常只能定位到市级或者区级, 反正不会显示到某栋某市,对吧?那俺在新闻里看到有人说顺着网线抓人是怎么回事? 想要找到你的精确定位,可以查询运营商那边详细的分配记录,记录着哪个 ip 在 什么时间分配给了哪个用户,甚至有具体的安装地址。 但是这些数据有严格的隐私保护,只有执法部门依法调查的时候才能查询,普通人和普通平台是查不到的。所以别担心,不做亏心事不怕鬼敲门。 嗯嗯,看来在网络上也不能乱说话呀。不过还有其他精确定位的方法,比如你给 app 开了 gps 权限, app 就 能直接读取你手机里的经纬度坐标,精度可以达到十米以内。 哪怕你关了 gps, 只要你开了 wifi 或蓝牙扫描权限, app 照样能定位,它们会扫描你附近几个 wifi 的 特征 id, 然后去云端数据库一比对,发现你周围这几的 wifi 都在某栋写字楼里,就能反推出,你也在那里。还好,我的手机权限没有乱开,但是鱼皮平台为什么要显示 ip 归属地呢?会不会侵犯用户的隐私啊? 其实这个功能是有依据的。二零二二年六月,国家网信办发布了互联网用户账号信息管理规定,要求平台展示合理范围内的 ip 归属地信息传播。 而且你看,正规平台只显示大致地区,并不涉及你的具体个人身份信息,也不会暴露你是谁,住在哪里。 原来如此,但如果俺是个大明星粉丝,不就知道俺大寨在哪里了?万一人多力量大,不小心把俺逮到了怎么办?对了,俺能不能修改自己的 ip 归属地呢? 这太简单了,你只需要买一张高铁票,从北京到天津,半个小时就搞定了好吗?妙啊, 哼哼!不过,还有更简单的方式,通过代理服务器。代理服务器就像网络中转站,正常情况下,你的请求是直接发给目标网站的,但如果用了代理服务器,你的请求会先发到代理服务器,再由他转发给目标网站。 这样一来,目标网站看到的就是代理服务器的 ip, 而不是你的真实 ip。 你 恍然大悟,俺懂了。就像俺让朋友帮忙寄快递,寄件地址显示的是朋友家,而不是俺家。 来,我给你演示一下。比如,我在北京有台服务器,可以用一个叫 ngx 的 高性能外部服务器软件来配置代理。首先在服务器上安装 ngx, 然后编辑配置文件,配置一个简单的正向代理,也就是让你的请求通过代理服务器转发出去, 配置好之后重启 ngx。 接下来,当你通过这台服务器的八零八零端口访问 http 网站时,网站看到的就是这台北京服务器的 ip 了, 但是这个简易配置只能代理 http 网站,如果要代理 http, 需要更复杂的配置,或者使用专门的代理软件。不过思路是一样的,都是通过中转服务器来隐藏真实 ip。 你 兴奋的手舞足蹈,阿爸阿爸,俺也要这样做。 技术虽然不难,但你要注意合理使用技术,如果是正常的技术,学习企业应用完全没问题。很多公司都会用代理服务器来管理网络流量,但千万不要用来逃避平台规则或者做违规的事情。而且现在很多平台都有检测机制,能识别出你是不是用了代理访问, 哎,他们是怎么检测出来的。常见的方法有这几种,检查 http 请求头。代理访问时会有一些特殊的请求头信息, 检查 ip 地址库。有些服务器会维护已知的代理服务器 ip 黑名单,或者分析访问行为。比如同一个 ip 短时间内有大量不同用户的请求,就很可能是代理。 还有外部 rtc 泄露检测,浏览器在实现视频通话时会尝试建立点对点连接,这个过程中可能暴露你的真实 ip 地址。 看来想完全隐藏 ip 还有点难啊,所以最好还是合规使用网络,不做违规的事情。哦,明白了明白了,俺要在你的内容下评论,看看自己的归属地。

有些小伙伴以前做过的项目中啊,没有真正使用过 mayman, 只知道他的名声很大,用来管理驾包。那 mayman 是什么呢? maylan 用来做什么呢?威哥用一条视频给你讲明白。 mayman 翻译为专家内行。 maylan 的本质是项目管理工具, 将项目开发和管理过程抽象成一个项目对象模型,它主要有两大作用,第一,项目构建。项目构建是一个项目从编写原代码到编译、测试、运行、打包、部署、运行的过程。每晚将项目构建的过程进行标, 每个阶段使用一个命令完成。清理阶段,使用 clear 清除输出的 class 文件。编译阶段,用 compare 将 java 代码编译成 class 文件。打包阶段,用 pector 将 java 工程可以打包成假包,外部工程可以打包成袜包,一个命令完成构建,运行方便快, 非常有利于大型团队的协作开发。第二,依赖管理。什么是依赖呢?一个甲瓦项目可能需要使用到一些第三方的架包才可以运行,那我们说这个甲瓦项目依赖了这些第三方的架包。什么是依赖管理呢?就是对项目所有依赖的架包进行 规范化管理。每晚项目管理所依赖的价包不需要手动向工程添加价包,只需要在 tom xml 文件中添加价包的坐标就会自动从每晚仓库中下载价包不仅极大的节约了存储空间,让项目更加轻巧,更避免了重复文件太多而造成的混乱。 如果你想深入学习 mayven 的具体应用,可以去看威哥为大家准备的这套超详细的 mayven 全套教程,带你走进 mayven 的世界,让你快速上手 mayven 跟着蝌蚪找方法跟着威哥学家吧, nice。