自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

丿灬老街的博客

一念成佛,一念成魔,你若不渡我成佛,那我渡你入魔。

  • 博客(23)
  • 收藏
  • 关注

原创 Mybatis 相关概念

MyBatis是一款优秀的基于ORM的半自动轻量级持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO,普通⽼式Java对象)为数据库中的记录。

2024-04-10 09:07:51 191

原创 身份证号校验

【代码】身份证号校验。

2024-04-10 09:04:48 64

原创 自定义持久层框架

创建使用端的maven项目在项目中创建--配置数据源--> < dataSource > < property name = " driver " value = " com.mysql.driver " />

2024-04-08 13:01:22 997

原创 Tests run: 0, Failures: 0, Errors: 0, Skipped: 0【Junit4 升级 Junit5】【Maven 检测不到单元测试问题】

由于测试容器,有残留的。

2024-01-03 10:41:59 620 1

原创 HashMap 底层实现原理

加载因子也叫扩容因子或负载因子,用来判断什么时候进行扩容的,假如加载因子是0.5HashMap的初始化容量是16,那么当HashMap中有16*0.5=8个元素时,HashMap就会进行扩容。那加载因子为什么是 0.75 而不是 0.5 或者 1.0 呢?当加载因子设置比较大的时候,扩容的门槛就被提高了,扩容发生的频率比较低,占用的空间会比较小,但此时发生Hash冲突的几率就会提升,因此需要更复杂的数据结构来存储元素,这样对元素的操作时间就会增加,运行效率也会因此降低;

2023-07-06 15:30:05 62

原创 String 的特点及重要方法

原理如下:如果在当前类的常量池中存在与调用 intern() 方法的字符串等值的字符串,就直接返回常量池中相应字符串的引用,否则在常量池中复制一份该字符串(Jdk7 中会直接在常量池中保存当前字符串的引用),并将其引用返回;类设计成不可变的另一个原因是安全,当你在调用其他方法时,比如调用一些系统级操作指令之前,可能会有一系列校验,如果是可变类的话,可能在你校验过后,它的内部的值又被改变了,这样有可能会引起严重的系统崩溃问题,这是迫使。为参数的构造函数,因为这三种数据类型,我们通常都是单独使用的。

2023-06-19 16:15:36 78

原创 Redis 单机版安装和使用

1. Redis下载官网地址:https://redis.io/中文官网地址:http://www.redis.cn/下载地址:http://download.redis.io/releases/2. Redis安装环境Redis 没有官方的 Windows 版本,所以建议在 Linux 系统上安装运行。3. Redis安装第一步:安装 C 语言需要的 GCC 环境yum install -y gcc-c++yum install -y wget第二步:下载并解压缩 Redis 源码

2021-07-30 18:42:33 168

原创 Redis 简介

1. 什么是 RedisRedis (Remote Dictionary Server)远程字典服务器,是用 C 语言开发的一个开源的高性能键值对( key-value )内存数据库。它提供了五种数据类型来存储值:字符串类型、散列类型、列表类型、集合类型、有序集合类型它是一种 NoSQL 数据存储。2. Redis发展历史2008年,意大利的一家创业公司 Merzia 推出了一款基于 MySQL 的网站实时统计系统 LLOOGG,然而没过多久该公司的创始人 Salvatore Sanfilip

2021-07-29 23:04:10 87

原创 缓存架构的设计思路

1. 多层次

2021-07-29 22:51:20 118

原创 缓存的读写模式

1. Cache Aside Pattern(常用)Cache Aside Pattern(旁路缓存),是最经典的 缓存 + 数据库 读写模式。读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。更新的时候,先更新数据库,然后再删除缓存。为什么是删除缓存,而不是更新缓存呢?缓存的值是一个结构:hash、list,更新数据需要遍历,先遍历(耗时)后修改懒加载,使用的时候才更新缓存,使用的时候才从 DB 中加载也可以采用异步的方式填充缓存,开启一个线程定时将

2021-07-28 14:57:52 83

原创 缓存的优势、代价

1. 使用缓存的优势1.1 提升用户体验用户体验(User Experience):用户在使用产品过程中建立起来的一种纯主观感受。缓存的使用可以提升系统的响应能力,大大提升了用户体验。1.2 减轻服务器压力客户端缓存、网络端缓存减轻应用服务器压力。服务端缓存减轻数据库服务器的压力。1.3 提升系统性能系统性能指标:响应时间、延迟时间、吞吐量、并发用户数和资源利用率等。缓存技术可以 缩短系统的响应时间,减少网络传输时间和应用延迟时间,提高系统的吞吐量,增加系统的并发用户数,提高了数据库资源的

2021-07-28 14:36:08 1062

原创 常见缓存的分类

1. 客户端缓存传统互联网:页面缓存和浏览器缓存移动互联网:APP缓存1.1 页面缓存页面缓存:页面自身对某些元素或全部元素进行存储,并保存成文件。html5:Cookie、WebStorage(SessionStorage和LocalStorage)、WebSql、indexDB、Application Cache等开启步骤:设置 manifest 描述文件CACHE MANIFEST #commentjs/index.jsimg/bg.pnghtml 关联 manife

2021-07-27 18:31:27 913

原创 缓存基本思想

1. 缓存的使用场景1.1 数据库缓存,减轻数据库服务器压力一般情况下数据存在数据库中,应用程序直接操作数据库。当访问量上万,数据库压力增大,可以采取的方案有:读写分离,分库分表当访问量达到10万、百万,需要引入缓存。将已经访问过的内容或数据存储起来,当再次访问时先找缓存,缓存命中返回数据。不命中再找数据库,并回填缓存。1.2 提高系统响应数据库的数据是存在文件里,也就是硬盘。与内存做交换(swap)在大量瞬间访问时(高并发)MySQL 单机会因为频繁 IO 而造成无法响应。MyS

2021-07-22 08:35:29 143

原创 Neo4j 之 Admin 管理员操作

1. Neo4j - 数据库备份和恢复在对 Neo4j 数据进行备份、还原、迁移的操作时,首先要关闭 Neo4j./bin/neo4j stop数据备份到文件./bin/neo4j-admin dump --database=neo4j --to=/home/qyn.dump还原、迁移之前 ,关闭 Neo4j 服务。操作同上./bin/neo4j-admin load --from=/home/qyn.dump --database=neo4j --force重启服务./bin/neo

2021-07-14 00:05:12 360

原创 Neo4j 的事务,索引及约束

1. 事务为了保持数据的完整性和保证良好的事务行为,Neo4j 也支持 ACID 特性 。注意:所有对 Neo4j 数据库的数据修改操作都必须封装在事务里。默认的 isolation level 是 READ_COMMITTED。死锁保护已经内置到核心事务管理 。 ( Neo4j 会在死锁发生之前检测死锁并抛出异常。在异常抛出之前,事务会被标志为回滚。当事务结束时,事务会释放它所持有的锁,则该事务的锁所引起的死锁也就解除了,其他事务就可以继续执行。当用户需要时,抛出异常的事务可以尝试重新执行)

2021-07-13 08:24:44 1377

原创 CQL 函数及多深度关系节点

1. CQL 函数1.1 字符串函数序号功能描述1UPPER它用于将所有字母更改为大写字母。2LOWER它用于将所有字母改为小写字母。3SUBSTRING它用于获取给定String的子字符串。4REPLACE它用于替换一个字符串的子字符串。1.2 聚合函数序号聚集功能描述1COUNT它返回由MATCH命令返回的行数。2MAX它从MATCH命令返回的一组行返回最大值。3MIN它返回由MAT

2021-07-12 08:24:10 774

原创 Neo4j CQL

1. CQL简介CQL代表 Cypher 查询语言。 像关系型数据库具有查询语言 SQL,Neo4j使用 CQL 作为查询语言。Neo4j CQL它是 Neo4j 图形数据库的查询语言。它是一种声明性模式匹配语言。它遵循 SQL 语法。它的语法是非常简单且人性化、可读的格式。常用的 Neo4j CQL 命令/条款如下:序号CQL命令/条作用1CREATE 创建创建节点,关系和属性2MATCH 匹配检索有关节点,关系和属性数据3RETURN 返回

2021-07-09 08:23:39 609

原创 Neo4j 基础

1. 什么是Neo4jNeo4j 是一个开源的无 Shcema 的,基于 java 开发的图形数据库,它将结构化数据存储在图中而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的 Java 持久化引擎。程序数据是在一个面向对象的、灵活的网络结构下,而不是严格、静态的表中,但可以享受到具备完全的事务特性、企业级的数据库的所有好处。图形数据库排行榜:https://db-engines.com/en/ranking/graph+dbms2. Neo4j 模块构建2.1 Neo4j 主要构建块

2021-07-08 22:50:46 415 1

原创 图论相关介绍

1. 图论起源众所周知,图论起源于一个非常经典的问题——柯尼斯堡(Konigsberg)七桥问题。1738年,瑞典数学家欧拉(Leornhard Euler)解决了柯尼斯堡七桥问题。由此图论诞生,欧拉也成为图论的创始人。欧拉把问题的实质归于"一笔画"问题,即判断一个图是否能够遍历完所有的边 (Edge) 而没有重复,而柯尼斯堡七桥问题则是一笔画问题的一个具体情境。欧拉证明这个问题不成立。满足一笔画的图满足两个条件:图必须是一个完整图有零个或二个奇数点2. 图和节点图是一组节点和连接这些节

2021-07-07 21:59:57 1372

原创 知识图谱和图库

1. 知识图谱一种基于图的数据结构,由节点(Node)和边(Edge)组成。其中节点即实体,由一个全局唯一的ID标示,边就是关系用于连接两个节点。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。互联网、大数据的背景下,谷歌、百度、搜狗等搜索引擎纷纷基于该背景,创建自己的知识图谱 Knowledge Graph(谷歌)、知心(百度)和知立方(搜狗),主要用于改进搜索质量。..

2021-07-07 21:56:42 691

原创 MongoDB 命令

1. MongoDB 的基本操作-- 查看数据库show dbs; -- 切换数据库 如果没有对应的数据库则创建use 数据库名;-- 创建集合db.createCollection("集合名")-- 查看集合show tables; show collections; -- 删除集合db.集合名.drop();-- 删除当前数据库db.dropDatabase();2. MongoDB 集合数据操作(CURD)2.1 数据添加插入单条数据 db.集合名.in

2021-07-01 17:52:51 61

原创 MongoDB 的安装及使用

1. MongoDB 在 Linux 的安装下载社区版 MongoDB去官网下载对应的 MongoDB 然后上传到 Linux 虚拟机将压缩包解压即可tar -zxvf MongoDB-linux-x86_64-4.1.3.tgz启动./bin/mongod指定配置文件方式的启动./bin/mongod -f mongo.conf配置文件样例dbpath=/data/mongo/port=27017bind_ip=0.0.0.0fork=truelogpath = /dat

2021-06-29 08:38:07 108

原创 MongoDB 体系结构

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-06-28 19:44:47 113

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除