自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 电商支付实战项目与相关面试题总结(全程教学Java后端开发简历第一个基础项目)

使用 SpringBoot + MyBatis + MySQL + Redis + RabbitMQ 进行系统的搭建,该项目是高仿微电 商系统+通用支付系统的双系统项目,实现了支付、购物车、商品管理、用户管理、订单管理、地址管理等。(项目介绍,如果你很熟悉,也可以包装成参加比赛,毕业课设等)

2023-07-10 14:10:46 2206 3

原创 博主的联系方式

如有需要请联系微信:trapchopper企鹅:434695292欢迎讨论博客内的所有内容,需要完整代码,资料课程,指出错误等...

2023-05-10 10:57:00 48

原创 Redis实现分布式锁

如果线程 A 成功获取到了锁,并且设置了过期时间 30 秒,但线程 A 执行时间超过了 30 秒,锁过期自动释放,此时线程 B 获取到了锁;随后 A 执行完成,线程 A 使用 DEL 命令来释放锁,但此时线程 B 加的锁还没有执行完成,线程 A 实际释放的线程 B 加的锁。如果线程 A 成功获取锁并设置过期时间 30 秒,但线程 A 执行时间超过了 30 秒,锁过期自动释放,此时线程 B 获取到了锁,线程 A 和线程 B 并发执行。,当获取锁失败时,订阅锁释放消息,获取锁成功后释放时,发送锁释放消息。

2024-07-19 20:12:59 409

原创 中位数

import java.util.*;​public class Main{ static int[] a; static int[] b; static int l; public static void main(String[] args){ Scanner sc = new Scanner(System.in); ...

2024-07-08 10:03:00 331

原创 强连通分量

#include<bits/stdc++.h>using namespace std;int n; // 节点数量int G[1010][1010]; // 图的邻接矩阵表示int Time,sum; // Time用于记录DFS的时间,sum用于记录强连通分量的数量int beg[1010],low[1010]; // beg记录每个节点开始被访问的时间,low记录每个...

2024-07-07 10:25:00 70

原创 矩阵连乘

import java.util.Scanner;class Main { // 定义矩阵类 static class Matrix { int x, y; // x表示矩阵的行数,y表示矩阵的列数 } static Matrix[] a; // 存储矩阵数组 static int[][] m; // 动态规划数组,用于存储最小乘法...

2024-07-07 10:24:00 93

原创 回溯大合集+主元素+DFS图

子集和问题import java.util.Scanner;​public class Main { static int n; // 元素个数 static int tarsum; // 目标和 static int remainSum = 0; // 当前元素加到最后一个元素的总和,剩余元素和 static int sesum = 0; // 已选元素之...

2024-07-07 10:15:00 64

原创 背包问题大合集

dp背包3步曲1.确定dp[i] [v]的含义(一维的话是dp[v]) :在 0…i 的物品中,体积为 v 的背包中,能够拿到的最大价值为 dp[i] [v]。2.求关系式 不拿物品:(物品数量减少) 一维:dp[v] 二维:dp[i] [v] = dp[i-1] [v] 拿:(物品数量减少,背包体积减物品体积) 一维:dp[...

2024-07-07 10:04:00 199

原创 优质文章精选

为什么要看?任何书籍或者专栏或者视频,都不可能把各类问题覆盖,所以我们需要多看一些文章多看一些博客来作为补充,比如有些内容你看了视频或者书籍没有理解,就可以通过看文章加深理解了,如果一篇文章看了还不理解,那么就多看几个不同的版本,看多了,也就懂了。消息队列《吃透 MQ 系列》之扒开 Kafka 的神秘面纱《吃透 MQ 系列》之 Kafka 架构设计的任督二脉《吃透 MQ 系列》之 Ka...

2023-12-16 15:50:00 875

原创 如何优雅的使用微信小程序的wx.request请求(封装request.js工具类)

首先官方的文档不是支持Promise风格的请求 我们通过官方文档可以看到微信小程序发请求的一些具体参数,下面的代码展示了用wx.request()发送的一个标准请求:wx.request({ url: "https://xxx.com", method:"POST", data:{ phone:187****...

2023-11-21 15:57:00 1022

原创 Linux部署项目教程 速通版

购买服务器,略,阿里云什么的都可以。连接服务器个人推荐这个免费开源的,下好连接即可,略。简单易用的终端工具——NxShell-CSDN博客Docker1 在Cent OS安装docker1) 先有一个Cent OS 7.6系统这个很重要,不同版本按照的时候是不一样的。查看CentOS版本 cat /etc/redhat-release 2) 用root账户登录进去3) 配置国...

2023-11-21 15:53:00 104

原创 4000字干货长文,3大角度,带你拆分爆款视频

如果你是一名还准备入行的小白,请你务必看完这篇长文,它将带你快速搞懂如何拆解短视频。如果你是一名每天浪费大量“灵魂时间”刷短视频的普通人,更请你务必看完这篇长文,它将带你摆脱思考的懒惰,带你在不断削弱思考能力的短视频时代杀出一条血路。如果你是一名经验丰富的运营,也请你务必看完这篇长文,它将尝试帮你查缺补漏,或者本文有写少的、不对的地方请您麻烦指点指点,古人有云:教学相长也,指导他人的同时说不...

2023-09-10 23:03:00 833

原创 校招Java后端不知道做什么项目放到简历上?电商支付实战项目与相关面试题万字总结一条龙服务...

电商支付实战项目与相关面试题总结接下来我将用一篇万字长文,总结好这个项目以达到可以正面硬钢面试官的水平,如果作为一个毫无头绪的大学生的你,简历中需要一个还算拿得出手的项目,那么在2023年的今天,足矣作为一个还算OK的项目写进你的简历。当然,这只能算简历中的第一个项目,你还需要一个更好一些的项目作为重头戏。(具体视频教程联系我)因本人写下这篇文章时依旧才学疏浅,在本项目中暂时不考虑软件工程中...

2023-07-10 14:06:00 1343

原创 傻瓜式解决 OpenSSL SSL_read: Connection was reset, errno 10054等Git连接失败问题

搞了一下午,不管是使用魔法git push 和 clone 还是修改各种配置依然会报网络连接错误,谷歌了一下午基本上都就是输入各种配置重置代理什么的,但是依旧未解决。后面找到一个不用魔法,并且完美解决网络失败问题的软件。FastGithub下载及使用 - 知乎 (zhihu.com)当然你会发现下载这个软件也要上github(有点搞笑),如果你有vpn那么就下载软件即可,没有vpn可以查看...

2023-06-24 17:28:00 161

原创 二分搜索树(校招数据结构最低要求版)Java

二分搜索树(Binary Search Tree,BST)是一种常见的数据结构,它能够高效地存储和查找数据。它的特点是每个节点都包含一个值,并且每个节点的左子树的值都小于节点的值,右子树的值都大于节点的值。查找通过这种有序的排列方式,我们可以在二分搜索树中进行高效的查找操作。想象一下,如果我们要查找一个特定的值,我们可以从根节点开始比较它与当前节点的值的大小关系。如果它比当前节点的值小,我们...

2023-06-23 16:12:00 73

原创 力扣875. 爱吃香蕉的珂珂(二分查找)

珂珂喜欢吃香蕉。这里有 n 堆香蕉,第 i 堆中有piles[i]根香蕉。警卫已经离开了,将在 h 小时后回来。 珂珂可以决定她吃香蕉的速度 k (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 k 根。 如果这堆香蕉少于 k 根她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。 珂珂喜欢慢慢吃,但仍然想在警卫回来前吃掉所有的香蕉。 返回她可以在 h 小时内吃掉所有香蕉的最小...

2023-06-22 16:28:00 87

原创 二分查找法lowerCeil版(找某个重复值的最小下标)利用二分upper法实现

也是利用二分的upper法实现的,不知道什么是upper?看这里 -> 二分查找法upper版(找大于某个值的最小下标)递归+非递归版 - 翰林猿 - 博客园 (cnblogs.com)思路:先利用upper找到上界的index拿着index-1的下标(也就是重复值的最大下标)向前遍历,一直到遍历到发现不相等的元素即可。package com.Search;​/**...

2023-06-22 14:48:00 68

原创 二分查找法ceil版(找某个重复值的最大下标)利用二分upper法实现

如果有等于target的元素就返回最大的下标元素。如果没有等于target的元素,那么就返回大于target的最小元素,即这一篇文章实现的upper函数。二分查找法upper版(找大于某个值的最小下标)递归+非递归版 - 翰林猿 - 博客园 (cnblogs.com),当然你们也可以更改返回值-1什么的作为查找失败。package com.Search;​/** * @...

2023-06-22 14:05:00 38

原创 二分查找法upper版(找大于某个值的最小下标)递归+非递归版

需求:比如说查询一个班级大于60分的最低分等等。思路与二分法基本相同,只不过是对比的逻辑发生了一些小变化,这里所说的上界就是指大于某个值的最小下标。当mid < target :说明 target 的上界还在mid的右边,所以要去找比mid大的当mid > target:说明 mid 有可能是target的上界,所以我们加个判断,如果mid前一个元素就刚好是target...

2023-06-22 13:47:00 55

原创 MVCC并发版本控制之重点ReadView

MVCC并发版本控制本文大部分来自《MySQL是怎样运行的》,这里只是简单总结,用于各位回忆和复习。版本链对于使用 InnoDB 存储引擎的表来说,它的聚簇索引记录中都包含两个必要的隐藏列(不知道的快去看《MySQL是怎样运行的》)trx_id :每次一个事务对某条聚簇索引记录进行改动时,都会把该事务的 事务id 赋值给 trx_id 隐藏列。roll_pointer :每次对...

2023-06-19 18:33:00 55

原创 Git使用教程(带你玩转GitHub)

Git使用教程(理论实体结合体系版)下载安装:按照这个博客来就好Windows系统Git安装教程(详解Git安装过程) - 学为所用 - 博客园 (cnblogs.com)Git命令大全:Git 大全 - Gitee.com最小配置:在桌面右键点击Git Bash Here进入命令行,GUI我们不常用。首先要设置你的用户名称和 e-mail 地址, 因为每次 Git 提交都会使...

2023-06-19 18:12:00 86

原创 大白话讲解数据库的三级模式(所谓的内外模式在生活中到底是什么东西?)

进货工人按进货时间啦,数量啦排表,老板按价格啦,质量啦排表,官员按保质期啦,啥啥啥排表,又把你的全部或者是部分货物排了表,这些排表就是,外模式。但是你用于记录全部货物的表,所服务的不同的人,可以根据你的模式,设计各自不同的表,也就是外模式不只有一个。完事你写了一张表,表上对全部货物按某个标准分类,而且标清了啥货物在哪(这个是模式内模式映射),你写的这个表就叫,模式。你有一个仓库,仓库里成千上万的货物,随便你怎么堆,你堆个正方体,堆个圆柱体,甚至随便乱堆都行,你怎么堆的叫内模式。

2023-06-03 13:30:22 100 1

原创 大白话讲解数据库的三级模式及二级映像(所谓的内外模式在生活中到底是什么东西?)...

具象化理解数据库的三级模式及二级映像形象一点来说,把数据看做货物,数据库是仓库,模式就是表格。你有一个仓库,仓库里成千上万的货物,随便你怎么堆,你堆个正方体,堆个圆柱体,甚至随便乱堆都行,你怎么堆的叫内模式。完事你写了一张表,表上对全部货物按某个标准分类,而且标清了啥货物在哪(这个操作就是从内模式变成模式的映像),你写的这个表就叫,模式。然后你把这张表贴到大门口,随着货物的进出对表中数据...

2023-06-03 13:29:00 108

原创 Mybatis Generator 配置详解

因原版观感不佳,搬运至此。作者:Jimin 链接:https://www.imooc.com/article/21444 来源:慕课网<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator C...

2023-05-29 13:25:00 159

原创 选择排序算法之泛型优化

选择排序算法工作原理:每一次从待排序的数据元素中选中最小的一个元素,然后,再从剩余未排序元素中继续寻找最小元素,将2个元素交换位置,就达到了已排序的元素一直是从小到大了。这个算法的时间复杂度为O(n²),空间复杂度为O(1)。/** * @Author: 翰林猿 * @Description:选择排序 **/public class Select { public Sel...

2023-05-25 20:19:00 34

原创 归并排序Java版(图文并茂思路分析)

归并排序工作原理:工作原理是将一个大问题分解成小问题,再将小问题分解成更小的。(乍一看就觉得是像一个递归)就像下图这样。然后不断的将其一份为二,分解成更小的排序。我们设一个函数叫MergeSort(arr,l,r)意思就是将arr数组下标为[ l ,r ]之间的数进行排序。那么就开始不断的调用自己,从而不断的将数组一分为二int mid = ( l + r ) / 2;MergeS...

2023-05-25 12:24:00 821

原创 MyBatis体系笔记

MyBatis什么是MyBatisMyBatis是优秀的持久层框架 MyBatis使用XML将SQL与程序解耦,便于维护 MyBatis学习简单,执行高效,是JDBC的延伸1.MyBatis开发流程 引入MyBatis依赖 创建核心配置文件 创建实体(Entity)类 创建Mapper映射文件 初始化SessionFactory利用S...

2023-05-25 10:05:00 92

原创 三路快排Java版(带思路分析)

快速排序这里我们直接开始讲相对的最优解 带随机数的三路快排 好了,中间还有很多版本的快排,但是都有一些问题导致在某种极端情况下造成耗费时间极多。基础快排:在序列本身有序的情况下复杂度为O(n²)带随机数的快排:在序列本身有序的情况下复杂度为O(nlogn),但是在序列全部元素相同情况下复杂度为O(n²)带随机数的双路快排:比前者更快一些为O(n),因为前后同时向中间遍历,但是...

2023-05-25 10:04:00 99

原创 一篇看懂递归的套路解题法

递归所谓递归,不过是将一个复杂问题分解为一个更小的问题进行求解,在这里我们不再扯太多犊子了,网上有太多递归的介绍让人眼花缭乱摸不着头脑,我们直接开始讲解递归的解体思路。第一步:求解最基本问题并将其返回这一步也就是网上所谓的递归出口,但是个人认为递归出口不太能很好的描述这个意思,其实本质就是求出来最简单的问题最后一项并将其返回,一般这个项也就是返回一个1或者0之类的东西。不说废话,举个例子。...

2023-05-19 09:01:00 32

原创 插入排序Java版

插入排序工作原理:从头开始遍历数组,如果发现当前项比前一项小,说明当前项应该插到前面,交换一下即可。利用双层for循环,第一层是遍历整个数组,第二层负责遍历当前所遍历到的位置之前的数组。/** * @Author: 翰林猿 * @Description: 插入排序 **/public class Insert { public Insert() { }​ ...

2023-05-19 08:58:00 31

原创 反转链表 Java版 图文并茂思路分析带答案(力扣第206题)

反转链表 力扣第206题我们不只是简单的学习(背诵)一个数据结构,而是要分析他的思路,以及为什么要有不同的指针等等非递归方式:思路分析:首先要链表有个头指针没有任何问题然后,我们要将1的下一个节点指向空,这样才能将其反转过来,但是这个时候我们发现和下一个节点2失去了联系所以我们要有一个指针,在1还没有将next指向空前,记录下2的位置。所以我们用一个next指针记录2。并为了好理...

2023-05-18 23:58:00 65

原创 韩顺平Spring体系化笔记(内含ioc,aop,动态代理等底层原理)

SpringSpring 核心学习内容 IOC、AOP、 JdbcTemplate、声明式事务1.Spring 几个重要概念 Spring 可以整合其他的框架(Spring 是管理框架的框架) Spring 有两个核心的概念: IOC 和 AOPIOC Inversion Of Control 控制反转动态代理(学好了才能学好AOP)AOP Aspect-or...

2023-05-12 14:41:00 316

原创 Vue生命周期详解

Vue生命周期new Vue() new 了一个 Vue 的实例对象,此时就会进入组件的创建过程。Init Events & Lifecycle 初始化组件的事件和生命周期函数 beforeCreate 组件创建之后遇到的第一个生命周期函数,这个阶段 data 和 methods 以及 dom 结构都未被初始化,也就是获取不到 data 的值,不能调用 methods...

2023-04-18 21:46:00 32

原创 JDBC详解(韩顺平教程)

JDBC一、原理示意图二、前提步骤IDEA导入MySQL的jdbc驱动,并操作数据库 - 打点 - 博客园 (cnblogs.com)三、JDBC编写步骤:用法1:package Hsp.JDBC;​import com.mysql.jdbc.Driver;import java.sql.Connection;import java.sql.SQLException;i...

2023-04-12 19:41:00 279

原创 JavaWeb中Servlet、web应用和web站点的路径细节("/"究竟代表着什么)

JavaWeb中Servlet、web应用和web站点的路径细节("/"究竟代表着什么)1 开门见山新建一个tomcat web项目,配置tomcat的虚拟目录,取默认值(/项目名_war_exploded)那么如果你的tomcat的默认站点(即http://localhost:8080)没有更改的话,这个项目的两个重要的根目录就出来了web站点根目录为:http://localhos...

2023-04-12 19:38:00 567

原创 JavaWeb之Servlet详解(以及浏览器调用 Servlet 流程分析图)

Servlet1.什么是ServletServlet(java 服务器小程序)他是由服务器端调用和执行的(一句话:是Tomcat解析和执行) 他是用java语言编写的, 本质就是Java类 他是按照Servlet规范开发的(除了tomcat->Servlet weblogic->Servlet)功能强大,可以完成几乎所有的网站功能2.开发方式编...

2023-04-12 19:35:00 731

原创 JavaWeb技术栈图(web服务器+web容器是何物)

JavaWeb技术栈图(web服务器+web容器是何物)两个重要概念web服务器+web容器什么是Web服务器?Tomcat 服务器就是一个免费的开放源代码的 Web 应用服务器web服务实际上就是解析了客户端/浏览器发来的http请求,并将其做出一定的处理。比如说将请求头和请求体中的各个元素拆开打包成一个对象,从而供后端(容器)调用API获取。什么是web 容器?WEB 容器给处...

2023-04-12 19:34:00 76

原创 Javaweb文件上传至服务器/从服务器下载

Javaweb文件上传至服务器/从服务器下载思路图文件上传思路:也可以直接看代码判断是不是文件表单(判断form的enctype是不是="multipart/form-data"),因为只有文件表单才能上传文件创建 DiskFileItemFactory 对象, 用于构建一个解析上传数据的工具对象创建一个解析上传数据的工具对象servletFileUpload关...

2023-04-12 19:33:00 113

原创 Mysql数据库体系化详细笔记(b站韩顺平)

Mysql数据库一、数据库mysql服务启动,在cmd输入net start mysql#创建数据库 CREATE DATABASE hsp_db01; #创建一个使用 utf8 字符集的 hsp_db02 数据库 CREATE DATABASE hsp_db02 CHARACTER SET utf8 #创建一个使用 utf8 字符集,并带校对规则的 hsp_db03 数据库 C...

2023-03-26 22:56:00 207

原创 类加载阶段详解

类加载阶段类加载过程图加载阶段ClassLoader类加载阶段是类加载过程的第一个阶段,主要完成以下三件事情:通过类的全名,获取类的二进制字节流。将字节流所代表的静态存储结构转换为方法区的运行时数据结构。在内存中(堆)生成一个代表该类的 Class 对象,作为方法区这些数据的访问入口。连接Linking验证阶段目的是确保Class文件的字节流中信息符合虚拟机要求,并且不...

2023-03-19 23:35:00 21

空空如也

空空如也

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

TA关注的人

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