二、Neo4j源码研究系列 - 单步调试

news2024/11/29 1:39:33

二、Neo4j源码研究系列 - 单步调试

一、背景介绍

上一篇我们已经把了neo4j的源码准备以及打包流程完成了,本篇将讲解如何对neo4j进行单步调试。对于不了解如何编译打包neo4j的读者,请阅读《一、Neo4j源码研究系列 - 源代码准备》。

大纲: 本篇内容会先介绍neo4j的代码模块,这样大家对neo4j的整体结构有一个初步的了解。后续介绍其服务的入口类,以及单步调试的方式,由于neo4j整个项目涉及的模块多且庞大,所以我们本次主要学习其bolt模块的使用内容,后续模块会慢慢介绍。

问:首先bolt是什么?

答: Bolt 是一种应用协议,通过数据库查询语言(如 Cypher)执行数据库查询。如果事先bolt是什么的东西都不知道的同学,推荐大家可以阅读下述内容,如果还是不明白,可以私信或者评论,如果确实很多还是不知道或者不清楚的,本人将写一篇关于bolt的内容帮助大家了解。

bolt介绍: https://neo4j.com/docs/bolt/current/bolt/。

二、模块说明

neo4j源码版本:4.4

目录结构说明(关键代码处于community目录下),下图中作者认为重要的或者需要特殊说明的都添加了相关介绍,如果有不清楚的或者觉得有问题的可以联系本人:

|-- community
	|-- batch-insert (用于批量插入)
	|-- bolt (neo4j自定义的客户端连接协议) 备注:本此学习使用模块
	|-- buffers
	|-- capabilities
	|-- codegen
	|-- collections (neo4j自定义的数据结构, 方便内存跟踪) 备注:neo4j很多数据结构都是自己重写的
	|-- command-line (neo4j的命令行工具)
	|-- common 
	|-- community-it (neo4j 各个模块的集成测试)   备注:neo4j的测试非常齐全
	|-- concurrent (并发工具)
	|-- configuration
	|-- consistency-check (neo4j 是具有分布式模式的,该模块用于一致性检测)  备注: neo4j主要采用主备模式
	|-- csv
	|-- cypher (neo4j自定义的查询语言) 备注:目前也是图数据库主流查询语言,至少在GQL出来之前
	|-- cypher-shell 
	|-- data-collector
	|-- dbms (数据库管理系统,每个数据库都有这个)
	|-- diagnostics
	|-- fabric (neo4j的一种新模式,采用分片存储)  备注: 如果完成,大概率解除单机瓶颈,值得关注
	|-- fulltext-index (neo4j的全文索引,自己实现的)
	|-- graph-algo (内嵌的图算法,主要是寻路类算法) 备注:neo4j完整算法模块有单独一个仓库为GDS,学习图算法可以仓库该仓库
	|-- graphdb-api (数据库的相关接口)
	|-- id-generator (neo4j id生成工具,id的相关构建信息,查看该模块)
	|-- import-tool (neo4j 导入工具)
	|-- import-util (导入工具帮助类)
	|-- index (neo4j的索引自己实现的,索引相关代码查阅该模块)
	|-- io (neo4j的io读写模块) 备注:该模块有neo4j的自定义的缓存设计“Muninn page cache",类操作系统提供的mmap。
	|-- kernel (核心模块,不用多说)
	|-- kernal-api
	|-- layout (数据库的整体文件结构)
	|-- lock
	|-- logging
	|-- lucene-index
	|-- monitoring (数据库的状态监控)
	|-- neo4j (数据库服务相关的模块) 备注:图数据库的启动入口就是在该模块
	|-- neo4j-exceptions (neo4j的自定义异常模块) 备注: neo4j的异常处理还是比较清晰的
	|-- neo4j-harness
	|-- procedure
	|-- procedure-api
	|-- procedure-compiler
	|-- push-to-cloud (将本地实例推送到neo4j的Aura) 备注:各个图数据库仓库都开始云化了
	|-- random-values
	|-- record-storage-engine (neo4j存储相关的代码,核心中的核心) 
	|-- resource
	|-- schema (neo4j的图模式设计,有点类似传统的ER图, 用于确定点和边之间的关系) 备注:neo4j是schema-free的
	|-- security (这个模块每个数据库都需要把)
	|-- servers
	|-- server-api
	|-- spatial-index (主要用于地图坐标相关的) 备注:neo4j的体系是真的庞大
	|-- ssl
	|-- storage-engine-api 
	|-- storage-engine-util
	|-- testing (neo4j 测试的工具类)
	|-- token-api
	|-- unsafe
	|-- values (neo4j各个类型值的封装) 备注:数据库存储不同值的支持,该模块也用于cyper类型值的返回和写入
	|-- wal (neo4j的写前日志)
	|-- zstd-proxy
	

上述的目录结构为neo4j的第一级目录,其子目录还未展开。从上述的结构,我们就可以看出neo4j产品的庞大和复杂,毕竟这个是一个图数据库产品。所以我们去阅读源码的时候需要分清主次关系,优先理清其整体脉络,而不是一开始就细扣各个实现细节,这样容易让我们陷入误区,并且缺少整体的观念。

三、代码调试

3.1 设置启动参数

服务启动入口类: CommunityEntryPoint

上述类所在目录: 位于neo4j模块,package org.neo4j.server 包下

服务启动执行参数
在这里插入图片描述
参数详情: -server --home-dir=D:\neo4j-community-4.4.17-SNAPSHOT --config-dir=D:/neo4j-community-4.4.17-SNAPSHOT/conf

其启动参数校验代码位于: CommunityEntryPoint 同级目录下的 NeoBootstrapper,NeoBootstrapper的start方法主要检验挂载目录和配置文件。

参数名作用备注
home-dirneo4j数据库所在的目录使用上节内容自己打包出来的安装目录
config-dirneo4j数据库配置文件所在目录,图服务器启动需要读取配置文件使用上节内容自己打包出来的安装目录下的配置文件

3.2 单步调试

在这里插入图片描述
以上为单步调试界面,至于如何单步调试,本篇就不做介绍了,做过开发的基本都会debug。

3.3 bolt方法-连接服务端

大家其实最想要知道的就是客户端连接服务器,然后执行语句,研究起调用流程,以下演示通过bolt协议连接服务端,执行cypher语句的流程。

1.配置连接服务器

在这里插入图片描述

2.输入账号密码

在这里插入图片描述
如果账号密码输入错误,服务端会出现下面的提示。
在这里插入图片描述

3.连接project

在这里插入图片描述

上述界面其实和browser使用方式是一样的,只是走的bolt协议,7687端口。

4.创建数据源(movie-graph)

执行:“ :guide movie-graph
在这里插入图片描述
左侧将会有提示框,点击运行便可以创建movies数据。下面本人也将movies的cypher语句贴出来,大家可以直接运行该语句生成movie数据。(neo4j官网提供的很多不同类型的数据集,比如社交网络、推荐系统等等数据源,大家根据自己的需要自行下载)
在这里插入图片描述
Movie-graph的cypher语句

CREATE (TheMatrix:Movie {title:'The Matrix', released:1999, tagline:'Welcome to the Real World'})
      CREATE (Keanu:Person {name:'Keanu Reeves', born:1964})
      CREATE (Carrie:Person {name:'Carrie-Anne Moss', born:1967})
      CREATE (Laurence:Person {name:'Laurence Fishburne', born:1961})
      CREATE (Hugo:Person {name:'Hugo Weaving', born:1960})
      CREATE (LillyW:Person {name:'Lilly Wachowski', born:1967})
      CREATE (LanaW:Person {name:'Lana Wachowski', born:1965})
      CREATE (JoelS:Person {name:'Joel Silver', born:1952})
      CREATE
      (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix),
      (Carrie)-[:ACTED_IN {roles:['Trinity']}]->(TheMatrix),
      (Laurence)-[:ACTED_IN {roles:['Morpheus']}]->(TheMatrix),
      (Hugo)-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrix),
      (LillyW)-[:DIRECTED]->(TheMatrix),
      (LanaW)-[:DIRECTED]->(TheMatrix),
      (JoelS)-[:PRODUCED]->(TheMatrix)

      CREATE (Emil:Person {name:"Emil Eifrem", born:1978})
      CREATE (Emil)-[:ACTED_IN {roles:["Emil"]}]->(TheMatrix)

      CREATE (TheMatrixReloaded:Movie {title:'The Matrix Reloaded', released:2003, tagline:'Free your mind'})
      CREATE
      (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixReloaded),
      (Carrie)-[:ACTED_IN {roles:['Trinity']}]->(TheMatrixReloaded),
      (Laurence)-[:ACTED_IN {roles:['Morpheus']}]->(TheMatrixReloaded),
      (Hugo)-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrixReloaded),
      (LillyW)-[:DIRECTED]->(TheMatrixReloaded),
      (LanaW)-[:DIRECTED]->(TheMatrixReloaded),
      (JoelS)-[:PRODUCED]->(TheMatrixReloaded)

      CREATE (TheMatrixRevolutions:Movie {title:'The Matrix Revolutions', released:2003, tagline:'Everything that has a beginning has an end'})
      CREATE
      (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrixRevolutions),
      (Carrie)-[:ACTED_IN {roles:['Trinity']}]->(TheMatrixRevolutions),
      (Laurence)-[:ACTED_IN {roles:['Morpheus']}]->(TheMatrixRevolutions),
      (Hugo)-[:ACTED_IN {roles:['Agent Smith']}]->(TheMatrixRevolutions),
      (LillyW)-[:DIRECTED]->(TheMatrixRevolutions),
      (LanaW)-[:DIRECTED]->(TheMatrixRevolutions),
      (JoelS)-[:PRODUCED]->(TheMatrixRevolutions)

      CREATE (TheDevilsAdvocate:Movie {title:"The Devil's Advocate", released:1997, tagline:'Evil has its winning ways'})
      CREATE (Charlize:Person {name:'Charlize Theron', born:1975})
      CREATE (Al:Person {name:'Al Pacino', born:1940})
      CREATE (Taylor:Person {name:'Taylor Hackford', born:1944})
      CREATE
      (Keanu)-[:ACTED_IN {roles:['Kevin Lomax']}]->(TheDevilsAdvocate),
      (Charlize)-[:ACTED_IN {roles:['Mary Ann Lomax']}]->(TheDevilsAdvocate),
      (Al)-[:ACTED_IN {roles:['John Milton']}]->(TheDevilsAdvocate),
      (Taylor)-[:DIRECTED]->(TheDevilsAdvocate)

      CREATE (AFewGoodMen:Movie {title:"A Few Good Men", released:1992, tagline:"In the heart of the nation's capital, in a courthouse of the U.S. government, one man will stop at nothing to keep his honor, and one will stop at nothing to find the truth."})
      CREATE (TomC:Person {name:'Tom Cruise', born:1962})
      CREATE (JackN:Person {name:'Jack Nicholson', born:1937})
      CREATE (DemiM:Person {name:'Demi Moore', born:1962})
      CREATE (KevinB:Person {name:'Kevin Bacon', born:1958})
      CREATE (KieferS:Person {name:'Kiefer Sutherland', born:1966})
      CREATE (NoahW:Person {name:'Noah Wyle', born:1971})
      CREATE (CubaG:Person {name:'Cuba Gooding Jr.', born:1968})
      CREATE (KevinP:Person {name:'Kevin Pollak', born:1957})
      CREATE (JTW:Person {name:'J.T. Walsh', born:1943})
      CREATE (JamesM:Person {name:'James Marshall', born:1967})
      CREATE (ChristopherG:Person {name:'Christopher Guest', born:1948})
      CREATE (RobR:Person {name:'Rob Reiner', born:1947})
      CREATE (AaronS:Person {name:'Aaron Sorkin', born:1961})
      CREATE
      (TomC)-[:ACTED_IN {roles:['Lt. Daniel Kaffee']}]->(AFewGoodMen),
      (JackN)-[:ACTED_IN {roles:['Col. Nathan R. Jessup']}]->(AFewGoodMen),
      (DemiM)-[:ACTED_IN {roles:['Lt. Cdr. JoAnne Galloway']}]->(AFewGoodMen),
      (KevinB)-[:ACTED_IN {roles:['Capt. Jack Ross']}]->(AFewGoodMen),
      (KieferS)-[:ACTED_IN {roles:['Lt. Jonathan Kendrick']}]->(AFewGoodMen),
      (NoahW)-[:ACTED_IN {roles:['Cpl. Jeffrey Barnes']}]->(AFewGoodMen),
      (CubaG)-[:ACTED_IN {roles:['Cpl. Carl Hammaker']}]->(AFewGoodMen),
      (KevinP)-[:ACTED_IN {roles:['Lt. Sam Weinberg']}]->(AFewGoodMen),
      (JTW)-[:ACTED_IN {roles:['Lt. Col. Matthew Andrew Markinson']}]->(AFewGoodMen),
      (JamesM)-[:ACTED_IN {roles:['Pfc. Louden Downey']}]->(AFewGoodMen),
      (ChristopherG)-[:ACTED_IN {roles:['Dr. Stone']}]->(AFewGoodMen),
      (AaronS)-[:ACTED_IN {roles:['Man in Bar']}]->(AFewGoodMen),
      (RobR)-[:DIRECTED]->(AFewGoodMen),
      (AaronS)-[:WROTE]->(AFewGoodMen)

      CREATE (TopGun:Movie {title:"Top Gun", released:1986, tagline:'I feel the need, the need for speed.'})
      CREATE (KellyM:Person {name:'Kelly McGillis', born:1957})
      CREATE (ValK:Person {name:'Val Kilmer', born:1959})
      CREATE (AnthonyE:Person {name:'Anthony Edwards', born:1962})
      CREATE (TomS:Person {name:'Tom Skerritt', born:1933})
      CREATE (MegR:Person {name:'Meg Ryan', born:1961})
      CREATE (TonyS:Person {name:'Tony Scott', born:1944})
      CREATE (JimC:Person {name:'Jim Cash', born:1941})
      CREATE
      (TomC)-[:ACTED_IN {roles:['Maverick']}]->(TopGun),
      (KellyM)-[:ACTED_IN {roles:['Charlie']}]->(TopGun),
      (ValK)-[:ACTED_IN {roles:['Iceman']}]->(TopGun),
      (AnthonyE)-[:ACTED_IN {roles:['Goose']}]->(TopGun),
      (TomS)-[:ACTED_IN {roles:['Viper']}]->(TopGun),
      (MegR)-[:ACTED_IN {roles:['Carole']}]->(TopGun),
      (TonyS)-[:DIRECTED]->(TopGun),
      (JimC)-[:WROTE]->(TopGun)

      CREATE (JerryMaguire:Movie {title:'Jerry Maguire', released:2000, tagline:'The rest of his life begins now.'})
      CREATE (ReneeZ:Person {name:'Renee Zellweger', born:1969})
      CREATE (KellyP:Person {name:'Kelly Preston', born:1962})
      CREATE (JerryO:Person {name:"Jerry O'Connell", born:1974})
      CREATE (JayM:Person {name:'Jay Mohr', born:1970})
      CREATE (BonnieH:Person {name:'Bonnie Hunt', born:1961})
      CREATE (ReginaK:Person {name:'Regina King', born:1971})
      CREATE (JonathanL:Person {name:'Jonathan Lipnicki', born:1996})
      CREATE (CameronC:Person {name:'Cameron Crowe', born:1957})
      CREATE
      (TomC)-[:ACTED_IN {roles:['Jerry Maguire']}]->(JerryMaguire),
      (CubaG)-[:ACTED_IN {roles:['Rod Tidwell']}]->(JerryMaguire),
      (ReneeZ)-[:ACTED_IN {roles:['Dorothy Boyd']}]->(JerryMaguire),
      (KellyP)-[:ACTED_IN {roles:['Avery Bishop']}]->(JerryMaguire),
      (JerryO)-[:ACTED_IN {roles:['Frank Cushman']}]->(JerryMaguire),
      (JayM)-[:ACTED_IN {roles:['Bob Sugar']}]->(JerryMaguire),
      (BonnieH)-[:ACTED_IN {roles:['Laurel Boyd']}]->(JerryMaguire),
      (ReginaK)-[:ACTED_IN {roles:['Marcee Tidwell']}]->(JerryMaguire),
      (JonathanL)-[:ACTED_IN {roles:['Ray Boyd']}]->(JerryMaguire),
      (CameronC)-[:DIRECTED]->(JerryMaguire),
      (CameronC)-[:PRODUCED]->(JerryMaguire),
      (CameronC)-[:WROTE]->(JerryMaguire)

      CREATE (StandByMe:Movie {title:"Stand By Me", released:1986, tagline:"For some, it's the last real taste of innocence, and the first real taste of life. But for everyone, it's the time that memories are made of."})
      CREATE (RiverP:Person {name:'River Phoenix', born:1970})
      CREATE (CoreyF:Person {name:'Corey Feldman', born:1971})
      CREATE (WilW:Person {name:'Wil Wheaton', born:1972})
      CREATE (JohnC:Person {name:'John Cusack', born:1966})
      CREATE (MarshallB:Person {name:'Marshall Bell', born:1942})
      CREATE
      (WilW)-[:ACTED_IN {roles:['Gordie Lachance']}]->(StandByMe),
      (RiverP)-[:ACTED_IN {roles:['Chris Chambers']}]->(StandByMe),
      (JerryO)-[:ACTED_IN {roles:['Vern Tessio']}]->(StandByMe),
      (CoreyF)-[:ACTED_IN {roles:['Teddy Duchamp']}]->(StandByMe),
      (JohnC)-[:ACTED_IN {roles:['Denny Lachance']}]->(StandByMe),
      (KieferS)-[:ACTED_IN {roles:['Ace Merrill']}]->(StandByMe),
      (MarshallB)-[:ACTED_IN {roles:['Mr. Lachance']}]->(StandByMe),
      (RobR)-[:DIRECTED]->(StandByMe)

      CREATE (AsGoodAsItGets:Movie {title:'As Good as It Gets', released:1997, tagline:'A comedy from the heart that goes for the throat.'})
      CREATE (HelenH:Person {name:'Helen Hunt', born:1963})
      CREATE (GregK:Person {name:'Greg Kinnear', born:1963})
      CREATE (JamesB:Person {name:'James L. Brooks', born:1940})
      CREATE
      (JackN)-[:ACTED_IN {roles:['Melvin Udall']}]->(AsGoodAsItGets),
      (HelenH)-[:ACTED_IN {roles:['Carol Connelly']}]->(AsGoodAsItGets),
      (GregK)-[:ACTED_IN {roles:['Simon Bishop']}]->(AsGoodAsItGets),
      (CubaG)-[:ACTED_IN {roles:['Frank Sachs']}]->(AsGoodAsItGets),
      (JamesB)-[:DIRECTED]->(AsGoodAsItGets)

      CREATE (WhatDreamsMayCome:Movie {title:'What Dreams May Come', released:1998, tagline:'After life there is more. The end is just the beginning.'})
      CREATE (AnnabellaS:Person {name:'Annabella Sciorra', born:1960})
      CREATE (MaxS:Person {name:'Max von Sydow', born:1929})
      CREATE (WernerH:Person {name:'Werner Herzog', born:1942})
      CREATE (Robin:Person {name:'Robin Williams', born:1951})
      CREATE (VincentW:Person {name:'Vincent Ward', born:1956})
      CREATE
      (Robin)-[:ACTED_IN {roles:['Chris Nielsen']}]->(WhatDreamsMayCome),
      (CubaG)-[:ACTED_IN {roles:['Albert Lewis']}]->(WhatDreamsMayCome),
      (AnnabellaS)-[:ACTED_IN {roles:['Annie Collins-Nielsen']}]->(WhatDreamsMayCome),
      (MaxS)-[:ACTED_IN {roles:['The Tracker']}]->(WhatDreamsMayCome),
      (WernerH)-[:ACTED_IN {roles:['The Face']}]->(WhatDreamsMayCome),
      (VincentW)-[:DIRECTED]->(WhatDreamsMayCome)

      CREATE (SnowFallingonCedars:Movie {title:'Snow Falling on Cedars', released:1999, tagline:'First loves last. Forever.'})
      CREATE (EthanH:Person {name:'Ethan Hawke', born:1970})
      CREATE (RickY:Person {name:'Rick Yune', born:1971})
      CREATE (JamesC:Person {name:'James Cromwell', born:1940})
      CREATE (ScottH:Person {name:'Scott Hicks', born:1953})
      CREATE
      (EthanH)-[:ACTED_IN {roles:['Ishmael Chambers']}]->(SnowFallingonCedars),
      (RickY)-[:ACTED_IN {roles:['Kazuo Miyamoto']}]->(SnowFallingonCedars),
      (MaxS)-[:ACTED_IN {roles:['Nels Gudmundsson']}]->(SnowFallingonCedars),
      (JamesC)-[:ACTED_IN {roles:['Judge Fielding']}]->(SnowFallingonCedars),
      (ScottH)-[:DIRECTED]->(SnowFallingonCedars)

      CREATE (YouveGotMail:Movie {title:"You've Got Mail", released:1998, tagline:'At odds in life... in love on-line.'})
      CREATE (ParkerP:Person {name:'Parker Posey', born:1968})
      CREATE (DaveC:Person {name:'Dave Chappelle', born:1973})
      CREATE (SteveZ:Person {name:'Steve Zahn', born:1967})
      CREATE (TomH:Person {name:'Tom Hanks', born:1956})
      CREATE (NoraE:Person {name:'Nora Ephron', born:1941})
      CREATE
      (TomH)-[:ACTED_IN {roles:['Joe Fox']}]->(YouveGotMail),
      (MegR)-[:ACTED_IN {roles:['Kathleen Kelly']}]->(YouveGotMail),
      (GregK)-[:ACTED_IN {roles:['Frank Navasky']}]->(YouveGotMail),
      (ParkerP)-[:ACTED_IN {roles:['Patricia Eden']}]->(YouveGotMail),
      (DaveC)-[:ACTED_IN {roles:['Kevin Jackson']}]->(YouveGotMail),
      (SteveZ)-[:ACTED_IN {roles:['George Pappas']}]->(YouveGotMail),
      (NoraE)-[:DIRECTED]->(YouveGotMail)

      CREATE (SleeplessInSeattle:Movie {title:'Sleepless in Seattle', released:1993, tagline:'What if someone you never met, someone you never saw, someone you never knew was the only someone for you?'})
      CREATE (RitaW:Person {name:'Rita Wilson', born:1956})
      CREATE (BillPull:Person {name:'Bill Pullman', born:1953})
      CREATE (VictorG:Person {name:'Victor Garber', born:1949})
      CREATE (RosieO:Person {name:"Rosie O'Donnell", born:1962})
      CREATE
      (TomH)-[:ACTED_IN {roles:['Sam Baldwin']}]->(SleeplessInSeattle),
      (MegR)-[:ACTED_IN {roles:['Annie Reed']}]->(SleeplessInSeattle),
      (RitaW)-[:ACTED_IN {roles:['Suzy']}]->(SleeplessInSeattle),
      (BillPull)-[:ACTED_IN {roles:['Walter']}]->(SleeplessInSeattle),
      (VictorG)-[:ACTED_IN {roles:['Greg']}]->(SleeplessInSeattle),
      (RosieO)-[:ACTED_IN {roles:['Becky']}]->(SleeplessInSeattle),
      (NoraE)-[:DIRECTED]->(SleeplessInSeattle)

      CREATE (JoeVersustheVolcano:Movie {title:'Joe Versus the Volcano', released:1990, tagline:'A story of love, lava and burning desire.'})
      CREATE (JohnS:Person {name:'John Patrick Stanley', born:1950})
      CREATE (Nathan:Person {name:'Nathan Lane', born:1956})
      CREATE
      (TomH)-[:ACTED_IN {roles:['Joe Banks']}]->(JoeVersustheVolcano),
      (MegR)-[:ACTED_IN {roles:['DeDe', 'Angelica Graynamore', 'Patricia Graynamore']}]->(JoeVersustheVolcano),
      (Nathan)-[:ACTED_IN {roles:['Baw']}]->(JoeVersustheVolcano),
      (JohnS)-[:DIRECTED]->(JoeVersustheVolcano)

      CREATE (WhenHarryMetSally:Movie {title:'When Harry Met Sally', released:1998, tagline:'Can two friends sleep together and still love each other in the morning?'})
      CREATE (BillyC:Person {name:'Billy Crystal', born:1948})
      CREATE (CarrieF:Person {name:'Carrie Fisher', born:1956})
      CREATE (BrunoK:Person {name:'Bruno Kirby', born:1949})
      CREATE
      (BillyC)-[:ACTED_IN {roles:['Harry Burns']}]->(WhenHarryMetSally),
      (MegR)-[:ACTED_IN {roles:['Sally Albright']}]->(WhenHarryMetSally),
      (CarrieF)-[:ACTED_IN {roles:['Marie']}]->(WhenHarryMetSally),
      (BrunoK)-[:ACTED_IN {roles:['Jess']}]->(WhenHarryMetSally),
      (RobR)-[:DIRECTED]->(WhenHarryMetSally),
      (RobR)-[:PRODUCED]->(WhenHarryMetSally),
      (NoraE)-[:PRODUCED]->(WhenHarryMetSally),
      (NoraE)-[:WROTE]->(WhenHarryMetSally)

      CREATE (ThatThingYouDo:Movie {title:'That Thing You Do', released:1996, tagline:'In every life there comes a time when that thing you dream becomes that thing you do'})
      CREATE (LivT:Person {name:'Liv Tyler', born:1977})
      CREATE
      (TomH)-[:ACTED_IN {roles:['Mr. White']}]->(ThatThingYouDo),
      (LivT)-[:ACTED_IN {roles:['Faye Dolan']}]->(ThatThingYouDo),
      (Charlize)-[:ACTED_IN {roles:['Tina']}]->(ThatThingYouDo),
      (TomH)-[:DIRECTED]->(ThatThingYouDo)

      CREATE (TheReplacements:Movie {title:'The Replacements', released:2000, tagline:'Pain heals, Chicks dig scars... Glory lasts forever'})
      CREATE (Brooke:Person {name:'Brooke Langton', born:1970})
      CREATE (Gene:Person {name:'Gene Hackman', born:1930})
      CREATE (Orlando:Person {name:'Orlando Jones', born:1968})
      CREATE (Howard:Person {name:'Howard Deutch', born:1950})
      CREATE
      (Keanu)-[:ACTED_IN {roles:['Shane Falco']}]->(TheReplacements),
      (Brooke)-[:ACTED_IN {roles:['Annabelle Farrell']}]->(TheReplacements),
      (Gene)-[:ACTED_IN {roles:['Jimmy McGinty']}]->(TheReplacements),
      (Orlando)-[:ACTED_IN {roles:['Clifford Franklin']}]->(TheReplacements),
      (Howard)-[:DIRECTED]->(TheReplacements)

      CREATE (RescueDawn:Movie {title:'RescueDawn', released:2006, tagline:"Based on the extraordinary true story of one man's fight for freedom"})
      CREATE (ChristianB:Person {name:'Christian Bale', born:1974})
      CREATE (ZachG:Person {name:'Zach Grenier', born:1954})
      CREATE
      (MarshallB)-[:ACTED_IN {roles:['Admiral']}]->(RescueDawn),
      (ChristianB)-[:ACTED_IN {roles:['Dieter Dengler']}]->(RescueDawn),
      (ZachG)-[:ACTED_IN {roles:['Squad Leader']}]->(RescueDawn),
      (SteveZ)-[:ACTED_IN {roles:['Duane']}]->(RescueDawn),
      (WernerH)-[:DIRECTED]->(RescueDawn)

      CREATE (TheBirdcage:Movie {title:'The Birdcage', released:1996, tagline:'Come as you are'})
      CREATE (MikeN:Person {name:'Mike Nichols', born:1931})
      CREATE
      (Robin)-[:ACTED_IN {roles:['Armand Goldman']}]->(TheBirdcage),
      (Nathan)-[:ACTED_IN {roles:['Albert Goldman']}]->(TheBirdcage),
      (Gene)-[:ACTED_IN {roles:['Sen. Kevin Keeley']}]->(TheBirdcage),
      (MikeN)-[:DIRECTED]->(TheBirdcage)

      CREATE (Unforgiven:Movie {title:'Unforgiven', released:1992, tagline:"It's a hell of a thing, killing a man"})
      CREATE (RichardH:Person {name:'Richard Harris', born:1930})
      CREATE (ClintE:Person {name:'Clint Eastwood', born:1930})
      CREATE
      (RichardH)-[:ACTED_IN {roles:['English Bob']}]->(Unforgiven),
      (ClintE)-[:ACTED_IN {roles:['Bill Munny']}]->(Unforgiven),
      (Gene)-[:ACTED_IN {roles:['Little Bill Daggett']}]->(Unforgiven),
      (ClintE)-[:DIRECTED]->(Unforgiven)

      CREATE (JohnnyMnemonic:Movie {title:'Johnny Mnemonic', released:1995, tagline:'The hottest data on earth. In the coolest head in town'})
      CREATE (Takeshi:Person {name:'Takeshi Kitano', born:1947})
      CREATE (Dina:Person {name:'Dina Meyer', born:1968})
      CREATE (IceT:Person {name:'Ice-T', born:1958})
      CREATE (RobertL:Person {name:'Robert Longo', born:1953})
      CREATE
      (Keanu)-[:ACTED_IN {roles:['Johnny Mnemonic']}]->(JohnnyMnemonic),
      (Takeshi)-[:ACTED_IN {roles:['Takahashi']}]->(JohnnyMnemonic),
      (Dina)-[:ACTED_IN {roles:['Jane']}]->(JohnnyMnemonic),
      (IceT)-[:ACTED_IN {roles:['J-Bone']}]->(JohnnyMnemonic),
      (RobertL)-[:DIRECTED]->(JohnnyMnemonic)

      CREATE (CloudAtlas:Movie {title:'Cloud Atlas', released:2012, tagline:'Everything is connected'})
      CREATE (HalleB:Person {name:'Halle Berry', born:1966})
      CREATE (JimB:Person {name:'Jim Broadbent', born:1949})
      CREATE (TomT:Person {name:'Tom Tykwer', born:1965})
      CREATE (DavidMitchell:Person {name:'David Mitchell', born:1969})
      CREATE (StefanArndt:Person {name:'Stefan Arndt', born:1961})
      CREATE
      (TomH)-[:ACTED_IN {roles:['Zachry', 'Dr. Henry Goose', 'Isaac Sachs', 'Dermot Hoggins']}]->(CloudAtlas),
      (Hugo)-[:ACTED_IN {roles:['Bill Smoke', 'Haskell Moore', 'Tadeusz Kesselring', 'Nurse Noakes', 'Boardman Mephi', 'Old Georgie']}]->(CloudAtlas),
      (HalleB)-[:ACTED_IN {roles:['Luisa Rey', 'Jocasta Ayrs', 'Ovid', 'Meronym']}]->(CloudAtlas),
      (JimB)-[:ACTED_IN {roles:['Vyvyan Ayrs', 'Captain Molyneux', 'Timothy Cavendish']}]->(CloudAtlas),
      (TomT)-[:DIRECTED]->(CloudAtlas),
      (LillyW)-[:DIRECTED]->(CloudAtlas),
      (LanaW)-[:DIRECTED]->(CloudAtlas),
      (DavidMitchell)-[:WROTE]->(CloudAtlas),
      (StefanArndt)-[:PRODUCED]->(CloudAtlas)

      CREATE (TheDaVinciCode:Movie {title:'The Da Vinci Code', released:2006, tagline:'Break The Codes'})
      CREATE (IanM:Person {name:'Ian McKellen', born:1939})
      CREATE (AudreyT:Person {name:'Audrey Tautou', born:1976})
      CREATE (PaulB:Person {name:'Paul Bettany', born:1971})
      CREATE (RonH:Person {name:'Ron Howard', born:1954})
      CREATE
      (TomH)-[:ACTED_IN {roles:['Dr. Robert Langdon']}]->(TheDaVinciCode),
      (IanM)-[:ACTED_IN {roles:['Sir Leight Teabing']}]->(TheDaVinciCode),
      (AudreyT)-[:ACTED_IN {roles:['Sophie Neveu']}]->(TheDaVinciCode),
      (PaulB)-[:ACTED_IN {roles:['Silas']}]->(TheDaVinciCode),
      (RonH)-[:DIRECTED]->(TheDaVinciCode)

      CREATE (VforVendetta:Movie {title:'V for Vendetta', released:2006, tagline:'Freedom! Forever!'})
      CREATE (NatalieP:Person {name:'Natalie Portman', born:1981})
      CREATE (StephenR:Person {name:'Stephen Rea', born:1946})
      CREATE (JohnH:Person {name:'John Hurt', born:1940})
      CREATE (BenM:Person {name: 'Ben Miles', born:1967})
      CREATE
      (Hugo)-[:ACTED_IN {roles:['V']}]->(VforVendetta),
      (NatalieP)-[:ACTED_IN {roles:['Evey Hammond']}]->(VforVendetta),
      (StephenR)-[:ACTED_IN {roles:['Eric Finch']}]->(VforVendetta),
      (JohnH)-[:ACTED_IN {roles:['High Chancellor Adam Sutler']}]->(VforVendetta),
      (BenM)-[:ACTED_IN {roles:['Dascomb']}]->(VforVendetta),
      (JamesM)-[:DIRECTED]->(VforVendetta),
      (LillyW)-[:PRODUCED]->(VforVendetta),
      (LanaW)-[:PRODUCED]->(VforVendetta),
      (JoelS)-[:PRODUCED]->(VforVendetta),
      (LillyW)-[:WROTE]->(VforVendetta),
      (LanaW)-[:WROTE]->(VforVendetta)

      CREATE (SpeedRacer:Movie {title:'Speed Racer', released:2008, tagline:'Speed has no limits'})
      CREATE (EmileH:Person {name:'Emile Hirsch', born:1985})
      CREATE (JohnG:Person {name:'John Goodman', born:1960})
      CREATE (SusanS:Person {name:'Susan Sarandon', born:1946})
      CREATE (MatthewF:Person {name:'Matthew Fox', born:1966})
      CREATE (ChristinaR:Person {name:'Christina Ricci', born:1980})
      CREATE (Rain:Person {name:'Rain', born:1982})
      CREATE
      (EmileH)-[:ACTED_IN {roles:['Speed Racer']}]->(SpeedRacer),
      (JohnG)-[:ACTED_IN {roles:['Pops']}]->(SpeedRacer),
      (SusanS)-[:ACTED_IN {roles:['Mom']}]->(SpeedRacer),
      (MatthewF)-[:ACTED_IN {roles:['Racer X']}]->(SpeedRacer),
      (ChristinaR)-[:ACTED_IN {roles:['Trixie']}]->(SpeedRacer),
      (Rain)-[:ACTED_IN {roles:['Taejo Togokahn']}]->(SpeedRacer),
      (BenM)-[:ACTED_IN {roles:['Cass Jones']}]->(SpeedRacer),
      (LillyW)-[:DIRECTED]->(SpeedRacer),
      (LanaW)-[:DIRECTED]->(SpeedRacer),
      (LillyW)-[:WROTE]->(SpeedRacer),
      (LanaW)-[:WROTE]->(SpeedRacer),
      (JoelS)-[:PRODUCED]->(SpeedRacer)

      CREATE (NinjaAssassin:Movie {title:'Ninja Assassin', released:2009, tagline:'Prepare to enter a secret world of assassins'})
      CREATE (NaomieH:Person {name:'Naomie Harris'})
      CREATE
      (Rain)-[:ACTED_IN {roles:['Raizo']}]->(NinjaAssassin),
      (NaomieH)-[:ACTED_IN {roles:['Mika Coretti']}]->(NinjaAssassin),
      (RickY)-[:ACTED_IN {roles:['Takeshi']}]->(NinjaAssassin),
      (BenM)-[:ACTED_IN {roles:['Ryan Maslow']}]->(NinjaAssassin),
      (JamesM)-[:DIRECTED]->(NinjaAssassin),
      (LillyW)-[:PRODUCED]->(NinjaAssassin),
      (LanaW)-[:PRODUCED]->(NinjaAssassin),
      (JoelS)-[:PRODUCED]->(NinjaAssassin)

      CREATE (TheGreenMile:Movie {title:'The Green Mile', released:1999, tagline:"Walk a mile you'll never forget."})
      CREATE (MichaelD:Person {name:'Michael Clarke Duncan', born:1957})
      CREATE (DavidM:Person {name:'David Morse', born:1953})
      CREATE (SamR:Person {name:'Sam Rockwell', born:1968})
      CREATE (GaryS:Person {name:'Gary Sinise', born:1955})
      CREATE (PatriciaC:Person {name:'Patricia Clarkson', born:1959})
      CREATE (FrankD:Person {name:'Frank Darabont', born:1959})
      CREATE
      (TomH)-[:ACTED_IN {roles:['Paul Edgecomb']}]->(TheGreenMile),
      (MichaelD)-[:ACTED_IN {roles:['John Coffey']}]->(TheGreenMile),
      (DavidM)-[:ACTED_IN {roles:['Brutus "Brutal" Howell']}]->(TheGreenMile),
      (BonnieH)-[:ACTED_IN {roles:['Jan Edgecomb']}]->(TheGreenMile),
      (JamesC)-[:ACTED_IN {roles:['Warden Hal Moores']}]->(TheGreenMile),
      (SamR)-[:ACTED_IN {roles:['"Wild Bill" Wharton']}]->(TheGreenMile),
      (GaryS)-[:ACTED_IN {roles:['Burt Hammersmith']}]->(TheGreenMile),
      (PatriciaC)-[:ACTED_IN {roles:['Melinda Moores']}]->(TheGreenMile),
      (FrankD)-[:DIRECTED]->(TheGreenMile)

      CREATE (FrostNixon:Movie {title:'Frost/Nixon', released:2008, tagline:'400 million people were waiting for the truth.'})
      CREATE (FrankL:Person {name:'Frank Langella', born:1938})
      CREATE (MichaelS:Person {name:'Michael Sheen', born:1969})
      CREATE (OliverP:Person {name:'Oliver Platt', born:1960})
      CREATE
      (FrankL)-[:ACTED_IN {roles:['Richard Nixon']}]->(FrostNixon),
      (MichaelS)-[:ACTED_IN {roles:['David Frost']}]->(FrostNixon),
      (KevinB)-[:ACTED_IN {roles:['Jack Brennan']}]->(FrostNixon),
      (OliverP)-[:ACTED_IN {roles:['Bob Zelnick']}]->(FrostNixon),
      (SamR)-[:ACTED_IN {roles:['James Reston, Jr.']}]->(FrostNixon),
      (RonH)-[:DIRECTED]->(FrostNixon)

      CREATE (Hoffa:Movie {title:'Hoffa', released:1992, tagline:"He didn't want law. He wanted justice."})
      CREATE (DannyD:Person {name:'Danny DeVito', born:1944})
      CREATE (JohnR:Person {name:'John C. Reilly', born:1965})
      CREATE
      (JackN)-[:ACTED_IN {roles:['Hoffa']}]->(Hoffa),
      (DannyD)-[:ACTED_IN {roles:['Robert "Bobby" Ciaro']}]->(Hoffa),
      (JTW)-[:ACTED_IN {roles:['Frank Fitzsimmons']}]->(Hoffa),
      (JohnR)-[:ACTED_IN {roles:['Peter "Pete" Connelly']}]->(Hoffa),
      (DannyD)-[:DIRECTED]->(Hoffa)

      CREATE (Apollo13:Movie {title:'Apollo 13', released:1995, tagline:'Houston, we have a problem.'})
      CREATE (EdH:Person {name:'Ed Harris', born:1950})
      CREATE (BillPax:Person {name:'Bill Paxton', born:1955})
      CREATE
      (TomH)-[:ACTED_IN {roles:['Jim Lovell']}]->(Apollo13),
      (KevinB)-[:ACTED_IN {roles:['Jack Swigert']}]->(Apollo13),
      (EdH)-[:ACTED_IN {roles:['Gene Kranz']}]->(Apollo13),
      (BillPax)-[:ACTED_IN {roles:['Fred Haise']}]->(Apollo13),
      (GaryS)-[:ACTED_IN {roles:['Ken Mattingly']}]->(Apollo13),
      (RonH)-[:DIRECTED]->(Apollo13)

      CREATE (Twister:Movie {title:'Twister', released:1996, tagline:"Don't Breathe. Don't Look Back."})
      CREATE (PhilipH:Person {name:'Philip Seymour Hoffman', born:1967})
      CREATE (JanB:Person {name:'Jan de Bont', born:1943})
      CREATE
      (BillPax)-[:ACTED_IN {roles:['Bill Harding']}]->(Twister),
      (HelenH)-[:ACTED_IN {roles:['Dr. Jo Harding']}]->(Twister),
      (ZachG)-[:ACTED_IN {roles:['Eddie']}]->(Twister),
      (PhilipH)-[:ACTED_IN {roles:['Dustin "Dusty" Davis']}]->(Twister),
      (JanB)-[:DIRECTED]->(Twister)

      CREATE (CastAway:Movie {title:'Cast Away', released:2000, tagline:'At the edge of the world, his journey begins.'})
      CREATE (RobertZ:Person {name:'Robert Zemeckis', born:1951})
      CREATE
      (TomH)-[:ACTED_IN {roles:['Chuck Noland']}]->(CastAway),
      (HelenH)-[:ACTED_IN {roles:['Kelly Frears']}]->(CastAway),
      (RobertZ)-[:DIRECTED]->(CastAway)

      CREATE (OneFlewOvertheCuckoosNest:Movie {title:"One Flew Over the Cuckoo's Nest", released:1975, tagline:"If he's crazy, what does that make you?"})
      CREATE (MilosF:Person {name:'Milos Forman', born:1932})
      CREATE
      (JackN)-[:ACTED_IN {roles:['Randle McMurphy']}]->(OneFlewOvertheCuckoosNest),
      (DannyD)-[:ACTED_IN {roles:['Martini']}]->(OneFlewOvertheCuckoosNest),
      (MilosF)-[:DIRECTED]->(OneFlewOvertheCuckoosNest)

      CREATE (SomethingsGottaGive:Movie {title:"Something's Gotta Give", released:2003})
      CREATE (DianeK:Person {name:'Diane Keaton', born:1946})
      CREATE (NancyM:Person {name:'Nancy Meyers', born:1949})
      CREATE
      (JackN)-[:ACTED_IN {roles:['Harry Sanborn']}]->(SomethingsGottaGive),
      (DianeK)-[:ACTED_IN {roles:['Erica Barry']}]->(SomethingsGottaGive),
      (Keanu)-[:ACTED_IN {roles:['Julian Mercer']}]->(SomethingsGottaGive),
      (NancyM)-[:DIRECTED]->(SomethingsGottaGive),
      (NancyM)-[:PRODUCED]->(SomethingsGottaGive),
      (NancyM)-[:WROTE]->(SomethingsGottaGive)

      CREATE (BicentennialMan:Movie {title:'Bicentennial Man', released:1999, tagline:"One robot's 200 year journey to become an ordinary man."})
      CREATE (ChrisC:Person {name:'Chris Columbus', born:1958})
      CREATE
      (Robin)-[:ACTED_IN {roles:['Andrew Marin']}]->(BicentennialMan),
      (OliverP)-[:ACTED_IN {roles:['Rupert Burns']}]->(BicentennialMan),
      (ChrisC)-[:DIRECTED]->(BicentennialMan)

      CREATE (CharlieWilsonsWar:Movie {title:"Charlie Wilson's War", released:2007, tagline:"A stiff drink. A little mascara. A lot of nerve. Who said they couldn't bring down the Soviet empire."})
      CREATE (JuliaR:Person {name:'Julia Roberts', born:1967})
      CREATE
      (TomH)-[:ACTED_IN {roles:['Rep. Charlie Wilson']}]->(CharlieWilsonsWar),
      (JuliaR)-[:ACTED_IN {roles:['Joanne Herring']}]->(CharlieWilsonsWar),
      (PhilipH)-[:ACTED_IN {roles:['Gust Avrakotos']}]->(CharlieWilsonsWar),
      (MikeN)-[:DIRECTED]->(CharlieWilsonsWar)

      CREATE (ThePolarExpress:Movie {title:'The Polar Express', released:2004, tagline:'This Holiday Season... Believe'})
      CREATE
      (TomH)-[:ACTED_IN {roles:['Hero Boy', 'Father', 'Conductor', 'Hobo', 'Scrooge', 'Santa Claus']}]->(ThePolarExpress),
      (RobertZ)-[:DIRECTED]->(ThePolarExpress)

      CREATE (ALeagueofTheirOwn:Movie {title:'A League of Their Own', released:1992, tagline:'Once in a lifetime you get a chance to do something different.'})
      CREATE (Madonna:Person {name:'Madonna', born:1954})
      CREATE (GeenaD:Person {name:'Geena Davis', born:1956})
      CREATE (LoriP:Person {name:'Lori Petty', born:1963})
      CREATE (PennyM:Person {name:'Penny Marshall', born:1943})
      CREATE
      (TomH)-[:ACTED_IN {roles:['Jimmy Dugan']}]->(ALeagueofTheirOwn),
      (GeenaD)-[:ACTED_IN {roles:['Dottie Hinson']}]->(ALeagueofTheirOwn),
      (LoriP)-[:ACTED_IN {roles:['Kit Keller']}]->(ALeagueofTheirOwn),
      (RosieO)-[:ACTED_IN {roles:['Doris Murphy']}]->(ALeagueofTheirOwn),
      (Madonna)-[:ACTED_IN {roles:['"All the Way" Mae Mordabito']}]->(ALeagueofTheirOwn),
      (BillPax)-[:ACTED_IN {roles:['Bob Hinson']}]->(ALeagueofTheirOwn),
      (PennyM)-[:DIRECTED]->(ALeagueofTheirOwn)

      CREATE (PaulBlythe:Person {name:'Paul Blythe'})
      CREATE (AngelaScope:Person {name:'Angela Scope'})
      CREATE (JessicaThompson:Person {name:'Jessica Thompson'})
      CREATE (JamesThompson:Person {name:'James Thompson'})

      CREATE
      (JamesThompson)-[:FOLLOWS]->(JessicaThompson),
      (AngelaScope)-[:FOLLOWS]->(JessicaThompson),
      (PaulBlythe)-[:FOLLOWS]->(AngelaScope)

      CREATE
      (JessicaThompson)-[:REVIEWED {summary:'An amazing journey', rating:95}]->(CloudAtlas),
      (JessicaThompson)-[:REVIEWED {summary:'Silly, but fun', rating:65}]->(TheReplacements),
      (JamesThompson)-[:REVIEWED {summary:'The coolest football movie ever', rating:100}]->(TheReplacements),
      (AngelaScope)-[:REVIEWED {summary:'Pretty funny at times', rating:62}]->(TheReplacements),
      (JessicaThompson)-[:REVIEWED {summary:'Dark, but compelling', rating:85}]->(Unforgiven),
      (JessicaThompson)-[:REVIEWED {summary:"Slapstick redeemed only by the Robin Williams and Gene Hackman's stellar performances", rating:45}]->(TheBirdcage),
      (JessicaThompson)-[:REVIEWED {summary:'A solid romp', rating:68}]->(TheDaVinciCode),
      (JamesThompson)-[:REVIEWED {summary:'Fun, but a little far fetched', rating:65}]->(TheDaVinciCode),
      (JessicaThompson)-[:REVIEWED {summary:'You had me at Jerry', rating:92}]->(JerryMaguire)

      WITH TomH as a
      MATCH (a)-[:ACTED_IN]->(m)<-[:DIRECTED]-(d) RETURN a,m,d LIMIT 10;

5.断点调试cypher语句

在bolt模块的org.neo4j.fabric.bolt.BoltFabricDatabaseService类的executeQuery方法添加断点。(neo4j会间隔的执行系统查询,大家跳过即可)
在这里插入图片描述

在Desktop执行下述语句:

match(n) return n limit 10

进行相关调试:
在这里插入图片描述

我们执行的语句已经断下来了哦,到这里我们就完成了neo4j的调试了,下个章节我们将介绍其执行的流程。

四、感想

写文章有时是分享、有时是总结,但是如果要写好一篇文章需要投入的大量的精力和个人时间,并且你还看不到任何收益和回报,这也是为什么有些人写到后面基本就不写了,毕竟这个行为逆人性。有点吐槽了,不管怎么样,希望大家可以学到东西吧,文章本人还是会不定期的更新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/402088.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【改机教程】iOS系统去除小黑条,改拍照声、拨号音、键盘音,不用越狱,支持所有机型

大家好&#xff0c;上次给大家分享了几个iOS系统免越狱改机教程 今天带来最新的教程&#xff0c;这次修改利用的是同一个漏洞&#xff0c;由外网大神 tamago 开发&#xff0c;国内大神冷风 进行汉化和优化 可以修改的地方包括 去除底部小黑条 dock栏透明 桌面文件夹透明 桌面…

golang 占位符还傻傻分不清?

xdm &#xff0c;写 C/C 语言的时候有格式控制符&#xff0c;例如 %s , %d , %c , %p 等等 在写 golang 的时候&#xff0c;也是有对应的格式控制符&#xff0c;也叫做占位符&#xff0c;写这个占位符&#xff0c;需要有对应的数据与之对应&#xff0c;不能瞎搞 基本常见常用…

Cobalt Strike---(2)

数据管理 Cobalt Strike 的团队服务器是行动期间Cobalt Strike 收集的所有信息的中间商。Cobalt Strike 解析来 自它的 Beacon payload 的输出&#xff0c;提取出目标、服务和凭据。 如果你想导出 Cobalt Strike 的数据&#xff0c;通过 Reporting → Export Data 。Cobalt Str…

CentOS7自签SSL证书并配置nginx

一、生成SSL证书 1、安装依赖包 yum install -y openssl openssl-devel 2、生成私钥&#xff0c;会让你输入一个 4~2048 位的密码&#xff0c;你需要暂时记住这个密码 openssl genrsa -des3 -out server.key 2048 输入两遍相同的密码 3、生成CSR(Certificate Signing Request …

Postgresql-12.5 visual studio-2022 windows 添加pg工程并调试

pg内核学习&#xff0c;记录一下 文章目录安装包编译安装VS添加Postgresql工程调试源码安装包 &#xff08;1&#xff09;perl下载 https://www.perl.org/get.html &#xff08;2&#xff09;diff下载 http://gnuwin32.sourceforge.net/packages/diffutils.htm &#xff08;…

23届非科班选手秋招转码指南

1.秋招情况介绍 1.1自我介绍 我是一名23届非科班转码选手&#xff0c;本硕均就读于某211院校机械专业&#xff0c;秋招共计拿下12份offer&#xff0c;包括大疆创新、海康威视、联发科技、理想汽车、中电28、阳光电源等各行业、各种性质企业的意向。主要的投递岗位为嵌入式软件…

若依微服务版在定时任务里面跨模块调用服务

第一步 在被调用的模块中添加代理 RemoteTaskFallbackFactory.java: package com.ruoyi.rpa.api.factory;import com.ruoyi.common.core.domain.R; import com.ruoyi.rpa.api.RemoteTaskService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springf…

【springmvc】执行流程

SpringMVC执行流程 原理图 1、SpringMVC常用组件 DispatcherServlet&#xff1a;前端控制器&#xff0c;不需要工程师开发&#xff0c;由框架提供 作用&#xff1a;统一处理请求和响应&#xff0c;整个流程控制的中心&#xff0c;由它调用其它组件处理用户的请求 HandlerMa…

Windows7,10使用:Vagrant+VirtualBox 安装 centos7

一、Vagrant&#xff0c;VirtualBox 是什么二、版本说明1、win7下建议安装版本2、win10下建议安装版本三、Windows7下安装1、安装Vagrant2、安装VirtualBox3、打开VirtualBox&#xff0c;配置虚拟机默认安装地址四、windows7下载.box文件&#xff0c;安装centos 71、下载一个.b…

拐点!新能源车交付均价首次「低于」燃油车,智能电动成新爆点

2023年开局&#xff0c;随着特斯拉打响新能源汽车市场的「价格战」首炮&#xff0c;除部分燃油车品牌&#xff08;仍依赖自身多年的用户和品牌积累的溢价能力&#xff09;没有跟进之外&#xff0c;几乎所有的新能源车型都在进行车型价格的下调。 而数据也在反映市场的拐点即将来…

深入理解Zookeeper的ZAB协议

ZAB是什么ZAB&#xff08;Zookeeper Atomic Broadcast&#xff09;&#xff1a;Zookeeper原子广播ZAB是为了保证Zookeeper数据一致性而产生的算法&#xff08;指的是Zookeeper集群模式&#xff09;。它不仅能解决正常情况下的数据一致性问题&#xff0c;还可以保证主节点发生宕…

最全的论文写作技巧(建议收藏)

近10年来&#xff0c;笔者有幸多次参与教学论文的评审工作&#xff0c;在此&#xff0c;特将教学论文写作的步骤及相关问题整理汇总如下&#xff1a; 一、选定论题 &#xff08;一&#xff09;论题在文中的地位与作用 严格地讲&#xff0c;论文写作是从选定论题开始的。选题…

Android源码分析 - Parcel 与 Parcelable

0. 相关分享 Android-全面理解Binder原理 Android特别的数据结构&#xff08;二&#xff09;ArrayMap源码解析 1. 序列化 - Parcelable和Serializable的关系 如果我们需要传递一个Java对象&#xff0c;通常需要对其进行序列化&#xff0c;通过内核进行数据转发&#xff0c;…

这几个群,程序员可千万不要进!

震惊&#xff01;某摸鱼网站惊现肾结石俱乐部&#xff01; &#xff08;图源V2EX&#xff09; 无关地域、无关性别&#xff0c;各位程序员们在肾结石这个病上面有着出奇一致的反应。诸如此类的各种职业病在我们的生活中更是十分常见。 也可能是到年纪了&#xff0c;在办公室…

ATTCK v12版本战术介绍——提权(一)

一、引言在前几期文章中我们介绍了ATT&CK中侦察、资源开发、初始访问、执行、持久化战术理论知识及实战研究&#xff0c;通过实战场景验证行之有效的检测规则、防御措施&#xff0c;本期我们为大家介绍ATT&CK 14项战术中提权战术&#xff08;一&#xff09;&#xff0c…

计算机图形学09:二维观察之点的裁剪

作者&#xff1a;非妃是公主 专栏&#xff1a;《计算机图形学》 博客地址&#xff1a;https://blog.csdn.net/myf_666 个性签&#xff1a;顺境不惰&#xff0c;逆境不馁&#xff0c;以心制境&#xff0c;万事可成。——曾国藩 文章目录专栏推荐专栏系列文章序一、二维观察基本…

设计模式4——行为型模式

行为型模式用于描述程序在运行时复杂的流程控制&#xff0c;即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务&#xff0c;它设计算法与对象间职责的分配。 行为型模式分为类行为模式和对象行为模式&#xff0c;前者采用继承机制来在类间分派行为&…

[洛谷-P1272] 重建道路(树形背包DP)

[洛谷-P1272] 重建道路&#xff08;树形背包DP&#xff09;一、题目重建道路题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示样例解释限制与约定二、思路1、状态表示2、转移方程3、循环设计4、初末状态三、代码一、题目 重建道路 题目描述 一场可怕的地震后&…

计算机Ping命令使用详解

计算机Ping命令使用详解 在网络中 ping 是一个十分强大的 TCP/IP 工具。它的作用主要为: 1、用来检测网络的连通情况和分析网络速度 2、根据域名得到服务器 IP 3、根据 ping 返回的 TTL 值来判断对方所使用的操作系统及数据包经过路由器数量。 我们通常会用它来直接 ping ip 地…

uni-app api 获取系统信息(高、宽)用法及封装

uni-app提供了异步(uni.getSystemInfo)和同步(uni.getSystemInfoSync)的2个API获取系统信息 uniapp 官网解析地址 uni.getSystemInfo 异步获取系统信息 参数名类型必填说明successFunction是接口调用成功的回调failFunction否接口调用失败的回调函数completeFunction否接口…