- 博客(87)
- 资源 (3)
- 收藏
- 关注
原创 Springboot+MySQL+Neo4j事务控制
今天在项目中package com.hd.rm.manager.config;import org.neo4j.ogm.session.SessionFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configur
2022-03-31 22:19:55
1315
3
原创 最全SQL笔试题
如下四个数据表Student(SID, Sname, Sage, Ssex) 学生表Course(CID, Cname, TID) 课程表SC(SID, CID, score) 成绩表Teacher(TID, Tname) 教师表注意 课程从001开始问题:1、查询“001”课程比“002”课程成绩高的所有学生的学号select a.SID from (select Sid,score from SC where CID='001') a,(select Sid,score fro
2022-02-28 15:51:18
8099
1
原创 Java多线程中的锁
死锁、活锁、饥饿是关于多线程是否活跃、出现的运行阻塞障碍问题,如果线程出现了这三种情况,即线程不再活跃,不能再正常地执行下去死锁死锁是多线程中最差的一种情况,多个线程相互占用对方的资源锁,而又相互等对方释放锁,此时若无外力干预,这些线程则一直处理阻塞的假死状态,形成死锁。上篇博客已详细说明:Java多线程死锁活锁活锁应该很少有人听说或理解它的概念,而在多线程中确实存在。活锁恰恰与死锁相反,死锁是大家都拿不到资源都占用着对方的资源,而活锁是拿到资源却又相互释放不执行。当多线程中出现了相互谦让.
2022-01-24 21:19:00
350
原创 Java设计模式--模板方法模式
什么是模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤也就是一个抽象类公开定义了执行它的方法的方式/模板,它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行模板方法模式的类图模板方法的使用1、适用场景1、有多个子类共有的方法,且逻辑相同2、重要的、复杂的方法,可以考虑作为模板方法2、解决方法将这些通用算法抽象出来3、例子比如我们要统计一段代码运行用时,可以把开始时间和结
2021-12-24 14:16:55
490
原创 设计模式之单例
什么是单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。单例模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、只能有一个实例。2、必须自己创建自己的唯一实例。3、必须给所有其他对象提供这一实例。单例模式特点1、私有化构造方法2、在类中创建一个本类对象3、提供一
2021-11-24 16:38:43
366
1
原创 使用Java操作Neo4j、SpringBoot整合Neo4j
Java通过neo4j-java-driver操作Neo4j引入依赖 <!--neo4j driver--> <dependency> <groupId>org.neo4j.driver</groupId> <artifactId>neo4j-java-driver</artifactId> <version>4.3.4</v
2021-10-24 19:24:00
3763
7
原创 Neo4j - CQL使用
Neo4j - CQL简介Neo4j的Cypher语言是为处理图形数据而构建的,CQL代表Cypher查询语言。像Oracle数据库具有查询语言SQL,Neo4j具有CQL作为查询语言是Neo4j图形数据库的查询语言是一种声明性模式匹配语言遵循SQL语法语法是非常简单且人性化、可读的格式CQL命令作用CREATE创建节点,关系和属性MATCH检索有关节点,关系和属性数据RETURN返回查询结果WHERE提供条件过滤检索数据DELETE
2021-10-21 11:27:17
768
原创 图数据库Neo4j下载、安装
Neo4j下载Neo4j下载Enterprise Server 企业版Community Server 社区版Neo4j Desktop 桌面版Neo4j安装(版本为3.5.28)Neo4j最新版本对应的java版本是jdk11,jdk8可以使用4.0之前的版本Neo4j文档Windows安装1、解压到新目录(注意:目录名称不要有中文),如:D:\SoftWare2、配置环境变量在系统环境变量中添加NEO4J_HOME,值为解压目录再在path中添加%NEO4J_
2021-10-07 17:49:52
2118
原创 图数据库Neo4j
图数据库Neo4j介绍什么是图数据库(graph database)图数据库是基于图论实现的一种NoSQL数据库,其数据存储结构和数据查询方式都是以图论为基础的,图数据库主要用于存储更多的连接数据。图论〔Graph Theory〕是数学的一个分支。它以图为研究对象图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应两个事物间具有这种关系什么是Neo4jNeo4j是一个开源的NoSQL图形数据库,200
2021-09-28 14:35:14
698
原创 Windows平台下载、编译、运行masscan
MASSCAN(海量 IP 端口扫描器)是一个 Internet 规模的端口扫描器。它可以在 5 分钟内扫描整个 Internet,从一台机器每秒传输 1000 万个数据包。它的用法(参数、输出)类似于nmap最著名的端口扫描器<引用git描述>下载MASSCAN项目本身并没有提供安装包,需要自己编译github地址编译编译工具: Visual Studio 2019使用Visual Studio 2019打开项目,如图: 打开vs10目录,双击masscan.sln
2021-08-31 18:00:20
2910
1
原创 Git常用命令
名词master: 默认开发分支origin: 默认远程版本库Index / Stage:暂存区Workspace:工作区Repository:仓库区(或本地仓库)Remote:远程仓库新建代码库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]## 下载一个项目和它的整个代码历史$ git clone [url]配置Git的设置文件为.gitconfig,它可以在用户主
2021-07-30 22:57:32
126
原创 Git安装与配置
下载https://git-scm.com/安装1. 启动安装程序2. 选择安装目录3. 勾选创建桌面快捷方式、Git Bash、Git GUi、已经目录和后缀关联等4. 在“Adjusting your PATH environment”选项中,默认选项是“Use Git from theWindows Command Prompt”,这样在Windows的命令行cmd中也可以运行git命令了,点击“Next”5. 配置行结束标记,保持默认“Checkout Windows-s
2021-07-30 22:52:11
332
原创 MySQL配置
[client]# 设置mysql客户端连接服务端时默认使用的端口port = 3306# 客户端使用的字符集默认为UTF8default-character-set=utf8socket = /usr/local/mysql-5.7.25/tmp/mysql.sock[mysqld]#端口port = 3306#绑定主机bind-address = 0.0.0.0#表示...
2021-06-30 21:51:06
112
原创 CentOS7.5中MySQL安装、配置及卸载
1.查看是否安装mysqlrpm -qa | grep mysql如果有,但不是自己想要的,可进行卸载rpm -e mysql // 普通删除rpm -e --nodeps mysql // 强力删除2.下载mysql下载链接:mysql下载等待下载完成3.安装依赖包yum install -y gcc gcc-c++ cmake ncurses ncurses-deve...
2021-06-30 21:50:34
271
2
原创 线性表(一)---顺序存储结构
线性表定义线性表(List):零个或多个数据元素的有限序列用数学语言来定义:若将线性表记为(a1,···,ai-1,ai,ai+1,···,an),则表中 ai-1 领先于 ai ,ai 领先于 ai+1,称 ai-1 是 ai 的直接前驱元素,ai+1 是 ai 的直接后继元素。当 i=1,2,···,n-1 时,ai 有且仅有一个直接后继,当 i=2,3,···,n 时,ai有且仅有一个直接前驱,如图:线性表元素的个数 n(n>=0) 定义为线性表的长度,当 n=0 时,称为空表
2021-05-31 11:39:03
355
原创 CentOS修改主机名
Centos6修改主机名查看主机名: hostname修改主机名: vim /etc/sysconfig/network修改为自己想要修改的主机名:保存退出,重启:Centos7修改主机名查看主机名: hostnamectl修改主机名: hostnamectl set-hostname 自己想要修改的主机名或者: vi /etc/hostname保存退出,重启:...
2021-03-04 17:28:52
152
1
原创 算法介绍、特性
算法的定义、算法的特性、算法设计的要求、算法效率的度量方法、函数的渐近增长、算法时间复杂度、常见的时间复杂度、最坏情况与平均情况、算法空间复杂度
2021-02-28 21:50:24
1403
1
原创 HashMap学习
什么是HashMapHashMap 是基于哈希表的 Map 接口的实现,这种实现提供了所有可选的Map操作,并允许 null 值和 null 键,是 Java 程序员使用频率最高的用于映射(键值对)处理的数据类型。HashMap 继承了 AbstractMap,实现了 Map<K,V>, Cloneable, Serializable 接口类定义类属性定义 /** * 默认初始容量16,2的4次方=16 */ static final int DEFAU
2021-01-28 21:24:36
304
原创 选择排序、冒泡排序、折半查找
什么是选择排序选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为1。如图所示例子 /** * 排序 * @param arr *...
2020-12-30 11:44:43
501
原创 Map、AbstractMap、SortedMap 学习
什么是 MapMap 是 Java 中位于 java.util 包下的一个顶层接口,它有许多实现类,Map 将键映射到值的对象。 Map 不能包含重复的键,每个键可以映射到最多一个值类定义方法定义什么是 AbstractMapAbstractMap 是 Java 中位于 java.util 包下的一个抽象类,实现了 Map 接口,它有许多子类,AbstractMap 这个类提供了 Map 接口的骨架实现,以最小化实现该接口所需的工作类定义构造函数定义方法定义什么是 So
2020-11-20 23:07:48
359
原创 Vector学习
什么是Vector Vector 是 java.util 包下面的一个集合类,继承了 AbstractList ,实现了List、RandomAccess、Cloneable、Serializable接口。实现了可扩展的对象数组,像数组一样,它包含可以使用整数索引访问的组件。 但是, Vector的大小可以根据需要增长或缩小,以适应在创建Vector之后添加和删除元素类定义属性定义 //存储向量的组件的阵列缓冲区 protected Object[] elementData; //Vec
2020-11-19 23:52:35
331
原创 Queue、Deque、LinkedList学习
Queue什么是Queue Queue 是 java.util 包下面的一个接口,继承了 Collection 接口,Queue的中文意思为队列;队列是一种特殊的线性表,是一种先进先出(FIFO)的数据结构。它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。类定义方法定义Deque什么是DequeDeque 是 java.util 包下面的一个接口,继承了 Queu
2020-11-17 23:38:24
1750
2
原创 ArrayList 学习
什么是AbstractListAbstractList 是Java中位于 java.util 包下的一个抽象类,它继承了 AbstractCollection 类,实现了 List 接口类定义方法定义indexOf(Object o) 详解 /** * 获得一个列表迭代器,然后遍历列表,直到找到指定的元素或到达列表的末尾 */ public int indexOf(Object o) { //列表迭代器 ListIterator<E> it =
2020-11-14 17:11:29
243
原创 AbstractCollection学习
什么是AbstractCollectionAbstractCollection 是Java中位于 java.util 包下的一个抽象类,它实现了Collection接口类定义方法定义contains(Object o) 详解 /** * 遍历集合中的元素,依次检查每个元素是否与指定的元素相等 */ public boolean contains(Object o) { //获取迭代器 Iterator<E> it = iterator();
2020-11-13 00:33:00
598
原创 List 与 AbstractList 学习
什么是ArrayListArrayList 是 Java 集合框架中比较常用的数据结构,继承自 AbstractList,实现了 List 接口。底层基于数组实现容量大小动态变化,允许 null 的存在,并且允许多个。同时还实现了 RandomAccess、Cloneable、Serializable 接口,所以ArrayList 是支持快速访问、复制、序列化的类定义public class ArrayList<E> extends AbstractList<E>
2020-11-12 00:41:06
325
4
原创 Collection学习
什么是CollectionCollection 是 Java 集合框架中处于顶层的接口,主要的两个分支分别为List和Set,List和Set也是接口,它们也都继承于 Collection。区别是 List只是要求是有序的序列,是允许元素重复的,而 Set是严格上的数学概念上的集合,是不允许存在重复元素的类定义public interface Collection<E> extends Iterable<E> { 从源码中可以看出:Collection 继承 It
2020-11-10 23:39:44
212
原创 Iterable 与 Iterator、ListIterator
纪念一下属于自己的节日,希望自己将来技术深度广度一起进步,工资高一点,头发少掉一点,2020-1024
2020-10-24 23:06:27
189
原创 Java集合类
集合类是什么集合类是Java数据结构的实现,是java.util包中的重要内容,它允许以各种方式将元素分组,并定义了各种使这些元素更容易操作的方法。Java集合类是Java将一些基本的、使用频率极高的基础类进行封装和增强后再以一个类的形式提供。集合类是可以往里面保存多个对象的类,存放的是对象,不同的集合类有不同的功能和特点,适合不同的场合,以解决一些实际问题为什么要学集合类集合类源码,能够让我们使用得更加准确集合类源码,可以学习经典的设计方式帮助通过面试,获得更高的薪酬学习经典的数据结构
2020-09-10 23:50:33
354
原创 集合之Set、AbstractSet、SortedSet、NavigableSet
Set、AbstractSet、SortedSet、NavigableSet源码解析
2020-09-06 21:29:30
725
原创 StringBuffer与StringBuilder
什么是StringBufferStringBuffer是字符串缓冲区,是一个容器,可以对字符串内容进行增删,是可变长度的,很多方法与String相同什么是StringBuilderStringBuilder与StringBuffer基本相同,最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问),而StringBuffer是线程安全的StringBuilder 较于 StringBuffer 有速度优势,所以多数情况下使用 StringBuilder 类,然而在应用程
2020-08-26 01:08:53
243
原创 解决VMware Workstation 与 Device/Credential Guard 不兼容问题
解决VMware Workstation 与 Device/Credential Guard 不兼容问题
2020-07-31 15:14:37
1653
原创 MySQL适配达梦数据库注意事项
问题说明:达梦数据库jdbc驱动无法下载问题说明:达梦数据库jdbc驱动版本问题说明:hibernate方言驱动问题说明:达梦不支持mysql默认时间函数问题说明:达梦数据库不支持LAST_INSERT_ID()问题说明: mysql表字段 与达梦数据库关键字冲突问题说明:达梦数据库不支持某些mybatis字符串的拼接写法问题说明:达梦数据库界面工具使用
2020-06-16 13:29:39
4684
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人