Neo4j图数据库

数据库安装

 

  1. 下载安装包 https://neo4j.com/artifact.php?name=neo4j-community-4.1.1-windows.zip

  2. 解压

    bin:数据库启动等文件

    neo4j.bat 服务端启动文件

    cypher-shell.bat 不适用浏览器,使用shell输命令执行CQL语言

    neo4j-admin.bat neo4j管理员工具,数据库备份导出这些的

    conf: 数据库配置文件

    data: 数据库持久化默认文件夹,可以在配置文件修改默认目录

    logs: 数据库日志文件

  3. cmd进入bin目录,输入neo4j.bat console

    可以看出,可以在本机的7474端口可以访问

  4. 浏览器输入 http://localhost:7474/

    这里用户名和密码默认都是neo4j,进去就会修改默认密码,修改成功就可

  5. 进入neo4j控制台

 

数据库案例初识

图的基本理念

 

一个图数据库使用以下理念能存储任何数据

  1. 节点 - 图的数据记录

  2. 关系 - 连接节点

  3. 属性 - 标识数据值

图数据库节点和属性

 

  1. 节点就是记录在图中的数据

  2. 数据以Properties的方式储存

  3. Properties就是简单的键值对

图数据库的标签

 

标签是用来关联一组节点的,也就说说节点使用标签分类,标签就是类,而节点就是这个类的实例

  1. 一个节点可以有>=0个标签

  2. 标签不能有属性

约束自由

 

节点可以有不同的属性

  1. 同一类节点可以有不同的标签,这里的类表示拥有相同的标签

  2. 属性可以是字符串、数字、布尔型

  3. Neo4j可以储存数十亿个节点

图的关系

 

连接图中节点的

  1. 关系有方向性

  2. 关系有类型

  3. 关系不是任意定义的,它也有数据模型

关系属性

 

关系属性用来储存两个节点之间的共享信息

 

数据库查询语言CQL

 

Cypher : Neo4j的图查询语言

概述

 

  1. 使用模式描述图形数据

  2. 熟悉的类似SQL的查询语句

  3. 说明性的,描述要查找的内容,而不是如何查找

Cypher

创建节点CREATE

 

使用create创建一个节点

CREATE (ee:Person { name: "Emil", from: "Sweden", klout: 99 })

解释:创建一个标签为Person的节点ee,他的属性有name是Emil、from是Sweden和klout是99

查询节点MATCH

 

使用match语句查找节点

MATCH (ee:Person) WHERE ee.name = "Emil" RETURN ee;

解释: 查找标签为Person,节点的name属性为Emil的,节点定义为ee,然后把这个节点ee返回,这里的ee不一定是数据库创建时的那个名字

创建多个节点和多个关系

 

MATCH (ee:Person) WHERE ee.name = "Emil"
CREATE (js:Person { name: "Johan", from: "Sweden", learn: "surfing" }),
(ir:Person { name: "Ian", from: "England", title: "author" }),
(rvb:Person { name: "Rik", from: "Belgium", pet: "Orval" }),
(ally:Person { name: "Allison", from: "California", hobby: "surfing" }),
(ee)-[:KNOWS {since: 2001}]->(js),(ee)-[:KNOWS {rating: 5}]->(ir),
(js)-[:KNOWS]->(ir),(js)-[:KNOWS]->(rvb),
(ir)-[:KNOWS]->(js),(ir)-[:KNOWS]->(ally),
(rvb)-[:KNOWS]->(ally)

解释:

  1. MATCH (ee:Person) WHERE ee.name = "Emil" 将第一次创建的那个节点引入,因为要和其他节点建立关系

  2. (ee)-[:KNOWS {since: 2001}]->(js) 给ee节点和js节点建立一个关系,从ee指向js的,关系上共享数据是since 2001,也就是说ee自从2001年了解到js的

查看劳动成果

 

MATCH (abc:Person) RETURN abc

 

关系查询

 

MATCH (ee:Person)-[:KNOWS]-(friends)
WHERE ee.name = "Emil" RETURN ee, friends

解释: 查询name属性为Emil的Person,和他有KNOWS关系的人,然后返回这个人和所有符合的朋友

执行结果:

注意:如果不返回ee的话,只返回他的朋友

MATCH (ee:Person)-[:KNOWS]-(friends)
WHERE ee.name = "Emil" RETURN friends

 

思考:

MATCH (ee:Person)-[:KNOWS]-(friends) RETURN friends
MATCH (ee:Person) RETURN ee

这两句的返回结果一样?

推荐节点

 

MATCH (js:Person)-[:KNOWS]-()-[:KNOWS]-(surfer)
WHERE js.name = "Johan" AND surfer.hobby = "surfing"
RETURN DISTINCT surfer

解释: 找到和Johan有相同爱好surfing的人

执行的任务可视化

 

使用关键字:EXPLAINPROFILE

  • EXPLAIN:是解释机制,加入该关键字的Cypher语句可以预览执行的过程但并不实际执行,所以也不会产生任何结果。

  • PROFILE:则是画像机制,查询中使用该关键字,不仅能够看到执行计划的详细内容,也可以看到查询的执行结果。

例子

PROFILE MATCH (js:Person)-[:KNOWS]-()-[:KNOWS]-(surfer)
WHERE js.name = "Johan" AND surfer.hobby = "surfing"
RETURN DISTINCT surfer

注意:可以根据执行分析对CQL进行

 

电影案例

 

  1. 返回姓名为Tom Hanks的演员

    match (aa:Person) where aa.name="Tom Hanks" return aa;
    match (aa {name:"Tom Hanks"}) return aa;
  2. 查找演员名字最多10个(使用limit关键字)

    match (p:Person) return p.name limit 10
  3. 查找电影在20世纪90年代发布的电影

    match (m:Movie) where m.released >= 1900 and m.released < 2000 return m.title;
  4. 查找Tom Hanks参与过的电影

    match (p:Person)-[:ACTED_IN]->(m:Movie) where p.name="Tom Hanks" return p,m;
    MATCH (tom:Person {name: "Tom Hanks"})-[:ACTED_IN]->(tomHanksMovies) RETURN tom,tomHanksMovies
  5. 谁参与表演了电影Cloud Atlas

    match (m:Movie)<-[:DIRECTED]-(p:Person) where m.title="Cloud Atlas" return p.name;
    MATCH (cloudAtlas {title: "Cloud Atlas"})<-[:DIRECTED]-(directors) RETURN directors.name
  6. 查找和Tom Hanks一起演出的人

    match (p:Person) -[:ACTED_IN]->(m:Movie)<-[:ACTED_IN]-(co:Person) where p.name="Tom Hanks" return co.name;
    MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors) RETURN coActors.name
  7. 和电影Cloud Atlas有关系的人和关系类型

    match (p:Person) -[rel]-(m:Movie) where m.title="Cloud Atlas" return p.name,Type(rel),rel;
    MATCH (people:Person)-[relatedTo]-(:Movie {title: "Cloud Atlas"}) RETURN people.name, Type(relatedTo), relatedTo
  8. 能通过最大4个节点找到的节点

    MATCH (bacon:Person {name:"Kevin Bacon"})-[*1..4]-(hollywood)
    RETURN DISTINCT hollywood

    这里[*1..4] 表示1到4 ,[*3] 表示3

  9. 查找Kevin Bacon和Meg Ryan能关联到的关系的最短路径

    MATCH p=shortestPath(
    (bacon:Person {name:"Kevin Bacon"})-[*]-(meg:Person {name:"Meg Ryan"})
    )
    RETURN p

    这里*表示任何关系

  10. 查找没和Tom Hanks一起演出的人,但是他们之间有联系

    MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors),
    (coActors)-[:ACTED_IN]->(m2)<-[:ACTED_IN]-(cocoActors)
    WHERE NOT (tom)-[:ACTED_IN]->()<-[:ACTED_IN]-(cocoActors) AND tom <> cocoActors
    RETURN cocoActors.name AS Recommended, count(*) AS Strength ORDER BY Strength DESC

    分析:

    1. (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors)这句话coActors表示和Tom Hanks一起表演过的人

    2. (coActors)-[:ACTED_IN]->(m2)<-[:ACTED_IN]-(cocoActors) 这句话cocoActors表示和coActors一起表演过的人,这里意味着找到了朋友的朋友

    3. NOT (tom)-[:ACTED_IN]->()<-[:ACTED_IN]-(cocoActors) 这句话排除了既是朋友的朋友,又是朋友的人

    4. tom <> cocoActors 这句话保证了所得的朋友的朋友不是自己

    5. count(*) AS Strength这里统计了Tom Hanks到朋友的朋友能到达的路径条数,可以用这个表达推荐的优先级

    6. ORDER BY Strength DESC按照Strength 降序排序

  11. 查找既参演过Tom Hanks演过的电影,又参演了Tom Cruise演过的电影的

    MATCH (tom:Person {name:"Tom Hanks"})-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors),
    (coActors)-[:ACTED_IN]->(m2)<-[:ACTED_IN]-(cruise:Person {name:"Tom Cruise"})
    RETURN tom, m, coActors, m2, cruise

    一张图看懂这句话

 

技巧

 

查看图中所有节点和关系

MATCH (n) RETURN n

删除所有节点

MATCH (n) DETACH DELETE n

判断属性是否存在

is null

 

SpringBoot整合Neo4j

构建图

 

依赖导入

 

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-neo4j</artifactId>
</dependency>

配置文件

 

spring.data.neo4j.uri=bolt://localhost
spring.data.neo4j.username=neo4j
spring.data.neo4j.password=860820

编写实体类

 

import lombok.Data;
import org.neo4j.ogm.annotation.Id;
import org.neo4j.ogm.annotation.NodeEntity;@NodeEntity(label = "USER")
@Data
public class User {@Idprivate Long id;private Integer userId;private String userName;private Integer age;private String password;
}
@RelationshipEntity(type = "FRIEND_WITH")
@Data
public class FriendRelation {@Idprivate Long id;@StartNodeprivate User startNode;@EndNodeprivate User endNode;private Date since;
}

 

编写DAO层接口

import com.example.neo4jdemo.pojo.User;
import org.springframework.data.neo4j.annotation.Query;
import org.springframework.data.neo4j.repository.Neo4jRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;import java.util.List;@Repository
public interface UserDao extends Neo4jRepository<User,Long> {/*** 查询所有用户* @return*/@Query("MATCH (user:USER) RETURN user")List<User> getUserList();/*** 按照姓名查询* @param name* @return*/@Query("MATCH (user:USER) WHERE user.userName=$userName RETURN user")List<User> getUserByName(@Param("userName") String name);}
import com.example.neo4jdemo.pojo.FriendRelation;
import com.example.neo4jdemo.pojo.User;
import org.springframework.data.neo4j.annotation.Query;
import org.springframework.data.neo4j.repository.Neo4jRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;import java.util.List;@Repository
public interface FriendRelationDao extends Neo4jRepository<FriendRelation,Long> {/*** 查找指定姓名的朋友* @param name* @return*/@Query("MATCH (u:USER)-[:FRIEND_WITH]->(rl) WHERE u.userName=$name RETURN rl")List<User> getFriend(@Param("name") String name);/*** 按照姓名查找朋友的朋友* @param name* @return*/@Query("MATCH (u:USER{userName:$name})-[:FRIEND_WITH]->(rl:USER),(rl)-[:FRIEND_WITH]->(newf:USER) WHERE NOT (u)-[:FRIEND_WITH]->(newf)  AND u<> newf RETURN newf")List<User> getMayBeFriend(@Param("name") String name);
}import com.example.neo4jdemo.pojo.FriendRelation;
import com.example.neo4jdemo.pojo.User;
import org.springframework.data.neo4j.annotation.Query;
import org.springframework.data.neo4j.repository.Neo4jRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;import java.util.List;@Repository
public interface FriendRelationDao extends Neo4jRepository<FriendRelation,Long> {@Query("MATCH (u:USER)-[:FRIEND_WITH]->(rl) WHERE u.userName=$name RETURN rl")List<User> getFriend(@Param("name") String name);@Query("MATCH (u:USER{userName:$name})-[:FRIEND_WITH]->(rl:USER),(rl)-[:FRIEND_WITH]->(newf:USER) WHERE NOT (u)-[:FRIEND_WITH]->(newf)  AND u<> newf RETURN newf")List<User> getMayBeFriend(@Param("name") String name);
}

编写服务接口和实现类

 

(这里懒,没有写接口)

import com.example.neo4jdemo.dao.FriendRelationDao;
import com.example.neo4jdemo.dao.UserDao;
import com.example.neo4jdemo.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class UserService {@Autowiredprivate UserDao userDao;@Autowiredprivate FriendRelationDao friendRelationDao;public List<User> findByName(String name){return userDao.getUserByName(name);}public List<User> findAll(){return userDao.getUserList();}public List<User> getFriend(String name){return friendRelationDao.getFriend(name);}public List<User> recommend(String name){return friendRelationDao.getMayBeFriend(name);}
}

编写Controller

 

import com.example.neo4jdemo.pojo.User;
import com.example.neo4jdemo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.ResponseBody;import java.util.List;@Controller
public class UserController {@Autowiredprivate UserService userService;@GetMapping("/get")@ResponseBodypublic List<User> get(){return userService.findAll();}@GetMapping("/get/{name}")@ResponseBodypublic List<User> get(@PathVariable String name){return userService.findByName(name);}@GetMapping("/friend/{name}")@ResponseBodypublic List<User> getFriend(@PathVariable String name){return userService.getFriend(name);}@GetMapping("/recommend/{name}")@ResponseBodypublic List<User> getMeyBeFriend(@PathVariable String name){return userService.recommend(name);}
}

 

浏览器查看结果

 

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 基本外设配置(外设配置、定时器、编码器模式、速度读取、pwm,exti)

    基本外设配置 外设配置、定时器、编码器模式、速度读取、pwm,exti 基本外设的程序配置 创建.c文件和.h文件,头文件中注意 #ifndef _xxx #def _xxx #endif 配置编码器模式 编码器1——PA0/PA1—TIM2 编码器2——PB6/PB7—TIM4 #标准库 编码器的配置//摘自B站天下行走void…...

    2024/4/27 18:28:44
  2. 怎么转行从事UI设计行业 学UI要掌握哪些软件

    怎么转行从事UI设计行业?学UI要掌握哪些软件?对于想要转行从事UI设计的人来说,了解UI设计常用的软件有哪些很重要,毕竟UI设计师的主要职责就是借助各种软件来实现产品与用户的交互、做出符合逻辑、界面美观的设计作品。不过UI设计是一个跨学科、综合性比较强的职业,从业者…...

    2024/4/6 5:26:07
  3. tp5 where中使用 in条件

    $where[] = [exp,Db::raw("FIND_IN_SET(".$v[id].",category_ids)")];$where[status] = up;$where[type] = normal;$where[deletetime] = NULL;$data[$k][children] = db(shopro_goods)->where($where)->select();...

    2024/5/5 8:00:10
  4. 使用python进行接口mock数据

    转载:https://www.cnblogs.com/linuxchao/p/linuxchao-mock.html...

    2024/5/5 7:44:26
  5. 关于@autowire的问题

    1、问题 在项目中遇到的奇怪的问题,在使用 @autowire 注解去调用一个方法时出错,调试发现 @autowire 注解下的对象值为 null。 2、原因 使用 @autowire 会将对象注入到当前类(这里要注意首先类需要在spring的管理下 @autowire 才会起作用比如在类上加上注解:@Service、@Com…...

    2024/5/4 1:01:20
  6. 数据仓库灵魂30问之数仓最重要的是什么

    数据仓库最重要的是数据的准确性。 数据仓库最重要的是数据的准确性。 数据仓库最重要的是数据的准确性。 保证数据高准确的保障是元数据管理系统。 元数据管理系统负责从数据接入,加工到数据被消费的整个链路,相当于商品生产线上的监控系统。 对元数据体系的规范与模型建设,…...

    2024/4/28 0:49:24
  7. Qt Creator 模块学习 ——2D绘图(绘图设备)

    绘图设备 绘图设备包括:QPixmap,QImage,QPicture 1.QPixmap 特点:针对屏幕进行优化,和平台相关。不可以对图片修改。 使用方式://绘图设备,QPixmap pixmap(600,800);QPainter p(&pixmap);p.drawPixmap(0,0,80,80,QPixmap("../image/1.jpg"));//保存图片pixm…...

    2024/3/31 4:36:20
  8. 这是我见过最有用的Mysql面试题,面试了无数公司总结的。

    想进大厂,mysql不会那可不行,来接受mysql面试挑战吧,看看你能坚持到哪里?1. 能说下myisam 和 innodb的区别吗?myisam引擎是5.1版本之前的默认引擎,支持全文检索、压缩、空间函数等,但是不支持事务和行级锁,所以一般用于有大量查询少量插入的场景来使用,而且myisam不支…...

    2024/4/12 9:34:21
  9. Multi-commodity Flow Problem

    多物网络流问题(Multi-commodity Flow Problem)是多种物品(或货物)在网络中从不同的源点流向不同的汇点的网络流问题。 定义...

    2024/4/21 17:53:10
  10. 定位

    1.初识定位 1.什么是定位? 定位:定位是一种更高级的布局手段,可以将元素摆放在页面的任意位置 属性position,属性可选值如下:static 默认值,元素是静止的,没有开启定位 relative 开启元素的相对定位 absolute 开启元素的绝对定位 fixed 开启元素的固定定位 sticky 开启元素的粘…...

    2024/4/11 22:50:31
  11. dpdk hugepage 设置

    https://www.cnblogs.com/hugetong/p/7772186.html https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/performance_tuning_guide/sect-red_hat_enterprise_linux-performance_tuning_guide-memory-configuring-huge-pages...

    2024/4/10 11:39:13
  12. 用Fastjson将json转为java对象

    在SpringBoot项目中有时前端需要返回一个对象,但在Controller接收时是一个object Object的json字符串,此时我们可以用alibaba的fastjson库来将json字符串转换成Java对象。 1、配置依赖 首先我们先配置项目的maven依赖,在pom.xml文件中加入这段引入fastjson,版本号可以根据需…...

    2024/4/3 16:18:40
  13. gcc/g++静态链接和动态链接解决glibc版本不兼容的问题

    https://blog.csdn.net/lianshaohua/article/details/82143337https://www.cnblogs.com/bigben0123/p/12594972.htmlhttps://www.jianshu.com/p/77d7f7dc93b3http://blog.360converter.com/archives/1447https://www.zhihu.com/question/41672814...

    2024/4/9 9:44:22
  14. gson与fastjson的使用方法

    gson 将对象转换为JSON字符串 转换JSON字符串的步骤:引入JAR包 在需要转换JSON字符串的位置编写 如下代码即可:String json = new Gson().toJSON//(要转换的对象);案例: Book b = BookDao.find(); String json = new Gson().toJson(b); System.out.println(json);将JSON字符串…...

    2024/4/24 5:15:56
  15. 前端验证码登陆模块的实现(vue实现)

    实现效果如下:用vue写的,但实现逻辑都是一样的。 摘取出来的输入框的html部分://号码输入框<inputclass="login-input login-phone"placeholder="请输入你的手机号码"type="number"v-model="loginNumberVal"@input="lenCon…...

    2024/5/4 1:38:38
  16. Mac系统下常见问题的解决

    mac下问题汇总:1. brew的安装问题常规安装brew的方案容易出问题,过程冗长,费事费力,这里借鉴了一个安装脚本,使用下面命令即可:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"按照提示慢慢安装, 5分钟绝对搞定了(…...

    2024/5/3 19:49:33
  17. win10下虚拟机中的centOS7如何安装mysql

    第一步:查看当前系统是否自带MySQL数据库[root@MySqlServer ~]# rpm -qa | grep mysql mysql-libs-5.1.66-2.el6_3.i686 [root@MySqlServer ~]#说明:执行 rpm -qa | grep mysql 命令来查看当然系统是否自带有MySQL数据库,若有,则会显示MySQL软件名称。第二步:卸载自带的My…...

    2024/4/19 22:57:12
  18. java8新特性:stream流式计算

    import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors;/*** @description: 使用Stream计算。* id为奇数,年龄大于30,用户名转为大写,用户名倒排,…...

    2024/4/3 14:35:08
  19. Ansible自动化运维教程

    https://www.w3cschool.cn/automate_with_ansible/...

    2024/4/13 18:49:43
  20. Makefile速查笔记

    1、Makefile 描述的是文件编译的相关规则,它的规则主要是两个部分组成,分别是依赖的关系和执行的命令,其结构如下所示: targets : prerequisitescommand或者是 targets : prerequisites; commandcommand相关说明如下: targets:规则的目标,可以是 Object File(一般称它为…...

    2024/4/22 14:14:57

最新文章

  1. 求矩阵对角线元素之和(C语言)

    一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int i 0;int j 0;int sum 0;int a[3][3] { 0 };//获取数组a的值&#xff1b;printf(&qu…...

    2024/5/5 12:24:22
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 90天玩转Python—12—基础知识篇:Python自动化操作Email:发送邮件、收邮件与邮箱客户端操作全解析

    90天玩转Python系列文章目录 90天玩转Python—01—基础知识篇:C站最全Python标准库总结 90天玩转Python--02--基础知识篇:初识Python与PyCharm 90天玩转Python—03—基础知识篇:Python和PyCharm(语言特点、学习方法、工具安装) 90天玩转Python—04—基础知识篇:Pytho…...

    2024/5/2 16:54:01
  4. 【JavaScript】如何在npm中切换源以及使用指定源安装依赖

    忘不掉的是什么我也不知道 想不起当年模样 看也看不到 去也去不了的地方 也许那老街的腔调是属于我的忧伤 嘴角那点微笑越来越勉强 忘不掉的是什么我也不知道 放不下熟悉片段 回头望一眼 已经很多年的时间 透过手指间看着天 我又回到那老街 靠在你们身边渐行渐远 …...

    2024/5/5 8:47:29
  5. c# wpf XmlDataProvider 简单试验

    1.概要 2.代码 <Window x:Class"WpfApp2.Window12"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend…...

    2024/5/1 6:51:36
  6. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/4 12:05:22
  7. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/5 12:22:20
  8. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/4 14:46:16
  9. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/4 23:54:44
  10. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/4 12:10:13
  11. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/4 23:54:49
  12. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/4 23:54:44
  13. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/4 14:46:12
  14. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/4 14:46:11
  15. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/4 14:46:11
  16. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/5 2:25:33
  17. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/4 21:24:42
  18. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/4 12:39:12
  19. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/4 13:16:06
  20. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/4 16:48:41
  21. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/4 14:46:05
  22. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/5 3:37:58
  23. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/4 23:54:30
  24. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/4 9:07:39
  25. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/4 14:46:02
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57