自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis-Cell 限流工具

Redis4.0 开始提供了一个 Redis-Cell 模块,这个模块使用漏斗算法,提供了一个非常好用的限流指令。漏斗算法就像名字一样,是一个漏斗,请求从漏斗的大口进,然后从小口出进入到系统中,这样,无论是多大的访问量,最终进入到系统中的请求,都是固定的。接下来修改 redis.conf 文件,加载额外的模块:然后,启动 Redis:redis 启动成功后,如果存在 CL.THROTTLE 命令,说明 redis-cell 已经安装成功了。CL.THROTTLE 命令一共有五个参数执行完成后,返

2022-06-06 20:59:16 721 1

原创 Redis和Redisson实现分布式锁

IJedisExec.javaLockTest .java分布式锁实现的思路很简单,就是进来一个线城先占位,当别的线城进来操作时,发现已经有人占位了,就会放弃或者稍后再试。在 Redis 中,占位一般使用 setnx 指令,先进来的线城先占位,线城的操作执行完成后,再调用 del 指令释放位子。还有一个问题,就是在获取锁和设置过期时间之间如果如果服务器突然挂掉了,这个时候锁被占用,无法及时得到释放,也会造成死锁,因为获取锁和设置过期时间是两个操作,不具备原子性。为了解决这个问题,

2022-06-06 20:45:16 440

原创 Redis

redis是一款开源的非关系型数据库(NoSQL),是由C语言去编写,基于Key-Value的NoSQL,而且Redis是基于内存存储数据的。官网链接:https://redis.io/3.2 测试3.3 Jedis连接池的操作四、Redis其他配置4.1 Redis的AUTH通过修改Redis的配置文件,实现Redis的密码校验4.2 Redis的事务没有回滚(所以需要配合 watch 一起使用)4.3 Redis持久化机制4.3.1 RDB4.3.2 AOF4.3.3

2022-06-06 20:26:06 418

原创 springboot邮件发送

一、前言我们经常会听到各种各样的邮件协议,比如 SMTP、POP3、IMAP ,那么这些协议有什么作用,有什么区别?我们先来讨论一下这个问题。SMTP 是一个基于 TCP/IP 的应用层协议,江湖地位有点类似于 HTTP,SMTP 服务器默认监听的端口号为25SMTP 协议全称为 Simple Mail Transfer Protocol,译作简单邮件传输协议,它定义了邮件客户端软件与 SMTP 服务器之间,以及 SMTP 服务器与 SMTP 服务器之间的通信规则。SMTP 服务器就是用来收邮件。而

2022-05-12 12:32:20 405

原创 SpringBoot整合MyBatis-Plus以及逆向工程

一、快速开始1.1 官方文档Mybatis-Plus官方文档链接1.2 创建数据库和数据库表/* Navicat Premium Data Transfer Source Server : ahao Source Server Type : MySQL Source Server Version : 50734 Source Host : localhost:3306 Source Schema : mp Target Se

2022-05-10 21:01:47 728

原创 SpringBoot中的静态资源和异常处理问题

一、静态资源Spring Boot 中默认提供了五个静态资源存储路径:classpath:/META-INF/resources/classpath:/resources/classpath:/static/classpath:/public//(webapp)五个位置,优先级依次降低。如果需要自定义静态资源位置,有两种方式:application.properties 中进行配置spring.mvc.static-path-pattern=/static/**spring.w

2022-05-09 19:53:11 364

原创 spring框架

一、Spring1.1 概念spring是一个控制反转(IOC)和面向切面的开原框架Spring是众多优秀设计模式的组合(工厂、单例、代理、适配器、包装器、观察者、模板、策略)。Spring并未替代现有框架产品,而是将众多框架进行有机整合,简化企业级开发,俗称"胶水框架"。1.2 官网地址点击跳转:spring官网二、Spring框架的构成核心技术:依赖注入,AOP,事件,资源,i18n,验证,数据绑定,类型转换,SpEL。测试:模拟对象,TestContext框架,Spring M

2022-04-23 17:25:46 1051

原创 Servlet文件上传

松哥带来的Servlet文件上传import javax.servlet.ServletException;import javax.servlet.annotation.MultipartConfig;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.h

2022-04-12 11:40:43 240

原创 Servlet+过滤器

一、Servlet1.1 概念Servlet:Server Applet的简称,是服务器端的程序(代码、功能实现),可交互式的处理客户端发送到服务端的请求,并完成操作响应。动态网页技术JavaWeb程序开发的基础,JavaEE规范(一套接口)的一个组成部分。1.1.1 Servlet作用接收客户端请求,完成操作。动态生成网页(页面数据可变)。将包含操作结果的动态网页响应给客户端。1.2 Servlet 开发步骤1.2.1 环境搭建新建一个普通的java项目,File–>

2022-04-01 20:12:03 553

原创 B/S架构与Tomcat服务器

一、软件架构1.1 C/S架构(Client/Server 客户端/服务器)特点:在客户端安装软件优点:图形界面显示较好(例如:3D游戏)升级麻烦、不利于维护1.2 B/S架构(Browser/Server 浏览器/服务器)特点:不需要安装客户端软件,需要通过http协议访问优点:升级只需要在服务器升级,方便维护缺点:图像显示效果不如C/S二、服务器2.1 概念2.1.1 什么是webWeb(World Wide Web) 称为万维网,简单理解就是网站,它用来表示Inte

2022-03-30 19:43:17 2018

原创 JDBC简单小结

一、JDBC1.1概念 JDBC(Java Database Connectivity) Java 连接数据库的规范(标准),可以使用 Java 语言连接数据库完成 CRUD 操作。1.2 API类型权限定名简介classjava.sql.DriverManager管理多个数据库驱动类,提供了获取数据库连接的方法interfacejava.sql.Connection代表一个数据库连接(当connection不是null时,表示已连接数据库)interfa

2022-03-28 20:53:43 1054

原创 常用sql语句,最简洁没有之一

一、操作数据库1.1 创建数据库create database 数据库库名;1.2 创建数据库判断是否存在create database if not exists 数据库的库名;1.3 创建数据设置编码格式create database 数据库的名称 character set 编码格式;1.4 查看数据库创建的格式show create database 数据库库名;1.5 查看所有的数据库show databases;1.6 修改数据库的编码格式alter

2022-03-25 21:10:19 1459

原创 MySQL简单笔记

数据库一、简介​ 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合 ;数据库存储数据的仓库二、数据库的分类分类:关系型数据库 与非关系型数据库关系型数据库 数据库中的表与表之间存在的关联 例子:班级表 ==>学生表常见的关系型数据 db2 mysql sqlite oracle sqlserver非关系型数据库:数据库中表与表不存在的关系常见非关系型数据库 redis(键值对) mon

2022-03-25 19:31:23 707

原创 JavaScript定时器倒计时60S的使用

启用定时器 setInterval(function,毫秒数)删除定时器 clearInterval(定时器对象);案例:点击按钮后开始倒计时60s倒计时期间禁用按钮计时结束后恢复按钮代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <script sr.

2022-03-22 20:04:27 3121

原创 HTML+CSS

HTML一、什么是HTML?HTML的全称为超文本标记语言,是一种标记语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等 。------百度百科归纳:1. HTML是超文本标记语言2. 文本:txt文本 只能用于存放文字或者是字符3. 超文本:不仅可以用于来描述文字 还可以用于来描述图像 音频 视频 超链接4. 标记:类似j

2022-03-19 23:42:31 754

原创 jdk8新特性

一、Lambda表达式本质:是一个匿名的接口前提条件 必须是函数型接口 接口中只能有一个抽象方法 可以有其它的方法作用:简化匿名内部类的写法语法: (参数) ->{方法体}解释:(参数)==>接口中抽象方法的参数-> 指向方法体{} 执行方法的操作Lambda 表达式简化的方式A. 如果方法只有一个参数 小括号与数据类型可以省略B. 如果方法体 只有一句话 这句话是retrun 就可以省略大括号 与retrun与分号C. 如果方法没有返回值 只有一句方法体 可

2022-03-11 21:14:36 3534

原创 Java注解

注解1. 简介注释:用于解释说明代码 主要用于提供给程序查看注解:用于对代码进行解释说明 主要提供给jvm来进行查看定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释A.在jdk1.5之后引用的新的特性 B.用于对元素进行说明 注释 C.注解又称 元数据作用分类:A.编写文档:通过代码里标识的元数据生成

2022-03-11 20:38:39 362

原创 Java反射

一、反射的概念反射机制 : 将类的各个部分 组成一个新的对象(Class 对象) 就是反射机制反射使用场景: A.框架 B.热修复…反射是所有框架的灵魂 所有的框架都使用了反射技术Java中所有的类在反射面前都是裸体(通过反射可以获取到所有的资源)二、获取反射对象第一种方法: 通过 对象名.getClass() 这种方式使用的比较少第二种方式: 通过 类名.class 来获取第三种方式: Class.forName(“完整的包名+类名”) 这种方式比较常用代码:i

2022-03-11 15:37:22 7637 3

原创 Properties工具类的封装

Properties工具类的封装工具类:import java.io.FileInputStream;import java.io.IOException;import java.util.Properties;public class PropertiesUtils { private static PropertiesUtils propertiesUtils = null; Properties properties = null; private Propert

2022-03-10 20:51:39 326

原创 Java--IO流

一、IO1.1 简介:1.I==>Input 输入 Output 输出 用于不通过设备进行信息的交互2.使用的场景: A.文件的复制 B.文件上传的下载 C.(即时通信)微信中信息的传递3.IO 分类 流向划分:输入流与输出流 类型划分:字节流与字符流4.输入流与输出流的解释5.字节流与字符流的解释 字节流: A.万物皆字节 系统上任何的资源都可以使用字节来进行表示 B.一般读写文件 音视频 图片 C.分

2022-03-10 20:44:58 183

原创 File类

一、File1.1 简介文件和目录路经名的抽象表示形式==>可以把文件或者文件的路径构成一个File可以使用其方法路径: 绝对路径与相时路径绝对路径:从隔壁盘符开始的路径相对路径:相对于具体参照物的路径1.2 构造方法构造方法的名称构造方法的描述public File(File parent, String child)根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例public File(Str

2022-03-10 19:48:01 167

原创 Java集合

一、 集合的遍历方式1. 将集合转换为数组遍历(了解)2. 增强for遍历3. 迭代器遍历代码:import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class Test01 { public static void main(String[] args) { Collection<String> collection = new A

2022-03-10 19:23:32 98

原创 设计模式---单例模式

单例模式1.单例设置模式的特点:有且仅实例化一个对象2.使用场景:加载配置信息 工具类 spring 容器对象的注入3.有且仅实例化一个对象 A.私有的属性 B.私有的构造方法 C.公有的方法4.单例设置模式的分类:饿汉 懒汉 双重锁 内部类 枚举(作业).....懒汉式谁用谁创建,线程不安全代码:public class Single { //私有的属性 private static Single single; //私有的构造 p

2022-03-10 09:22:50 168

原创 Java多线程

一、线程1.1 并发与并行的概念(重点)程序: 一个固定逻辑与数据的集合就是程序 例如 俄罗斯方块 贪吃蛇cpu: 中央处理器 主要用于协调程序与硬件的工作并发与并行并发(高并发): 在同一一个时间段 执行两个 或者多个程序的 单核cpu 交互的执行 由于cpu切换的速度比较块可能产生的误区 是同时执行 是交替执行并行:在同一个时刻 执行两个或者是多个程序的时候 多核cpu 同时执行 目前电脑都是多核的cpu例子:看小电影 听音乐 例子:玩游戏 键盘侠1.2 进程

2022-03-09 22:00:48 70

原创 JQuery+Ajax

jQuery什么是jQuery?jQuery是一款JavaScript库,query的用途是来做查询使用jQuery让我们的对html文档遍历和操作,事件处理、动画以及Ajax变得简单(write less,do more)jQuery的使用下载jQuery库下载地址:https://jquery.com/download/引入jQuery库<script src="https://code.jquery.com/jquery-3.6.0.min.js"><

2022-03-07 20:58:53 650

原创 Git工具的使用

Git工具的使用第一章 Git介绍Git是一个分布式版本控制系统,可以高效的处理各种项目第二章 Git常用命令git config --global user.name //设置用户签名git config --global user.email //设置用户签名git init //初始化本地库git status //查看本地库状态git add //添加暂存区git commit -m"日志信息" 文件名 //提交到本地库git reflog //查看历史

2022-02-02 15:11:53 798

转载 Java打印各种三角形

Java打印各种三角形打印正等腰三角形// 利用控制台输入行数打印各种三角形 Scanner ss = new Scanner(System.in); System.out.println("请输入正等腰三角形的行数:"); int line1 = ss.nextInt(); for (int i = 1; i <= line1; i++) { for (int k = 1; k <= line1 - i; k++) { System.out.pr

2021-04-06 23:39:22 8312

原创 continue、break、return的使用

public class Test5 { public static void main(String[] args) { for (int i = 1; i < 10; i++) { if (i==5){ continue;//结束当次循环 } System.out.println("i="+i); } System.out.println.

2021-04-06 23:11:58 54

空空如也

空空如也

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

TA关注的人

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