- linux-设置每次ssh登录服务器的时候提醒多久需要修改密码
xiaozhidepikaqiu
服务器linuxssh
在Linux系统中,你可以通过设置motd(MessageoftheDay)或sshd配置来在用户通过SSH登录时提醒他们密码即将过期。以下是具体步骤:方法1:使用motd文件motd文件在用户登录时显示,你可以通过脚本动态生成内容,提醒用户密码过期时间。编辑/etc/motd文件:你可以创建一个脚本来动态生成motd内容。首先,创建一个脚本文件,例如/etc/update-motd.d/99-p
- JavaEmail的使用
静独善水
python开发语言
邮箱发送JavaEmail的使用JavaMailSenderImpl是Spring官方提供的集成邮件服务的接口和实现类,以简单高效的设计著称,目前是Java后端发送邮件和集成邮件服务的主流工具。发送邮件:JavaMailSender.send(带发送的邮件)简单邮件:SimpleMailMessage类附件邮件:借助MimeMessageHelper发送MimeMessageSpringBoot:
- API返回的数据结构有哪些字段?
API小爬虫
数据结构windows爬虫
API返回的数据结构通常是一个JSON对象,其中包含了多个字段,这些字段提供了商品的详细信息。以下是一个常见的商品详情API返回值的字段说明,这些字段涵盖了商品的基本信息、价格信息、库存信息、用户评价等关键数据。商品详情API返回值字段说明示例JSON数据JSON{"code":"0","errorMessage":"success","item_detail_response":{"items"
- 微信小程序开发常用语法和api
thinkQuadratic
微信小程序小程序
vue写习惯了,小程序太久不做,一些语法和api都忘记。本文总结下小程序常用的语法和api语法绑定事件和传参绑定事件还有很多,触摸反馈事件,表单事件,媒体事件后续更新细说。绑定事件text(e){console.log('使用bindtap绑定事件触发',e.currentTarget.dataset.info);}遍历{{item.id}}---{{item.message}}demolist:
- el-form 里的 el-form-item 必填/正则检验
小何…
vue.jsjavascript前端
data数据:data(){return{rules:{userName:[{required:true,message:"请输入名称",trigger:"blur"}],userTel:[{required:true,message:"请输入手机号",trigger:"blur"},{pattern:/^1[3,4,5,6,7,8,9][0-9]{9}$/,message:"请输入正确号码",t
- Kafka 中的核心概念
张小虎在学习
#Kafkakafka
文章目录一、MQ的作用二、Kafka的核心概念1.Kafka概述2.Kafka中的核心概念三、zookeeper在kafka中的作用1.Controller选举机制2.PartitionLeader选举机制3.Partition故障恢复机制一、MQ的作用MQ(MessageQueue),Message是跨进程传递的信息,Queue是FIFO(先进先出)的数据结构。所有的MQ类型产品都有以下三个主要
- 关于无法在uniapp项目开发中使用axios的解决方案
wzyEMT
uni-app前端vue
问题描述首先需要指出的是uniapp官方提供了uni.request方法来进行网络请求访问(还是建议使用这个),不过如果像往常项目编写中继续使用axios的话就会出现以下错误:{"message":"Thereisnosuitableadaptertodispatchtherequestsince:\n-adapterxhrisnotsupportedbytheenvironment\n-adap
- uniApp学习过程碰到问题集合
一个不太专业的码农
uni-appuni-app学习
真机模式运行uniApp,利用axios数据请求,会报错,一步一坑,整理整理、防止忘记一、axios在真机App内使用报错1、错误一:Thereisnosuitableadaptertodispatchtherequest{"message":"Thereisnosuitableadaptertodispatchtherequestsince:\n-adapterxhrisnotsupported
- jmeter踩坑记录HttpHostConnectException、Connection timed out: connect如何解决?
测试学习之旅
解决问题记录jmeterjmeter
完整报错:Responsecode:NonHTTPresponsecode:org.apache.http.conn.HttpHostConnectExceptionResponsemessage:NonHTTPresponsemessage:Connecttowww.geoscience-data.com:443[www.geoscience-data.com/123.139.32.222]fa
- 多线程异步与消息队列(MQ):异步架构的对比与应用
专业WP网站开发-Joyous
学习Java架构架构
随着互联网应用不断增大其规模与复杂性,如何提高系统的响应速度和处理能力成为关键问题。为了解决这些问题,开发者们纷纷采用多线程异步编程和消息队列(MessageQueue,MQ)等技术手段来构建高效、稳定的系统。在本文中,我们将详细讨论多线程异步与**消息队列(MQ)**的区别、应用场景、各自的优势与挑战,并帮助开发人员更好地理解在不同情况下如何选择合适的解决方案。一、什么是多线程异步与消息队列(M
- 程序最小化到系统托盘
rainer7
shelliestruct
使用Shell_NotifyIcon(DWORDdwMessage,PNOTIFYICONDATAlpdata)函数。在此之前需要建立PNOTIFYICONDATA结构体。MSDN中PNOTIFYICONDATA结构体如下:typedefstruct_NOTIFYICONDATA{DWORDcbSize;HWNDhWnd;UINTuID;UINTuFlags;UINTuCallbackMessag
- PreTranslateMessage()函数捕获键盘按键消息
bookish_2010_prj
VC/MFCmenumfc
01.PreTranslateMessage函数,常用于屏蔽MFC对话框中默认的Enter和ESC消息函数原型:BOOLPreTranslateMessage(MSG*pMsg)用法举例:BOOLCTestDlg::PreTranslateMessage(MSG*pMsg){if(pMsg->message==WM_KEYDOWN){if(pMsg->wParam==VK_ESCAPE){retu
- asp python 定时任务,django-crontab实现服务端的定时任务的示例代码
某一个吃货
asppython定时任务
安装pipinstalldjango-crontab在Django项目中使用settings.pyINSTALLED_APPS=('django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.
- 消息中间件——kafka
linkingfei
#MQ
1、简介Kakfa是一个分布式的基于发布/订阅模式的消息队列(messagequeue),主要应用于大数据的实时处理领域2、消息队列的模式点对点模式消息生产者发送消息到消息队列中,然后消息消费者从队列中取出并且消费消息,消息被消费后,队列中不在存储。所以消息消费者不可能消费到已经被消费的消息;队列支持存在多个消费者,但是对于一个消息而言,只会有一个消费者可以消费;如果想发给多个消费者,则需要多次发
- selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘ executable needs to be in PAT
吴lwk
selenium测试工具
好久没用selenium,最近突然用,就报了这个错。我正纳闷不是说114.0.5735.90版本之后的谷歌都不需要装chromedriver了吗?怎么我120多的版本还要我搞环境变量。找来找去,最后官网给出的办法是更新selenium即可pipinstall--upgradeselenium顺便附上114.0.5735.90之前的chromedriver驱动chromedriver.storage
- selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable报错
Annie20180423
列表selenium
报错D:\ProgramData\Anaconda3\python.exeC:/Users/Administrator/PycharmProjects/untitled/packageone/four.pyTraceback(mostrecentcalllast):File“C:/Users/Administrator/PycharmProjects/untitled/packageone/fou
- 支持selenium的chrome driver更新到135.0.7049.84
代码的乐趣
seleniumchromepython
最近chrome释放新版本:135.0.7049.84如果运行selenium自动化测试出现以下问题,是需要升级chromedriver才可以解决的。selenium.common.exceptions.SessionNotCreatedException:Message:sessionnotcreated:ThisversionofChromeDriveronlysupportsChromeve
- 【LangChain入门 3 Prompts组件】聊天提示词模板 ChatPromptTemplate
hjxu2016
个人笔记LangChainlangchain人工智能
文章目录一、聊天信息提示词模板1.1使用关键字1.2使用SystemMessage,HumanMessage,AIMessage来定义消息1.3使用MessagesPlaceholder在特定未知添加消息列表二、关键类介绍2.1ChatPromptTemplate类2.1.1from_messages()2.1.2format_messages()2.1.3format_prompt()2.2Sy
- 如何让python调用C和C++代码
ktb2007
Pythonpythonc++cdllextension扩展
安装python后,会有一个chm格式的python手册。要搞明白如何让python调用C/C++代码(也就是写python的extension),你需要征服手册中的>厚厚的一章。在昨天花了一个小时看地头晕脑胀,仍然不知道如何写python的extension后,查阅了一些其他书籍,最终在>书中找到了教程。下面记录一下如何在visualstudio2005中,写一段C/C++的MessageBox
- spring断言和java断言区别_Spring-----Assert断言工具类
weixin_39743414
Spring的断言工具类Assert的基本使用org.springframework.util.Assert;Assert工具类,通常用于数据合法性检查.平时做判断通常都是这样写:if(message==null||message....java编程中的断言工具类(org.springframework.util.Assert)转自:https://blo
- 聊聊Spring AI的Prompt
人工智能
序本文主要研究一下SpringAI的PromptPromptorg/springframework/ai/chat/prompt/Prompt.javapublicclassPromptimplementsModelRequest>{privatefinalListmessages;privateChatOptionschatOptions;publicPrompt(Stringcontents)
- mysql建表一对多--多对多之间的外键关联
凌辰揽月
mysql数据库java开发语言
每一个表都要有一个主键好的!我用简单易懂的方式解释这两个概念:每个用户都有很多消息每条消息只被一个人单独占有1.外键关联(ForeignKey)——父子关系(一对多)•是什么:一个表中的字段(外键)指向另一个表的主键,类似于“身份证号”引用。•目的:建立两个表之间的父子关系(一对多),确保数据的一致性。例子:消息表(messages)和用户表(users)•用户表(父表):CREATETABLEu
- 6.3es新特性web worker
chxii
go语言#前端前端javascriptecmascript
WebWorker是HTML5提供的多线程技术,允许在浏览器后台创建独立线程执行JavaScript代码,解决主线程因耗时任务导致的界面卡顿问题。核心特性线程隔离:Worker线程无法直接操作DOM或访问window对象通信机制:通过postMessage和onmessage与主线程异步通信生命周期:主线程可主动终止Worker,Worker也可自行关闭Worker脚本必须与页面同源,或通过COR
- Bazel5.0.0源码编译报错#error upb requires C99 or C++11 or MSVC >= 2015
1lI
bazelc++
红帽源码安装Bazel时报错:Use--sandbox_debugtoseeverbosemessagesfromthesandboxInfileincludedfromexternal/upb/upb/upb.h:42:0,fromexternal/upb/upb/msg.h:41,fromexternal/upb/upb/msg_internal.h:15,fromexternal/com_g
- vue3循环表单【以el-form组件为例】,如何校验所有表单,所有表单校验通过后提交
莫鸣明
vuevue.js前端
1.循环时,在组件标签上使用ref绑定组件实例3.如何校验所有表单都通过后方可提交?利用promise.all()判断代码如下:提交import{ref,reactive}from'vue'import{ElMessage}from'element-plus'constformList=reactive([{name:'',age:'',email:''},{name:'',age:'',emai
- android程序检测当前有无可用网络
zkcharge
android
如果没有网络可用就退出程序if(isConnect(this)==false){newAlertDialog.Builder(this).setTitle("网络错误").setMessage("网络连接失败,请确认网络连接").setPositiveButton("确定",newDialogInterface.OnClickListener(){@OverridepublicvoidonClic
- 探秘 MQTT 协议:物联网的 “隐形桥梁”
明达技术
物联网
在当今数字化时代,物联网技术正以前所未有的速度改变着我们的生活。从智能家居到工业自动化,从远程医疗到智能交通,无数设备相互连接、交换信息,构建起一个庞大而复杂的智能世界。而在这背后,有一个关键的“隐形桥梁”起着至关重要的作用,它就是MQTT协议。MQTT,即消息队列遥测传输(MessageQueuingTelemetryTransport),诞生于1999年,由IBM公司的安迪・斯坦福-克拉克及C
- ollama导入自己微调后的模型胡言乱语
fc&&fl
大模型实战应用llama
1.ollama导入自己微调后的模型胡言乱语原因:Modelfile的模板格式不对,对的如下所示##格式0FROMtinyllama-my-model.gguf###SetthesystemmessageSYSTEM"""Youareasuperhelpfulhelper."""PARAMETERstopPARAMETERstop#格式0的运行方式:ollamarunmy-model"\nQ:\n
- SpringBoot集成Mqtt服务实现消费发布和接收消费
小诺大人
SpringBoot集成篇springbootspringbootspringcloudspring
该项目介绍了docker环境下如何安装mqtt和springboot集成mqtt服务前述MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,设计用于在资源受限的设备和低带宽、不可靠的网络连接中高效地传输数据。主要用于物联网设备传输,设备之间可以高效地交换数据环境安装docker安装mqtt添加配置文件mkdir-p/data/docker/mos
- Android蓝牙协议栈fluoride(三) - 系统管理
小小鸟飞呀飞
android蓝牙协议栈fluorideandroidandroid蓝牙协议栈btstackfluoridebluetoothandroidbt
关键线程在整个协议栈中一共分三个主要线程:bt_jni_workqueue、bt_workqueue/btumessageloop、hci_thread。从名称可以看出它们分别处理着各层的事务:bt_jni_workqueue:处理btinterface层的事务bt_workqueue/btumessageloop:处理btapplication/profile、bthost的事务hci_thre
- C/C++Win32编程基础详解视频下载
择善Zach
编程C++Win32
课题视频:C/C++Win32编程基础详解
视频知识:win32窗口的创建
windows事件机制
主讲:择善Uncle老师
学习交流群:386620625
验证码:625
--
- Guava Cache使用笔记
bylijinnan
javaguavacache
1.Guava Cache的get/getIfPresent方法当参数为null时会抛空指针异常
我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。
实际上Guava整体设计思想就是拒绝null的,很多地方都会执行com.google.common.base.Preconditions.checkNotNull的检查。
2.Guava
- 解决ora-01652无法通过128(在temp表空间中)
0624chenhong
oracle
解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程
一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段。这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。
分析过程:
既然是temp表空间有问题,那当
- Struct在jsp标签
不懂事的小屁孩
struct
非UI标签介绍:
控制类标签:
1:程序流程控制标签 if elseif else
<s:if test="isUsed">
<span class="label label-success">True</span>
</
- 按对象属性排序
换个号韩国红果果
JavaScript对象排序
利用JavaScript进行对象排序,根据用户的年龄排序展示
<script>
var bob={
name;bob,
age:30
}
var peter={
name;peter,
age:30
}
var amy={
name;amy,
age:24
}
var mike={
name;mike,
age:29
}
var john={
- 大数据分析让个性化的客户体验不再遥远
蓝儿唯美
数据分析
顾客通过多种渠道制造大量数据,企业则热衷于利用这些信息来实现更为个性化的体验。
分析公司Gartner表示,高级分析会成为客户服务的关键,但是大数据分析的采用目前仅局限于不到一成的企业。 挑战在于企业还在努力适应结构化数据,疲于根据自身的客户关系管理(CRM)系统部署有效的分析框架,以及集成不同的内外部信息源。
然而,面对顾客通过数字技术参与而产生的快速变化的信息,企业需要及时作出反应。要想实
- java笔记4
a-john
java
操作符
1,使用java操作符
操作符接受一个或多个参数,并生成一个新值。参数的形式与普通的方法调用不用,但是效果是相同的。加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。
操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的
- 从裸机编程到嵌入式Linux编程思想的转变------分而治之:驱动和应用程序
aijuans
嵌入式学习
笔者学习嵌入式Linux也有一段时间了,很奇怪的是很多书讲驱动编程方面的知识,也有很多书将ARM9方面的知识,但是从以前51形式的(对寄存器直接操作,初始化芯片的功能模块)编程方法,和思维模式,变换为基于Linux操作系统编程,讲这个思想转变的书几乎没有,让初学者走了很多弯路,撞了很多难墙。
笔者因此写上自己的学习心得,希望能给和我一样转变
- 在springmvc中解决FastJson循环引用的问题
asialee
循环引用fastjson
我们先来看一个例子:
package com.elong.bms;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import co
- ArrayAdapter和SimpleAdapter技术总结
百合不是茶
androidSimpleAdapterArrayAdapter高级组件基础
ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果
ArrayAdapter;的数据可以是数组或者是队列
// 获得下拉框对象
AutoCompleteTextView textview = (AutoCompleteTextView) this
- 九封信
bijian1013
人生励志
有时候,莫名的心情不好,不想和任何人说话,只想一个人静静的发呆。有时候,想一个人躲起来脆弱,不愿别人看到自己的伤口。有时候,走过熟悉的街角,看到熟悉的背影,突然想起一个人的脸。有时候,发现自己一夜之间就长大了。 2014,写给人
- Linux下安装MySQL Web 管理工具phpMyAdmin
sunjing
PHPInstallphpMyAdmin
PHP http://php.net/
phpMyAdmin http://www.phpmyadmin.net
Error compiling PHP on CentOS x64
一、安装Apache
请参阅http://billben.iteye.com/admin/blogs/1985244
二、安装依赖包
sudo yum install gd
- 分布式系统理论
bit1129
分布式
FLP
One famous theory in distributed computing, known as FLP after the authors Fischer, Lynch, and Patterson, proved that in a distributed system with asynchronous communication and process crashes,
- ssh2整合(spring+struts2+hibernate)-附源码
白糖_
eclipsespringHibernatemysql项目管理
最近抽空又整理了一套ssh2框架,主要使用的技术如下:
spring做容器,管理了三层(dao,service,actioin)的对象
struts2实现与页面交互(MVC),自己做了一个异常拦截器,能拦截Action层抛出的异常
hibernate与数据库交互
BoneCp数据库连接池,据说比其它数据库连接池快20倍,仅仅是据说
MySql数据库
项目用eclipse
- treetable bug记录
braveCS
table
// 插入子节点删除再插入时不能正常显示。修改:
//不知改后有没有错,先做个备忘
Tree.prototype.removeNode = function(node) {
// Recursively remove all descendants of +node+
this.unloadBranch(node);
// Remove
- 编程之美-电话号码对应英语单词
bylijinnan
java算法编程之美
import java.util.Arrays;
public class NumberToWord {
/**
* 编程之美 电话号码对应英语单词
* 题目:
* 手机上的拨号盘,每个数字都对应一些字母,比如2对应ABC,3对应DEF.........,8对应TUV,9对应WXYZ,
* 要求对一段数字,输出其代表的所有可能的字母组合
- jquery ajax读书笔记
chengxuyuancsdn
jQuery ajax
1、jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()
- JWFD工作流拓扑结构解析伪码描述算法
comsci
数据结构算法工作活动J#
对工作流拓扑结构解析感兴趣的朋友可以下载附件,或者下载JWFD的全部代码进行分析
/* 流程图拓扑结构解析伪码描述算法
public java.util.ArrayList DFS(String graphid, String stepid, int j)
- oracle I/O 从属进程
daizj
oracle
I/O 从属进程
I/O从属进程用于为不支持异步I/O的系统或设备模拟异步I/O.例如,磁带设备(相当慢)就不支持异步I/O.通过使用I/O 从属进程,可以让磁带机模仿通常只为磁盘驱动器提供的功能。就好像支持真正的异步I/O 一样,写设备的进程(调用者)会收集大量数据,并交由写入器写出。数据成功地写出时,写入器(此时写入器是I/O 从属进程,而不是操作系统)会通知原来的调用者,调用者则会
- 高级排序:希尔排序
dieslrae
希尔排序
public void shellSort(int[] array){
int limit = 1;
int temp;
int index;
while(limit <= array.length/3){
limit = limit * 3 + 1;
- 初二下学期难记忆单词
dcj3sjt126com
englishword
kitchen 厨房
cupboard 厨柜
salt 盐
sugar 糖
oil 油
fork 叉;餐叉
spoon 匙;调羹
chopsticks 筷子
cabbage 卷心菜;洋白菜
soup 汤
Italian 意大利的
Indian 印度的
workplace 工作场所
even 甚至;更
Italy 意大利
laugh 笑
m
- Go语言使用MySQL数据库进行增删改查
dcj3sjt126com
mysql
目前Internet上流行的网站构架方式是LAMP,其中的M即MySQL, 作为数据库,MySQL以免费、开源、使用方便为优势成为了很多Web开发的后端数据库存储引擎。MySQL驱动Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种:
http://code.google.c...o-mysql-dri
- git命令
shuizhaosi888
git
---------------设置全局用户名:
git config --global user.name "HanShuliang" //设置用户名
git config --global user.email "13241153187@163.com" //设置邮箱
---------------查看环境配置
git config --li
- qemu-kvm 网络 nat模式 (四)
haoningabc
kvmqemu
qemu-ifup-NAT
#!/bin/bash
BRIDGE=virbr0
NETWORK=192.168.122.0
GATEWAY=192.168.122.1
NETMASK=255.255.255.0
DHCPRANGE=192.168.122.2,192.168.122.254
TFTPROOT=
BOOTP=
function check_bridge()
- 不要让未来的你,讨厌现在的自己
jingjing0907
生活 奋斗 工作 梦想
故事one
23岁,他大学毕业,放弃了父母安排的稳定工作,独闯京城,在家小公司混个小职位,工作还算顺手,月薪三千,混了混,混走了一年的光阴。 24岁,有了女朋友,从二环12人的集体宿舍搬到香山民居,一间平房,二人世界,爱爱爱。偶然约三朋四友,打扑克搓麻将,日子快乐似神仙; 25岁,出了几次差,调了两次岗,薪水涨了不过百,生猛狂飙的物价让现实血淋淋,无力为心爱银儿购件大牌
- 枚举类型详解
一路欢笑一路走
enum枚举详解enumsetenumMap
枚举类型详解
一.Enum详解
1.1枚举类型的介绍
JDK1.5加入了一个全新的类型的”类”—枚举类型,为此JDK1.5引入了一个新的关键字enum,我们可以这样定义一个枚举类型。
Demo:一个最简单的枚举类
public enum ColorType {
RED
- 第11章 动画效果(上)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总
ljf_home
eclipsejsp卡死js卡死
使用Eclipse编辑jsp、js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲。将所有用过的方法罗列如下:
1、取消验证
windows–>perferences–>validation
把 除了manual 下面的全部点掉,build下只留 classpath dependency Valida
- MySQL编程中的6个重要的实用技巧
tomcat_oracle
mysql
每一行命令都是用分号(;)作为结束
对于MySQL,第一件你必须牢记的是它的每一行命令都是用分号(;)作为结束的,但当一行MySQL被插入在PHP代码中时,最好把后面的分号省略掉,例如:
mysql_query("INSERT INTO tablename(first_name,last_name)VALUES('$first_name',$last_name')");
- zoj 3820 Building Fire Stations(二分+bfs)
阿尔萨斯
Build
题目链接:zoj 3820 Building Fire Stations
题目大意:给定一棵树,选取两个建立加油站,问说所有点距离加油站距离的最大值的最小值是多少,并且任意输出一种建立加油站的方式。
解题思路:二分距离判断,判断函数的复杂度是o(n),这样的复杂度应该是o(nlogn),即使常数系数偏大,但是居然跑了4.5s,也是醉了。 判断函数里面做了3次bfs,但是每次bfs节点最多