自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 redis简介

redis是一个键值对的数据库,例如:"id":1001,"name":"张三","age": 21它的结构没有表,没有约束,和传统的sql数据库有很大区别,redis也叫nosql数据库,

2024-05-09 19:13:33 309

原创 DRM/RESP无法连接linux上redis的原因

将bind 127.0.0.1 : 1 注释掉,改成bind 0.0.0.0,让远程所有ip都可以访问。将daemonize yes 守护进程,修改后可在后台运行。protected-mode no 关闭保护模式。记得重新指定配置文件重新启动服务哦。进入到自己的redis软件目录。当然也可以选择开放对应的端口。禁止firewall开机启动。停止firewall。

2024-05-09 17:48:23 333

原创 SQL优化详解

数据库的数据是根据表空间,段,区,页,行的形式存放的,行就是每一条数据,表是InnoDB管理的最小单位。数据的索引分为聚集索引和二级索引,聚集索引使用的是B+树,它的每个主键都会在树的最下面存放,而前面的向上分裂的部分作为查询数据的索引。没有not null约束: InnoDB引擎会遍历整张表把每一行的字段值都取出来,返回给服务层,服务层判断是否为null ,不为null,计数累加。目前由于存储引擎的缘故,没有太好的优化count的方法,常用的就是使用像redis之类的数据库进行自我计数。

2024-05-07 17:55:50 422

原创 RPC的介绍和架构发展

如果使用常见的http协议,会带上很多不需要的数据,会降低传递数据的效率,我们只想要调用B服务的数据,因此,我们可以自定义一种传递格式。不同的应用场景对RPC架构提出了各种需求,如:高并发,低延迟,可拓展性,安全性等,RPC就可以根据需求进行针对性的优化和功能拓展。如果出现了问题,不能直接抛出异常吧,所以如果A挂了,那就调用其他服务,但是如果都挂了,就只能抛出异常了。服务方找注册中心注册,调用方发现注册的提供方,然后调用方就可以调用提供方了。也就是说,如果提供方出现问题,那么调用方也就找不到调用数据了。

2024-04-26 19:05:19 2302 3

原创 索引超详细解析

索引(index)是帮助MySQL高效获取数据的有序数据结构。数据库系统中维护这满足特定查找算法的数据结构,这些数据结构以某种方式引用数据,这样就可以在这些数据结构上实现高级查找算法快速查找数据,这种数据结构就是索引。索引是在第三层存储引擎层实现的,所以存储引擎不同,索引的结构也不同。索引结构描述B+Tree索引最常见的索引,大部分引擎都支持B+树索引Hash索引底层数据结构通过哈希表实现的,只有精确匹配索引列的查询才有效,不支持范围查询R-tree(空间索引)

2024-04-24 20:59:53 1056

原创 在Linux安装mysql

/密码长度设置为4。通过:grep 'temporary password' /var/log/mysqld.log。也可以是:cat /var/log/mysqld.log。这样密码就改成1234了,也可以改成8位密码,要记住奥。重启:systemctl restart mysqld。启动:systemctl start mysqld。停止:systemctl stop mysqld。直接复制过来,密码不显示,就可以进来了。这里密码要设置为8位,且区分大小写。6、启动mysql服务。

2024-04-24 10:58:05 316

原创 linux的一些实用操作

在使用history之后,使用!p是运行上一次最近的以p开头的历史命令,可以节省输命令的时间。yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。语法:yum [-y] [install | remove | search] 软件名。yum命令需要root权限,可以su切换到root,或使用sudo提权。-b:后台下载,会将日志写入到当前工作目录的wget-log文件。wget是非交互式的文件下载器,可以在命令行内下载网络文件。语法:date [-d] [+格式化字符串]

2024-04-23 22:20:40 730 1

原创 Linux的用户及管理

chmod u = rwx,g=rx,o=x hello.txt,将文件权限修改为:rwxr-r--x。u代表user所属用户权限,g代表group组权限,o代表other其他用户权限。r 代表读(read),w 代表写(write),x 代表执行(execute)linux中可以配置多个用户,配置多个用户组,用户也可以加入多个组。chown [-R] [用户] [:] [用户组] [文件或文件夹]-g:指定用户的组,不指定就创建一个和用户同名的组。-是可选的,表示是否在切换用户之后加载环境变量,

2024-04-23 20:00:30 926

原创 Linux命令超详细介绍

本文皆是基于windows操作系统,使用的连接工具是FinalShell,使用MacOS的朋友请注意,因为基础语法虽然一样,但是在部分地方还是略有不同,推荐学习黑马的公开课。vim是v的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。当不用参数,一次创建多个文件时,会报错,因为zixuelinux中没有good文件,所以没法直接创建666文件。意思是以列表的形式,显示/home/work目录中的内容。

2024-04-23 17:15:32 1041 1

原创 存储引擎介绍

存储引擎是存储数据,建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。数据库中的多张表可以使用不同的引擎。

2024-04-22 16:11:30 249

原创 MySQL事务

事务是一组操作的集合,他是不可分割的一个工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么全部成功,要么全部失败。每条sql操作都是一个事务,mysql中sql语句自动提交。

2024-04-20 10:57:03 879

原创 AES两种工作模式的区别

AES算法是一种广泛使用的对称加密算法,支持多种工作模式。对称加密算法的特点:加密和解密需要的密钥是相同的。密钥的长度可以是128,192或256位。对称加密的过程:用函数接受密码和明文,然后输出密文。对称加密的解密过程:用函数接受密码和密文,然后输出明文。AES的常用工作模式有:ECB、CBC、PCBC、CTR....

2024-04-19 22:39:58 247

原创 mysql多表查询

从多张表进行数据的查询。

2024-04-19 20:16:48 849

原创 MySQL约束

1、概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。2、目的:保证数据库中数据的正确、有效性和完整性。3、分类:约束描述关键字非空约束限制该字段的数据不能为nullNOT NULL唯一约束保证该字段的所有数据都是唯一的,不重复的UNQUE主键约束主键时一行数据的唯一标识,要求非空且唯一默认约束保存数据时,如果未指定该字段的值,则采用默认方式DEFAULT检查约束保证字段值满足某个条件CHECK外键约束。

2024-04-18 20:16:43 558

原创 MySQL函数解析

函数就是一段可以直接被另一段程序调用的程序或代码。

2024-04-18 13:56:37 1020

原创 哈希加密算法

哈希算法是一种能将不同长度的内容转化为固定长度的输出的算法,也称摘要算法或者散列算法。

2024-04-16 21:44:35 301

原创 SQL超详细解析

(show后面的空格可以是一个也可以是多个,前提是先进入数据库)将一列数据作为一个整体,进行纵向计算。

2024-04-16 20:02:40 2386

原创 MYSQL概述

下载了MySQL之后,计算机就成为了MySQL数据库容器,可以通过客户端连接数据库管理系统DBMS,然后使用sql语句通过DBMS创建数据库,也可以使用sql语句通过DBMS在专门数据库中创建表。建立在关系模型基础上,由多张互相链接的二维表组成的数据库。简而言之,通过表存储数据的数据库就是关系型数据库。SQL:操作关系型数据库的编程语言,定义了一套操作关系型数据库的统一标准 SQL。二维表:由表头和数据组成,并且有一列数据和另一个表对应。不通过表存储数据的就是非关系型数据库。数据库:存储数据的仓库 DB。

2024-04-14 19:15:17 300

原创 集合二:Map

注意:当重复使用put()方法存放同一个key时(比如map.put("apple", 10)之后又写map.put("apple", 30)),由于一个key对应一个value,所以key对应的是最新放进去的值(也就是30),前面放的值会被覆盖。ii、TreeMap:TreeMap基于红黑树实现,可以自动保证键的有序性,但是没有HashMap那么快的访问速度,当遍历排好序的键值对时,TreeMap更有优势。i、HashMap:HashMap使用哈希表来实现键值对的存储,具有快速的访问速度。

2024-03-26 22:03:40 283

原创 线程安全介绍

线程安全(Thread Safety)是指一个对象或代码块在多线程环境中能够安全地被多个线程同时访问,而不会导致任何预期之外的行为或竞态条件。换句话说,线程安全的对象或代码可以被多个线程同时使用,而不会出现数据不一致或程序崩溃等问题。在多线程程序中,线程安全是非常重要的,因为多个线程可能会同时读写同一数据,如果没有适当的同步措施,就会导致数据竞争和不一致。线程是抢占式的执行,线程间的调度充满了随机性多个线程对同一个变量进行修改操作对变量的操作不是原子性的内存可见性导致的线程安全。

2024-03-26 21:34:25 361

原创 单调栈(算法)

找第一个/下一个最大元素,维护递减栈;找第一个/下一个最小元素,维护递增栈。下面是一道简单的题,可以帮助理解496. 下一个更大元素 I - 力扣(LeetCode)

2024-03-23 20:43:09 460

原创 集合一:List

集合是由若干个确定的元素所构成的整体,在程序中一般代表保存若干个元素(数据)的某种容器。

2024-03-23 20:30:35 994

原创 java中常用的查询算法

其实就是因为方便,简单,但是如果我能在二分查找的基础上,让中间的mid点,尽可能靠近想要查找的元素,那不就能提高查找的效率了吗?我们可以将查找的点改进为如下: mid=min+(num-a[min])/(a[max]-a[min])*(max-min), 这样,让mid值的变化更靠近关键字num,这样也就间接地减少了比较次数。反之,数组中如果分布非常不均匀,那么插值查找未必是很合适的选择。元素必须是有序的,无序的话要先排序,但是排序再在查找得到的值就不是数据原来的值了,就只能判断目标数字是否在容器内。

2024-03-11 20:28:09 972 1

原创 java中常用的排序方法

在内部循环中,我们将要插入的元素与已排序部分的元素进行比较,如果要插入的元素小于已排序部分的元素,则将已排序部分的元素向右移动一位,以便为要插入的元素腾出空间。快速排序是,先把一个数放在数组中他应该在的位置,比如2,6,3,7,1中,6应该在数组的第4个位置,也就是下标为3的位置。归并排序是通过把有n个数的数组分成n部分,然后再合并,合并的时候进行排序,大的放右边小的放左边,每组排序通过对比每组最小的数,谁小谁先放,最后就可以从小到大排出来,其中利用了分治思想。小型列表上性能非常好。

2024-03-11 20:25:46 368

原创 JFinal浅了解

JFinal 是基于Java 语言的极速 web 开发框架,其核心设计目标是开 发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、 Restful。又称为中国的spring;

2024-01-23 19:20:24 417

原创 面试题(四)

POST请求将数据存储在请求体中,理论上不受数据大小限制,但实际应用中,服务器和浏览器可能会对请求体的大小进行限制。用户与服务器之间的一系列交互。它会话过程中,服务器为用户创建一个Session对象,用来存储该用户的状态信息,这个Session对象是唯一的,并且持续存在,直到用户完成操作离开或者超时。1、请求次数:重定向是客户端发起的两个请求,第一个请求是当前页面到服务器的,第二个请求是服务器返回的重定向地址;2、数据传输方式不同:GET将数据附加在URL之后,通过URL传输,数据在URL中是可见的;

2024-01-22 22:21:35 395

原创 面试题(三)mybatis

把经常访问但是不经常修改的数据存储在缓存内容中,减少与数据库交互,从而达到提高效率的目的①、一级缓存默认存在,无法关闭缓存的数据存储在SQLSession对象中(类似Map集合,键对应的sql语句,值就是语句对应的结果)不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。②、二级缓存是把缓存的数据存储在SQLSessionFactory上面(对象内部)二级缓存的数据,所有的session可以共用二级缓存默认关闭,使用的需要配置。

2024-01-22 19:26:02 704

原创 初始js,js的变量

JavaScript 是⼀种采⽤事件驱动的脚本语⾔,它不需要借助web服务器就可以对⽤户的输⼊做 出响应,例如我们在访问⼀个⽹⻚时,通过⿏标在⽹⻚中进⾏点击或滚动窗⼝时,通过JavaScript可以直 接对这些事件做出响应。JavaScript引擎的解析⽅式是:先解析代码,获取所有被声明的变量,然后再⼀⾏⼀⾏地运⾏。JavaScript在预编译期会先预处理声明的变量,但是变量的赋值操作发⽣在JavaScript 执⾏期 ,⽽ 不是预编译期。console.log("爱你孤身⾛暗巷,爱你不跪的模样");

2024-01-19 23:27:43 425

原创 JS的数据类型和运算符

typeof()方法:检测数据类型。

2024-01-19 23:26:33 457

原创 Filter简单了解

过滤器实际上就是对web资源进行拦截,做一些处理后交给下一个过滤器或者servlet处理,通常都是拦截request的,也可以对response进行拦截处理;1、以指定的资源匹配。如 "/index.jsp"如 "/servlet/*"4、通配符,拦截所有web资源。

2024-01-18 17:53:21 458

原创 jsp的介绍

在HTML中嵌入java脚本代码。

2024-01-18 17:28:52 466

原创 JDBC面试题(二)

SQL注入攻击是通过操作输入来修改SQL语句,用以达到执行代码对WEB服务器进行攻击的方法。是指搜索系统自动按照用户输入关键词的同义词进行模糊检索,从而得出较多的检索结果。select * from student where sname like '%张%'

2024-01-17 18:44:02 857

原创 包装类和缓存池

在创建对象的时候,一般是使用new 来创建对象,但这样是会新建空间的,我们在包装类中可以使用valueOf(int)方法来创建对象,这样可以使用到缓存池,更高效。当然,拆装箱会影响代码执行效率,因为可能出现Integer是null的情况,这时候在拆箱就会NullPointerRxception空指针。因为java是个面向对象的语言,但是int这些数据类型是没法实例化的,所以需要一个包装类来修饰它,让它可以变成对象。注意:自动拆装箱只在编译阶段,目的是减少代码量。下面是基本类型和他对应的包装类。

2024-01-16 21:57:32 382

原创 JDBC面试题总结

数据库中表和对象的对象关系映射DAO层成为数据访问对象,主要封装数据库表的CRUD操作(create,read,update,delete)Service层也称为业务层,用于封装业务功能操作事务:是数据库中的一种特性,用于确保一个执行过程中的所有步骤全部加载成功或全部失败四大特征:原子性:事务具备原子性,说明事务是数据库中最小的工作单位,事务的原子性确保数据库操作过程中的所有步骤的全部成功或全部失败;一致性:指事务对于数据进行修改操作,要求数据修改前和修改后的状态保持一致。

2024-01-16 21:23:23 836 1

原创 缓存的介绍

缓存(cache),数据交换的缓冲区,当应用程序需要读取数据时,先从数据库中将数据取出,放置在 缓冲区中,应用程序从缓冲区读取数据。一级缓存是默认开启的,只能对同一个SqlSession对象而言//结果为true//结果为false因为这里的sqlSession被关掉了一次,又重新建立的sqlSession和之前的不是同一个,缓存被删掉重新建立了一个,所以“ == ”的结果是false。

2024-01-15 19:33:13 2064 1

原创 Servlet简介

Servlet是在服务器端运行的Java程序,可以接收客户端请求并做出响应。

2024-01-15 18:45:35 393 1

原创 spring简单了解

Spring 是一个轻量级、非入侵式的 控制反转 (IoC) 和 面向切面 (AOP) 的框架。

2024-01-13 22:26:15 933 1

原创 用注解编译mybatis

sql语句变成了不可变的,有硬编码的问题,就变得和JDBC一样了,只是书写简单了一些。就完成了注解编译,很简单,当然得删掉 .xml,因为id重复还在。在Mapper的文件下的接口mapper中,写成。@+方法名+(“sql语句”)

2024-01-12 16:41:58 337 1

原创 动态SQL简介

用于修改的动态SQL,主要功能和 where 标签元素其实是差不多的,主要是在包含的语句前输出一个 set, 然后如果包含的语句是以逗号结束的话将会 把该逗号忽略,如果 set 包含的内容为空的 话则会出错。5、复杂逻辑处理:当 SQL 逻辑较为复杂,需要根据不同条件进行不同的处理时,可以使用动态 SQL 中的 choose(类似于 Java 中的 switch)、when、otherwise 等标签来实现。例如,根据用户提供的关键字进行模糊查询,或者根据不同的筛选条件动态拼接 WHERE 子句。

2024-01-12 13:22:37 472 1

原创 鸿蒙学习(二)-ArkUI组件

1、string格式,直接填写文本内容Text("文本哈哈哈哈")2、Resource格式,读取本地资源文件base是默认目录,里面放普通的内容,en_US和zh_CN是区分国家用的,里面放限定词目录(国家,语言,设备),string.json中放的限定内容,可以使代码在中文设备展示中文,英文设备展示英文,当限定词目录都不匹配,就去限定词目录,所以限定词目录一定要写。

2023-12-12 17:48:00 155

基于java的健身房管理系统

需要连接数据库,内有数据,直接按步骤连接即可,在源码文件中选1个即可,里面有说明文档,根据文档进行操作。

2023-11-18

BMS图书管理系统.zip

BMS图书管理系统.zip

2023-11-18

空空如也

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

TA关注的人

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