博客
关于我
工厂模式
工厂模式工厂模式是一种软件设计模式,旨在通过抽象化的工厂类来简化对象的创建过程,从而实现对复杂对象的构造与管理。作用工厂模式的核心思想是通过抽象化的工厂类来简化对象的创建过程。这种模式允许应用程序在不直接涉及具体对象创建逻辑的情况下,轻松地构造所需的对象实例。这种抽象化的方式使得系统更加灵活,能够方便地扩展和维护不同的产品类型。分类根据工厂模式的实现方式,可以将其分为以下几种典型模式:简单工厂模式......
阅读量:796 次
2023-03-28
Java编程思想散记
位运算符左移(<<)在计算机科学中,位运算符左移(<<)是一个强大的工具,用于对二进制数据进行操作。左移运算实际上等价于将数据的二进制表示左移若干位,进而改变其值。例如,2<<3等价于2乘以2的三次方(2*2^3),结果为16。左移运算的基本公式可以表示为:a<<n=a×2^n这种操作在编程中广泛应用于数据的位操作处理,例如整数的移位、位掩码等。......
阅读量:796 次
2023-03-28
mysql服务崩了之后,使用mysql数据库存储文件夹data恢复数据库数据
在MySQL服务出现故障或被挂断之后,如何安全有效地恢复数据库数据,是每个数据库管理员都需要掌握的关键技能。本文将详细介绍从数据提取到最终恢复的完整流程。首先,需要访问MySQL的数据存储目录。通过运行以下命令可以快速定位到相关存储路径:SHOWGLOBALVARIABLESLIKE"%datadir%";接下来,进入数据库存储文件夹,通常位于/var/lib/mysql/或类......
阅读量:796 次
2023-03-28
AQS源码分析一(公平独占锁)
AbstractQueueSynchronizer(AQS)分析在分析Java并发包java.util.concurrent源码时,AbstractQueueSynchronizer(简称AQS)是一个不可或缺的核心组件,它是ReentrantLock、CountDownLatch、Semaphore等多个并发工具类的基础。通过深入分析ReentrantLock的公平锁实现,我们可以更好地理解AQ......
阅读量:797 次
2023-03-28
MySQL基准测试和mysqlslap
MySQL基准测试在Web应用中,数据库往往是整个系统的性能瓶颈。与其他组件(如网络带宽、负载均衡节点、应用服务器等)相比,MySQL由于数据一致性的要求,难以通过简单扩展来提升性能。尽管可以通过前置缓存(如Redis)、读写分离、分库分表等方式优化数据库性能,但这些方法与系统其他组件的水平扩展效果相比,仍显不足。基准测试是分析数据库性能的重要工具,其作用在于通过模拟大量操作,找出数据库在当前配置......
阅读量:796 次
2023-03-28
MySQL优化——Explain分析执行计划详解
文章目录文章目录一、前言在应用开发初期,开发人员对SQL语句的性能关注较少,但随着数据量的快速增长,性能问题逐渐显现,成为系统的主要瓶颈。本章将详细介绍MySQL中优化SQL语句的方法。二、查看SQL执行频率通过查看SQL的执行频率,我们可以初步了解系统中运行的SQL语句情况。MySQL提供了多种命令来分析SQL的执行情况。1.查看SQL统计参数可以通过以下命令查看当前session中所有统计参数......
阅读量:796 次
2023-03-28
MySQL—连表查询
数据库连接查询指南1.连接查询——内连接内连接是数据库查询中最常见的连接类型,用于将两个或多个表中的数据联合起来。内连接的特点是只返回两个表中都存在的记录。1.1隐式内连接隐式内连接是指在查询中未明确使用INNERJOIN或JOIN关键字,而是通过设置WHERE子句中的条件来实现的连接。这种方式虽然简单,但不够直观。错误示范:selectstudent.id,teacher.t_idfromstu......
阅读量:796 次
2023-03-28
mybatis实现增加数据并返回主键id
在系统实现中,经常需要在一个页面中插入多张表。这些表通常通过主表的id进行关联,这就需要知道主表添加数据后,新插入的记录的主键id是什么,进而为关联表赋值。以下是实现这一操作的方法。数据表之间的关联我们有以下两张表:人脸数据表:主要用于存储人脸信息,包含主键id。人脸图片表:用于存储人脸图片,关联人脸数据表的主键id。这两张表通过人脸数据表的主键id进行关联。在同一个页面实现两张表的添加操作在同一......
阅读量:796 次
2023-03-28
Mybatis分页插件PageHelper结合前端Element中el-pagination标签实现前后台分页
后台PageHelper与前台el-pagination分页实现后台PageHelper使用实现思路首先在项目的依赖管理文件pom.xml中导入相关插件依赖。接着,在应用程序的配置文件application.yml中配置PageHelper的相关参数。最后,在业务逻辑层调用PageHelper的startPage()方法进行分页处理。PageHelper是一种物理分页插件,它的分页操作是在对数据库......
阅读量:796 次
2023-03-28
mybatis04-分页插件、代码生成器、缓存
分页插件功能解析分页插件是用来实现分页功能的核心工具,它能够帮助开发人员快速完成对数据库数据的分页查询,从而提升应用程序的性能表现。核心原理分页插件通过在SQL语句末尾添加限制条件来实现分页功能。常见的实现方式是通过LIMIT关键字来限制返回的记录数量。以下是一个典型的分页SQL语句示例:select*from表名[where条件]limit(page-1)*pageSize,pageSize;其......
阅读量:796 次
2023-03-28
MongoDB基于windows的安装与启动
MongoDB安装与使用指南MongoDB简介MongoDB是一个开源、高性能、无模式的文档型数据库,设计初衷是简化开发并便于扩展,是NoSQL数据库产品中的一种。它与传统的关系型数据库(如MySQL)有所不同,但同样能够满足现代应用的数据存储需求。其数据结构松散,采用类似于JSON的BSON格式存储数据,支持多种数据类型,包括文档、数组和嵌套数组。MongoDB记录以文档形式存在,每个文档由字段......
阅读量:796 次
2023-03-28
MongoDB中的聚合(aggregate)查询($lookup、$unwind、$match、$project、$skip、$limit以及$sort操作符的使用)
MongoDB聚合管道操作指南MongoDB聚合管道操作指南<h2>一、概念</h2><p>管道在Unix和Linux系统中通常用于将命令输出作为下一个命令的参数。在MongoDB中,聚合管道则用于处理和转换数据,生成新的文档信息。管道操作可以重复使用,形成复杂的数据处理流程。</p><p>聚合框架是MongoDB处理数据的高级查询语言,......
阅读量:796 次
2023-03-28
ConcurrentHashMap对于不同JDK版本的不同结构(^_^^_^)
ConcurrentHashMap实现原理及优化分析ConcurrentHashMap是Java中用于并发环境下的高效数据存储结构,主要用于解决Hashtable在多线程环境下性能低下的问题。它的实现经历了多次改进,特别是在JDK1.5和JDK1.8中的不同版本,分别采用了不同的锁机制和数据结构。分段锁技术(JDK1.5)在JDK1.5中,ConcurrentHashMap使用分段锁技术将数据分成......
阅读量:797 次
2023-03-28
Maven的安装与配置(基于本地仓库阿里云镜像的配置:加快依赖下载速度)
一、下载Maven要开始使用Maven进行项目开发之前,首先需要下载并安装Maven。以下是具体的操作步骤:点击选择相应版本进行下载访问Maven官方网站(https://maven.apache.org),找到适合你操作系统版本的Maven镜像进行下载。下载完成后,解压压缩包,提取其中的文件夹内容即可。配置环境变量在操作系统中设置环境变量,确保Maven能够正确识别并使用。右键点击桌面,选择“新......
阅读量:796 次
2023-03-28
logback日志
logback配置指南1.依赖管理在项目中引入logback时,需要配置相应的依赖。通常,我们会选择以下版本:<dependency><groupId>org.logback-extensions</groupId><artifactId>logback-ext-spring</artifactId><version>0.1.......
阅读量:797 次
2023-03-28
liunx服务器上Jdk以及Tomcat的安装
安装JDK和Tomcat的服务器配置指南安装JDK和Tomcat是服务器配置的重要环节,尤其是在项目接近发布测试阶段时,确保环境配置正确是保证顺利运行的关键。以下是详细的配置步骤和注意事项。1.安装JDK1.1使用远程终端连接服务器首先,使用远程终端连接工具(如putty)连接到服务器。根据服务器提供的指引,输入IP地址、用户名及密码,完成连接。1.2检查现有JDK版本在命令行输入以下命令,查看当......
阅读量:798 次
2023-03-28
liunx下yum安装mysql5.6(简单、易懂、零报错!!!)
安装、启动MySQL服务过程中遇到报错问题,以下是详细的解决方案:一、彻底卸载Linux上的MySQL检查已安装的MySQL版本rpm-qa|grep-imysql停止MySQL服务servicemysqldstop删除已安装的MySQL版本rpm-ev先删除server和client:rpm-emysql-servermysql-client删除对应的YUM源文件:rpm-emysql-comm......
阅读量:797 次
2023-03-28
leetcode算法题1——两数之和(难度:简单)
一、题目两数之和:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定nums=[2,7,11,15],target=9因为nums[0]+nums[1]=2+7=9所以返回[0,1]二、解答这道题还是比较简单,常规思路可以用两个for循环暴力破解。但是两......
阅读量:797 次
2023-03-28
JWT深入浅出
JWT深入浅出1.JWT是什么JWT(JSONWebToken)是一种用于在网络应用间传递信息的开放标准,常用于身份认证和非敏感数据的传递。JWT的签名技术确保传输信息不被篡改,但不能保证信息传输的安全。JWT由三部分组成:Header头部、Payload载荷和Signature签名。JWT举例eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM......
阅读量:797 次
2023-03-28
jmeter的安装与基本使用(解决jmeter如何带token信息测试接口)
JMeter安装与使用指南一、JMeter安装安装JMeter前,确保已安装Java环境且版本为1.8或更高。以下是详细的安装步骤:下载JMeter访问JMeter官方网站,下载适合操作系统的压缩包。解压JMeter解压压缩包后,文件结构如下:设置JMeter环境变量在系统环境变量中,新建JMETER_HOME变量,路径指向解压后的JMeter文件夹。配置类路径在系统环境变量中,编辑或新建CLAS......
阅读量:797 次
2023-03-28