当前位置: 首页 > news >正文

抖音自动养号脚本+抖音直播控场脚本

功能描述

一.抖音功能

1.垂直浏览
2.直播暖场
3.精准引流
4.粉丝留言
5.同城引流
6.取消关注
7.万能引流
8.精准截流
9.访客引流
10.直播间引流
11.视频分享
12.榜单引流
13.搜索引流
14.点赞回访
15.智能引流
16.关注回访

介绍下小红书数据挖掘

搜索关键词,自动搜索相关用户信息,记录并保存,对于寻找博主种草推文的用户应该是个不错的小助手

发福利===放部分源码出来

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

304

305

306

307

308

309

310

311

312

313

314

315

316

317

318

319

320

321

322

323

324

325

326

327

328

329

330

331

332

333

334

335

336

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

368

369

370

371

372

373

374

375

376

377

378

379

380

381

382

383

384

385

386

387

388

389

390

391

392

393

394

395

396

397

398

399

400

401

402

403

404

405

406

407

408

409

410

411

412

413

414

415

416

417

418

419

420

421

422

423

424

425

426

427

428

429

430

431

432

433

434

435

436

437

438

439

440

441

442

443

444

445

446

447

448

449

450

451

452

453

454

455

456

457

458

459

460

461

462

463

464

465

466

467

468

469

470

471

472

473

474

475

476

477

478

479

480

481

482

483

484

485

486

487

488

489

490

491

492

493

494

495

496

497

498

auto.waitFor();

log("-启动-垂直浏览功能");

var startTime=new Date().getTime();

var plList;//评论内容列表

var gzzbNum=0;//记录关注主播数量

var dzslNum=0;//点赞主播数量

var llzpNum=0;//浏览作品数量

var zpgjcList;//关键词

var tlsjTime=5000;//停留观看时间 默认5s

beforRun();

doNext();

endRun();

storage.put("RUN_JS_RUNING",false);//运行结束

log("-停止-垂直浏览功能");

//继续下一步

function doNext(){

    var ifInLiveRoom=checkInLive();//是否在直播间

    if(ifInLiveRoom){

        //直播间里

        zbjRun();

    }else{

        //短视频

        dspRun();

    }

}

//短视频运行

function dspRun(){

    console.warn("浏览短视频");

    console.warn("自定义评论内容:"+DY_czll_plnr);

    while(true){

        llzpNum++;

        var ifContinue=checkGjz();//检测关键字

        if(ifContinue){

            //检测有关键字

            clickGuanzhu();//短视频点赞关注

            clickZan();//短视频点赞关注

            clickPinglun();//短视频评论

            sleep(tlsjTime);//停留浏览时间3s

        }

        //判断是否停止运行脚本

        var isRun=storage.get("RUN_JS_RUNING",false);

        if(!isRun){

            return;//结束

        }

        //检测运行时间

        var endTime=new Date().getTime();

        var runAllTime=(endTime-startTime)/1000;//已经运行秒

        if(runAllTime>DY_czll_lltjsc*60){

            //到达设置时间

            return;

        }

        console.warn("屏幕宽高:"+device.width+","+device.height);

//        swipe(device.width-200, device.height-400, device.width-200100500);//下一条视频

        swipe(device.width/2, device.height/5*4, device.width/2, device.height/5200);//下一条视频

        sleep(1000);

    }

}

//直播间运行

function zbjRun(){

    console.warn("观看直播");

    while(true){

        llzpNum++;

        clickHbFd();//点击领取红包福袋

        var ifContinue=checkZbjGjz();//检测关键字

        if(ifContinue){

            //检测有关键字

            clickZbjPinglun();//直播间评论

            sleep(tlsjTime);//停留浏览时间3s

        }

        //判断是否停止运行脚本

        var isRun=storage.get("RUN_JS_RUNING",false);

        if(!isRun){

            return;//结束

        }

        //检测运行时间

        var endTime=new Date().getTime();

        var runAllTime=(endTime-startTime)/1000;//已经运行秒

        if(runAllTime>DY_czll_lltjsc*60){

            //到达设置时间

            return;

        }

        swipe(device.width-200, device.height-400, device.width-200100500);//下一条视频

        sleep(1000);

    }

}

//运行开始

function beforRun(){

    log("系统提醒:浏览时长"+DY_czll_lltjsc+"分钟");

    if(DY_czll_gbgjcsb){

        log("关闭关键词识别");

    }else{

        if(DY_czll_zpgjc!=null&&DY_czll_zpgjc!=""){

            zpgjcList=DY_czll_zpgjc.split(",");

            log("关键词数量:"+zpgjcList.length);

            for(var i=0;i<zpgjcList.length;i++){

                var gjc=zpgjcList[i];

                log("关键词"+(i+1)+":"+gjc);

            }

        }

    }

}

//运行结束

function endRun(){

    var ifInLiveRoom=checkInLive();//是否在直播间

    var endTime=new Date().getTime();

    log("时间提示:运行"+(endTime-startTime)/1000+"秒");

    if(ifInLiveRoom){

        log("观看直播间:"+llzpNum);

    }else{

        log("浏览作品:"+llzpNum);

        log("点赞作品:"+dzslNum);

        log("关注作品:"+gzzbNum);

    }

}

//校验是否在直播间页面

function checkInLive(){

    var livecommentLab=text("说点什么...").findOne(1000);

    if(livecommentLab==null){

        return false;

    }else{

        return true;

    }

}

//直播间领取红包和福袋

function clickHbFd(){

    var hbmqdLable=text("知道了").findOne(100);

    if(hbmqdLable!=null){

        hbmqdLable.click();

    }

    if(!DY_czll_lqhbfd){

        return;

    }

    sleep(5000);

    var hbfdLayout=className("android.widget.HorizontalScrollView").findOne(2000);

    if(hbfdLayout==null){

        log("系统提示:没有红包或福袋,自动跳过");

        return;

    }

    if(hbfdLayout.childCount()==0){

        log("系统提示:没有红包或福袋,自动跳过");

        return;

    }

    var hbfdFrameLayout=hbfdLayout.child(0);

    if(hbfdFrameLayout.childCount()==0){

        log("系统提示:没有红包或福袋,自动跳过");

        return;

    }

    log("系统提示:检测到红包或福袋");

    for(var i=0;i<hbfdFrameLayout.childCount();i++){

        var hbfdFrameItem=hbfdFrameLayout.child(i);

        if(hbfdFrameItem==null){

            continue;

        }

        hbfdFrameItem.click();

        sleep(2000);

        var ifFd=clickFd(hbfdFrameItem);

        if(ifFd){

            //是福袋

            continue;

        }

        clickHb();

        sleep(2000);

    }

    suijiSleep();

}

//点击的是福袋

function clickFd(hbfdFrameItem){

    var fdView=text("福袋").findOne(1000);

    if(fdView==null){

        return false;

    }

    if("2"==DY_czll_fdhbsz){

        //只领取红包

        log("系统提示:只领取红包,自动关闭福袋");

        click(device.width/2+200, device.height/2-300);

        return false;

    }

    if("android.view.View"!=fdView.className()){

        click(device.width/2+200, device.height/2-300);

        return false;

    }

    var jrfstView=textContains("加入粉丝团").findOne(1000);

    if(jrfstView!=null){

        //需要加入粉丝团

        if("2"==DY_czll_fdlqtj){

            //免费领取的 跳过

            log("系统提示:领取福袋需要加入粉丝团,自动跳过");

            click(device.width/2+200, device.height/2-300);

            return true;

        }

        var jrfstydbLabel=text("加入粉丝团(1抖币)").findOne(1000);

        if(jrfstydbLabel==null){

            log("系统提示:加入粉丝团大于1抖币,自动跳过");

            click(device.width/2+200, device.height/2-300);

            return true;

        }

        jrfstydbLabel.click();

        sleep(2000);

        var czLabel=textContains("立即充值").findOne(1000);

        if(czLabel!=null){

            log("系统提示:抖币余额不足,自动跳过");

            click(device.width/2+200, device.height/2-300);

            sleep(1000);

            click(device.width/2+200, device.height/2-300);

            return true;

        }else{

            log("系统提示:支付1抖币加入粉丝团");

        }

    }

    var qfbplView=text("去发表评论").findOne(1000);

    if(qfbplView==null){

        log("系统提示:未找到参与福袋评论按钮,自动跳过");

        click(device.width/2+200, device.height/2-300);

        return true;

    }

    console.warn("时间限制:"+DY_czll_fdsjxz);

    if("3"!=DY_czll_fdsjxz){

        //少于1分钟或少于两分钟

        var ifLessTime=false;

        var djsTitleLabel=text("倒计时").findOne(1000);

        if(djsTitleLabel!=null){

            var djsParentLayout=djsTitleLabel.parent();

            var djsLabel=djsParentLayout.child(1);

            if(djsLabel!=null){

                var djsTimeStr=djsLabel.text();

                log("系统提示:福袋开奖时间"+djsTimeStr);

                if("1"==DY_czll_fdsjxz){

                    //少于1分钟

                    if(djsTimeStr.indexOf("00:")==0){

                        ifLessTime=false;

                    }else{

                        ifLessTime=true;

                    }

                }else if("2"==DY_czll_fdsjxz){

                    //少于2分钟

                    if(djsTimeStr.indexOf("00:")==0||djsTimeStr.indexOf("01:")==0){

                        ifLessTime=false;

                    }else{

                        ifLessTime=true;

                    }

                }

            }

        }

        if(ifLessTime){

            log("系统提示:开奖时间太长,自动跳过");

            click(device.width/2+200, device.height/2-300);

            return true;

        }

    }

    console.warn("福袋概率设置:"+DY_czll_fdzjgl);

    if("5"!=DY_czll_fdzjgl){

        //中奖概率设置

        var gfdNumLabel=textContains("个福袋").findOne(1000);

        var yzyNumLabel=textContains("人已参与").findOne(1000);

        if(gfdNumLabel!=null&&yzyNumLabel!=null){

            var gfdNumStr=gfdNumLabel.text();

            var yzyNumStr=yzyNumLabel.text();

            log("系统提示:"+gfdNumStr+","+yzyNumStr);

            gfdNumStr=gfdNumStr.slice(0,gfdNumStr.indexOf("个福袋"));

            yzyNumStr=yzyNumStr.slice(0,yzyNumStr.indexOf("人已参与"));

            var gailv=parseInt(parseInt(gfdNumStr)/(parseInt(yzyNumStr)*1.00)*100);

            log("系统提示:中奖概率"+gailv+"%");

            if("1"==DY_czll_fdzjgl){

                //中奖概率大于20

                if(gailv<20){

                    log("系统提示:中奖概率低于20%,自动跳过");

                    click(device.width/2+200, device.height/2-300);

                    return true;

                }

            }else if("2"==DY_czll_fdzjgl){

                //中奖概率大于50

                if(gailv<50){

                    log("系统提示:中奖概率低于50%,自动跳过");

                    click(device.width/2+200, device.height/2-300);

                    return true;

                }

            }else if("3"==DY_czll_fdzjgl){

                //中奖概率大于80

                if(gailv<80){

                    log("系统提示:中奖概率低于80%,自动跳过");

                    click(device.width/2+200, device.height/2-300);

                    return true;

                }

            }else if("4"==DY_czll_fdzjgl){

                //中奖概率大于100

                if(gailv<100){

                    log("系统提示:中奖概率低于100%,自动跳过");

                    click(device.width/2+200, device.height/2-300);

                    return true;

                }

            }

        }

    }

    qfbplView.click();

    var huifuEditView = className("android.widget.EditText").findOne(1000);//找到输入框

    if(huifuEditView!=null){

        var msgStr=huifuEditView.text();

        var sendBtn=desc("发送").findOne();

        sendBtn.click();

        log("评论内容:"+msgStr);

        log("系统提示:已参与福袋抽奖");

        sleep(2000);

        hbfdFrameItem.click();

        var hbmqdLable=text("知道了").findOne();

        if(hbmqdLable!=null){

            suijiSleep();

            hbmqdLable.click();

        }

    }

    return true;

}

//点击的是红包

function clickHb(){

    var closeBtnArr=desc("关闭").find();

    console.warn("关闭按钮的数量:"+closeBtnArr.length);

    var closeBtn=closeBtnArr[closeBtnArr.length-1];

    if(closeBtn==null){

        return;

    }

    var closeViewGroup=closeBtn.parent();

    if("android.view.ViewGroup"!=closeViewGroup.className()){

        console.warn("不是 android.view.ViewGroup");

        console.warn("关闭按钮的位置:"+closeBtn.bounds().centerY());

        if(closeBtn.bounds().centerY()<device.height/2-500){

            //不是弹框的关闭

            return;

        }

        closeBtn.click();

        return;

    }

    if("1"==DY_czll_fdhbsz){

        //只领取福袋

        log("系统提示:只领取福袋,不点击红包");

        closeBtn.click();

        return;

    }

    console.warn("时间限制:"+DY_czll_fdsjxz);

    if("3"!=DY_czll_fdsjxz){

        //少于1分钟或少于两分钟

        var ifLessTime=false;

        var djsLabel=textContains("可抢").findOne(1000);

        if(djsLabel!=null){

            var djsTimeStr=djsLabel.text();

            log("系统提示:福袋开奖时间"+djsTimeStr);

            if("1"==DY_czll_fdsjxz){

                ifLessTime=true;

            }else if("2"==DY_czll_fdsjxz){

                //少于2分钟

                if(djsTimeStr.indexOf("1分")==0){

                    ifLessTime=false;

                }else{

                    ifLessTime=true;

                }

            }

        }

        if(ifLessTime){

            log("系统提示:开奖时间太长,自动跳过");

            closeBtn.click();

            return;

        }

    }

    var hbyqwLabel=text("红包已抢完").findOne(50);

    var hbmqdLable=text("知道了").findOne(50);

    var smlLable=text("手慢了").findOne(50);

    var ckdjsqLabel=text("查看大家手气").findOne(50);

    var hbygqLabel=text("红包已过期").findOne(50);

    while(hbyqwLabel==null&&hbmqdLable==null&&smlLable==null&&ckdjsqLabel==null&&hbygqLabel==null){

        log("系统提示:点击抢红包");

        console.warn("点击位置:"+device.width/2+","+device.height/2);

        click(device.width/2,device.height/2);

        hbyqwLabel=text("红包已抢完").findOne(50);

        hbmqdLable=text("知道了").findOne(50);

        smlLable=text("手慢了").findOne(50);

        ckdjsqLabel=text("查看大家手气").findOne(50);

        hbygqLabel=text("红包已过期").findOne(50);

    }

    suijiSleep();

    closeBtn.click();

}

//短视频关键字校验

function checkGjz(){

    var startCheckTime=new Date().getTime();

    var headImgView=findBtnType(3);

    var textRootLayout=findBtnType(4);

    if(headImgView!=null){

        var nickNameStr=headImgView.desc();

        log("视频发布者:"+nickNameStr);

    }

    var ifCheckHave=checkGjzDetail(textRootLayout);

    var endCheckTime=new Date().getTime();

    var logStr="检测耗时"+(endCheckTime-startCheckTime)/1000+"秒";

    if(ifCheckHave){

        if(!DY_czll_gbgjcsb){

            //开启检测关键词

            logStr="检测到关键字,"+logStr;

            log(logStr);

        }

        //随机停留观看时间

        tlsjTime=parseInt(Math.random()*(DY_czll_llzpsj_big-DY_czll_llzpsj_small))+DY_czll_llzpsj_small;

        tlsjTime=tlsjTime*1000;

        log("停留观看"+tlsjTime/1000+"秒");

    }else{

        logStr="跳过该视频,未检测到关键字,"+logStr;

        log(logStr);

        sleep(2000);

    }

    return ifCheckHave;

}

//短视频点赞

function clickZan(){

    if(DY_czll_pldz){

        var checkItem=findBtnType(2);

        if(checkItem!=null){

            checkItem.click();

            dzslNum++;

            log("点赞数量:"+dzslNum);

            sleep(500);

        }else{

            console.warn("未找到点赞按钮");

        }

    }

}

//直播间关键字

function checkZbjGjz(){

    var startCheckTime=new Date().getTime();

    var nickNameView=findZbjBtnType(1);

    var textRootLayout=findZbjBtnType(2);

    if(nickNameView!=null){

        var nickNameStr=nickNameView.text();

        log("直播者:"+nickNameStr);

    }

    var ifCheckHave=checkGjzDetail(textRootLayout);

    var endCheckTime=new Date().getTime();

    var logStr="检测耗时"+(endCheckTime-startCheckTime)/1000+"秒";

    if(ifCheckHave){

        if(!DY_czll_gbgjcsb){

            //开启检测关键词

            logStr="检测到关键字,"+logStr;

            log(logStr);

        }

        //随机停留观看时间

        tlsjTime=parseInt(Math.random()*(DY_czll_llzpsj_big-DY_czll_llzpsj_small))+DY_czll_llzpsj_small;

        tlsjTime=tlsjTime*1000;

        log("停留观看"+tlsjTime/1000+"秒");

    }else{

        logStr="跳过该视频,未检测到关键字,"+logStr;

        log(logStr);

        sleep(2000);

    }

    return ifCheckHave;

}

//直播间评论

function clickZbjPinglun(){

    if(DY_czll_kqnc){

        suijiSleep();

        if(1==DY_czll_ncfs){

            //自定义评论

            if(DY_czll_plnr==null||DY_czll_plnr==""){

                return;

            }

        }

        var checkItem=text("说点什么...").findOne(1000);//获取评论按钮

        if(checkItem!=null){

            var msgStr=DY_czll_plnr;

            if(1!=DY_czll_ncfs){

            }

            checkItem.parent().click();

            sleep(1000);

            var huifuEditView = className("android.widget.EditText").findOne(1000);//找到输入框

            if(huifuEditView!=null){

                huifuEditView.setText(msgStr);

                var sendBtn=desc("发送").findOne();

                sendBtn.click();

                log("评论内容:"+msgStr);

                sleep(500);

            }

        }else{

            console.warn("未找到评论按钮");

        }

  }

}

相关文章:

抖音自动养号脚本+抖音直播控场脚本

功能描述 一.抖音功能 1.垂直浏览 2.直播暖场 3.精准引流 4.粉丝留言 5.同城引流 6.取消关注 7.万能引流 8.精准截流 9.访客引流 10.直播间引流 11.视频分享 12.榜单引流 13.搜索引流 14.点赞回访 15.智能引流 16.关注回访 介绍下小红书数据挖掘 搜索关键词&…...

uvm中transaction的response和id的解读

在公司写代码的时候发现前辈有一段这样的代码&#xff1a; ....//其他transaction uvm_create(trans);........ uvm_send(trans); tmp_id trans.get_transaction_id(); get_response(rsp,tmp_id); 如果前面有其他transaction&#xff0c;这段代码里的get_response不带id的话…...

第四节(1):EXCEL中判断一个WORD文件是否被打开

《VBA信息获取与处理》教程(10178984)是我推出第六套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。这部教程给大家讲解的内容有&#xff1a;跨应用程序信息获得、随机信息的利用、电子邮件的发送、VBA互联网…...

java.util.concurrent.locks.Condition详解

Condition翻译成中文是“条件”&#xff0c;一般我们称其为条件变量&#xff0c;每一个Condition对象都通过链表保存了一个队列&#xff0c;我们称之为条件队列。 当然了&#xff0c;这里所说的Condition对象一般指的是Condition接口的实现类ConditionObject&#xff0c;比如我…...

选择适合变更管理的产品开发工具的要点和建议

什么是变更管理&#xff1f; 变更管理是指导组织改进的学科。由于可观察到的行为变化&#xff0c;它会导致永久性变化。它确保您的组织以彻底、有序和可持续的方式学习和改进。成功的改进项目需要个人和团队保持一致&#xff0c;他们有共同的愿景&#xff0c;他们知道如何定义…...

小程序 词云图 echarts-for-weixin-wordcloud

GitHub - clydee-geng/echarts-for-weixin-wordcloud: echarts词云微信小程序版 这个是适配与小程序版的词云图&#xff0c;之前有找到ucharts来代替&#xff0c;但是ucharts的词云图功能有两个缺点&#xff1a;1.无法根据值的大小显示词云图的大小&#xff1b;2.显示的顺序是…...

VScode配置Jupyter

环境 安装步骤 1、插件安装 2、更改pip加速源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 参考&#xff1a;vscode python配置pip源 ​​​​​​​ 【Python学习】Day-00 Python安装、VScode安装、pip命令、镜像源配置、虚拟环境 3、建…...

java模拟GPT流式问答

流式请求gpt并且流式推送相关前端页面 1&#xff09;java流式获取gpt答案 1、读取文件流的方式 使用post请求数据&#xff0c;由于gpt是eventsource的方式返回数据&#xff0c;所以格式是data&#xff1a;&#xff0c;需要手动替换一下值 /** org.apache.http.client.metho…...

【好玩】如何在github主页放一条贪吃蛇

前言 &#x1f34a;缘由 github放小蛇&#xff0c;就问你烧不烧 起因看到大佬github上有一条贪吃蛇扭来扭去&#xff0c;觉得好玩&#xff0c;遂给大家分享一下本狗的玩蛇历程 &#x1f95d;成果初展 贪吃蛇 &#x1f3af;主要目标 实现3大重点 1. github设置主页 2. git…...

顶顶通ASR安装配置说明

联系顶顶通申请Asrproxy授权&#xff0c;勾选asrserver模块。 下载语音识别模型 链接&#xff1a;https://pan.baidu.com/s/1IuDkDeytZOqf7tAbIb6h1Q 提取码&#xff1a;6vg6 安装asrproxy到/ddt/asrproxy,模型解压到 /ddt/asrproxy/model 对接mod_vad asrproxy.json 配置如…...

VMware和别的服务器 ,组建局域网那些事 。

利用VMware &#xff0c;实现组件局域网、有可能会受限于WiFi&#xff08;路由器&#xff09; 。 通常不会&#xff0c;除非做了网关设置 相关知识&#xff1a; 禁用局域网隔离&#xff08;LAN Isolation&#xff09;&#xff1a; 某些路由器提供了一个选项&#xff0c;允许您禁…...

自监督DINO论文笔记

论文名称&#xff1a;Emerging Properties in Self-Supervised Vision Transformers 发表时间&#xff1a;CVPR2021 作者及组织&#xff1a; Facebook AI Research GitHub&#xff1a;https://github.com/facebookresearch/dino/tree/main 问题与贡献 作者认为self-supervise…...

计算机视觉: 基于隐式BRDF自编码器的文生三维技术

论文链接: MATLABER: Material-Aware Text-to-3D via LAtent BRDF auto-EncodeR 背景 得益扩散模型和大量的text - image 成对的图片&#xff0c; 现在文生2D的模型已经比较成熟的框架和模型&#xff0c;主流的技术比如说stable diffusion 和 midjourney 以及工业领域runway 等…...

分类预测 | MATLAB实现KOA-CNN-BiLSTM开普勒算法优化卷积双向长短期记忆神经网络数据分类预测

分类预测 | MATLAB实现KOA-CNN-BiLSTM开普勒算法优化卷积双向长短期记忆神经网络数据分类预测 目录 分类预测 | MATLAB实现KOA-CNN-BiLSTM开普勒算法优化卷积双向长短期记忆神经网络数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现KOA-CNN-BiLST…...

Java队列相关面试题

ArrayBlockingQueue 1、ArrayBlockingQueue是什么&#xff1f;它与LinkedList和LinkedBlockingQueue有何区别&#xff1f; ArrayBlockingQueue是一个基于数组的有界阻塞队列&#xff0c;可以在队列的两端进行插入和删除操作。 与LinkedList不同&#xff0c;ArrayBlockingQueu…...

水库大坝除险加固安全监测系统解决方案

一、系统背景 为贯彻落实《办公厅关于切实加强水库除险加固和运行管护工作的通知》&#xff08;〔2021〕8号&#xff09;要求&#xff0c;完成“十四五”小型病险水库除险加固、雨水情测报和大坝安全监测设施建设任务&#xff0c;规范项目管理&#xff0c;消除安全隐患&#xf…...

android native C++编程实现数据库加密sqlcipher

sqlcipher是sqlite的加版本&#xff0c;分为免费版和收费版。 这里研究的是开源的免费版 https://github.com/sqlcipher/sqlcipher Android码源默认提供了sqlite的native&#xff0c;jni和java版本&#xff0c;但没有提供sqlcipher&#xff0c;开发用到需要自己添加。 sqlc…...

第五节 C++ 循环结构(算法)

文章目录 前言介绍1. for 语句1.1 语法结构1.2 语法流程的执行过程1.2.1 案例 1:循环的正序输入和倒序输入1.2.2 案例2 : 求1~n的平方数1.2.3 案例 3: 求输入a和b,求a~b区间数. 1.3 for 循环案例练习1.3.1 求最大值与最小值1.3.2 计算奇数和和偶数和1.3.3 计算平均气温与最高气…...

接口与抽象类的区别

a、抽象类不能被实例化只能被继承&#xff1b;b、包含抽象方法的一定是抽象类&#xff0c;但是抽象类不一定含有抽象方法&#xff1b;c、抽象类中的抽象方法的修饰符只能为public或者protected&#xff0c;默认为public&#xff1b;d、一个子类继承一个抽象类&#xff0c;则子类…...

短视频账号矩阵系统源码saas===独立部署

前言&#xff1a; 短视频账号矩阵是指在不同的短视频平台上&#xff0c;一个个人或企业所拥有的账号数量和分布情况。由于不同的短视频平台受众人群和内容类型等因素不同&#xff0c;因此拥有更多账号可以在更广泛的受众中传播内容&#xff0c;提高曝光度和流量。短视频账号矩阵…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

浅谈不同二分算法的查找情况

二分算法原理比较简单&#xff0c;但是实际的算法模板却有很多&#xff0c;这一切都源于二分查找问题中的复杂情况和二分算法的边界处理&#xff0c;以下是博主对一些二分算法查找的情况分析。 需要说明的是&#xff0c;以下二分算法都是基于有序序列为升序有序的情况&#xf…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...