自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis实现持久化的策略

RDB定期的把我们Redis中的内存的数据,都写入硬盘中,并生成一个快照下面是redis的工作流程。

2024-07-04 22:10:43 182

原创 SpringMVC概念以及前后端交互

MVC 是 Model View Controller 的缩写,它是软件⼯程中的⼀种软件架构模式,它把软件系统分三个基本部分:模型、视图、控制器MVC 是⼀种思想,⽽ Spring MVC 是对 MVC 思想的具体实现。

2022-07-11 20:53:23 807 1

原创 一文搞懂Spring Boot配置文件的格式和区别

Spring Boot 配置⽂件主要分为以下两种格式: 1. properties 2. yml properties 配置⽂件是最早期的配置⽂件格式,也是创建 Spring Boot 项⽬默认的配置⽂件 前缀必须是application后缀是以上两种配置文件中使用#号来注释...

2022-07-10 16:35:13 2887

原创 SpringBoot创建和概述

创建Spring Boot 和Spring Boot 优点 - 快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架。 - 内置运⾏容器,⽆需配置 Tomcat 等 Web 容器,直接运⾏和部署程序。 - 快速部署项⽬,⽆需外部容器即可启动并运⾏项⽬。 - 可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发。 - ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况。...

2022-07-08 23:22:59 187

原创 高级查询(联合查询)中的外连接和内连接

联合查询(多表查询)笛卡尔积是联合查询也就是多表查询的基础笛卡尔积⼜称直积,表示为 XY,⽐如 A 表中的数据为 m ⾏,B 表中的数据有 n ⾏,那么 A 和 B 做笛卡尔积,结果为 mn ⾏。1.内连接内连接侧重于两个表之间的共性,它的作⽤是使⽤联接,⽐较两个(或多个)表之间的共有数据,然后进⾏返回。查询的是所以表的共同部分的数据语法select * from t1 [inner|cross] join t2 [on 过滤条件] [where 过滤条件]内连接的写法有以下 4 种:

2022-06-10 16:46:16 161

原创 多线程中的线程通讯(线程休眠)问题(wait/notify/notifyAll)

线程通讯(线程休眠)是合理的协调多个线程之间的执⾏先后顺序.1.wait / notify / notifyAll 必须配合synchronized一起使用,一定要使用同一个对象进行加锁2.当调用了notify/notifyAll之后程序并不会立即恢复执行,而是尝试获取锁资源,只有获取到锁之后才能继续执行。3.notifyAll并不是唤醒所有的wait等待的线程,而是唤醒当前对象处于wait等待的所有线程。5.没有配合synchron...

2022-06-10 16:44:51 574

原创 一文搞懂多线程中的死锁问题和解决思路

死锁是指两个或两个以上的进程在执⾏过程中,由于竞争资源或者由于彼此通信⽽造成的⼀种阻塞的现象,若⽆外⼒作⽤,它们都将⽆法推进下去。形成死锁主要由以下 4 个因素造成的:以下这四个条件缺一不可① 互斥条件⼀个资源只能被⼀个线程占有,当这个资源被占⽤之后其他线程就只能等待。② 不可被剥夺条件当⼀个线程不主动释放资源时,此资源⼀直被拥有线程占有,其它线程就得不到此资源。③ 请求并持有条件线程已经拥有了⼀个资源之后,有尝试请求新的资源。④ 环路等待条件产⽣死锁⼀定是发⽣了线程资源环形链。利用死锁的产

2022-06-10 15:40:01 862

原创 解决多线程中的安全问题锁(synchronized&lock)

使用锁是Java中解决线程安全性问题的主要方法**Java中锁最主要有以下两种 1.内存锁:synchronized 2.可重入锁:lock(ReentrantLock)二、公平锁和非公平锁

2022-06-09 21:19:25 668

原创 多线程的常用属性和常用方法(守护线程休眠线程)

多线程的属性和常用方法

2022-06-01 23:09:52 200

原创 多线程中的线程安全性问题(原因)

多线程的安全性问题抢占式执行方式、多个线程同时对一个变量进修改、操作时非原子性操作、内存可见性问题、指令重排序问题

2022-06-01 22:56:44 1791

原创 多线程中线程的分类和线程常用方法

一、线程的分类1、用户线程(main默认用户线程)2、守护线程(后台线程)是为用户服务的,当一个程序中所以的用户线程都结束后,那么守护线程也会结束。当获取一个线程时:true为守护线程,false为用户线程结论:1、main线程默认是非守护线程(用户线程)2、在用户线程中创建的子线程也是用户线程。(默认情况下)3、在守护线程中创建的子线程也是守护线程。手动设置守护线程线程名.setDaemon(true);t1.setDaemon(true);判断守护线程thread.isDa

2022-05-14 22:54:00 799

原创 零基础一文搞懂在Servlet框架下从代码到项目的全过程(代码阶段)

前期的准备工作和系统资源配置已经在上一篇博客讲到https://blog.csdn.net/saha__/article/details/124739358?spm=1001.2014.3001.55011、本机内存项目实例(关闭程序数据丢失)1.1创建文件,并从中央仓库导入相应的依赖包依赖包:1、servlet 3.1依赖包2、jackson 2.13项目文件在main创建java包在Java包里创建两个java文件命名为MessageListServlet(拿到前端的参数写入内存)

2022-05-13 17:09:28 249

原创 零基础一文搞懂在Servlet框架下从代码到项目的全过程(前期准备工作)

零基础,在idea中在servlet框架下实现一个webapp项目,这里涉及到了前端和后端数据库的相关知识

2022-05-12 21:38:57 284

原创 多线程的常用构造方法和ID属性

1、线程常用的属性1、1线程ID属性每一个线程的ID一定是不同的,是动态分配的1、2线程的名称线程的名称是可以手动设置的,并且是有可能会存在重复的情况。如果在主线程中启动的新线程,那么新线程是和主线程并行执行。1、3线程的优先级线程创建好之后优先级就存在了。优先级是int 类型值,默认优先级是5。优先级的大小是从1~10的,最小是1 ,最大是10并不是优先级越高就越先执行的,但是最后执行的总会是优先级最低的。一般来说线程执行的顺序是随机的,有时间片原则**注意事项:**同时启动多

2022-05-10 21:55:28 204

原创 一文搞懂MySQL中的四大隔离级别

MySQL 的隔离级别有 4 种:1. 读未提交(read uncommitted):有脏读、不可重复读、幻读问题。2. 读已提交(read committed):有不可重复读、幻读问题。3. 可重复读(repeatable read):有幻读问题,MySQL 默认的隔离级别。4. 序列化(serializable):⽆任何问题,性能低

2022-05-10 21:11:49 1034

原创 线程创建的七大方法(继承Tread)

线程创建的方式有继承Thread进行实现实现Runnable接口进行实现,实现Callable接口进行实现!

2022-05-07 16:44:32 380 4

原创 一文搞懂MySQL中事务的基本概念

1、事务是什么事务(Transaction)是将⼀组操作封装成⼀个执⾏单元(封装到⼀起),这⼀个执⾏单元要么⼀起执⾏成功,要么⼀起失败,不会出现执⾏“⼀半”的情况。相当于转账过程中,不会出现当转账到一半时断电,钱数数据凭空消失的事情发生事务执行的方式就是当转账到一半断点时,重新启动后,会发生回滚操做,即把转出的钱换还回去原来的账户,被转账账户钱数不变。执行过程会被打包,要么一起成功要么一起失败2、支持事务的数据库引擎有哪些支持事务的引擎:InnoDB引擎不支持事务的数据库引擎:myISAM引擎

2022-05-04 18:50:14 790 1

原创 MySQL中的JDBC编程最基础的四大场景即表的增删改查

一般使用DataSource的方式一般步骤1、获取数据源DataSource(设置MySQL地址)2、得到连接 Connection3、得到执行器(组装SQL)4、执行SQL5、关闭资源导入外部驱动包准备数据库驱动包,并添加到项目的依赖中mysql-connector-java-5.1.47版本场景1添加数据 public static void main(String[] args) throws SQLException { //获取数据源DataSource(设置

2022-05-04 15:07:38 686

原创 MySQL中索引失效的六大场景

索引失效的场景有不满住最左匹配原则、使用错误的模糊查询、使用运算符操作、使用了函数、使用了隐式类型转换、使用了is not null

2022-05-03 13:38:57 974 1

原创 MySQL聚簇索引和非聚簇索引的区别

聚簇索引聚簇索引对比的是主键,如果主键能够对应的上,那么就能直接查询到主键对应的行数据。非聚簇索引但是二级索引的叶子节点存储的是主键,因此当二级索引能够匹配上之后,只能拿到主键的信息,然后在根据主键的信息,去聚簇索引里面找到叶子节点所对应行数据,这样才能完成二-级索引的数据查询。我们把二级索引进行查询数据的这个过程叫做回表查询。- > 二级索引-> ID->又去查询聚簇索引,找到相应的数据从上述图⽚可以看出,聚簇索引叶⼦节点存储的是表的⾏数据,所以可以直接返回结果;⽽⾮聚簇索

2022-05-02 16:40:03 1044 1

原创 一文搞懂MySQL中索引的概念、实现和原理

索引的特点优点缺点所有的创建索引索引和约束之间的关系索引和约束的时注意事项索引的实现原理

2022-05-02 16:25:56 107

原创 mysql中的高级查询(联合查询、多表查询):内连接外连接(join |(left|right)join)

内连接侧重于两个表之间的共性,它的作⽤是使⽤联接,⽐较两个(或多个)表之间的共有数据,然后进⾏返回。select * from t1 [inner|cross] join t2 [on 过滤条件] [where 过滤条件]外连接查询时,如果有多个查询条件,真确的写法是,将查询的条件的表达式全部放在where中,而非on中,在on中一般情况只需要将笛卡尔积无效数据过滤即可。select * from t1 left join t2 [on 连接条件];

2022-04-27 17:51:41 2196

原创 MySQL查询最全总结:普通查询、高级查询

1、 创建数据库-- 创建数据库drop database if exists java33;create database java33 default character set 'utf8mb4';-- 切换数据库use java33;-- 创建班级表drop table if exists class;create table class( id int primary key auto_increment comment '班级编号', classname varchar(25

2022-04-25 13:26:58 657

原创 MySQL数据库创建、表查看表结构和删除表

**MySQL表的增删改查**1. CRUD注释:在SQL中可以使用“–空格+描述”来表示注释说明CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。2.创建一个新的数据库语法:create database 数据库名称;create database if not exists 数据库名称;mysql> create database apple;Query OK, 1 row affected (0.

2022-04-19 16:33:51 104

原创 MySQL数据库创建(入门总结)(DDL、DML)

MySQL入门最强总结

2022-04-19 15:41:00 1329

原创 关于二叉树的实现与遍历

1. 树型结构(了解)1.1 概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:有一个特殊的节点,称为根节点,根节点没有前驱节点除根节点外,其余节点被分成M(M > 0)个互不相交的集合T1、T2、…、Tm,其中每一个集合 Ti (1 <= i<= m) 又是一棵与树类似的子树。每棵子树的根节点有且只有一个前驱,可以有0个或多个后继树是递归定义

2021-11-30 21:51:06 376 1

原创 如何实现杨辉三角

杨辉三角package stack_queue.stack_queue_leetcode;import java.util.List;import java.util.ArrayList;/** * 杨辉三角 */public class Num_118 { public List<List<Integer> generate(int numRows){ List<List<Integer>> retList = new Arr

2021-11-28 22:35:19 77

原创 关于哈希表的使用

关于哈希表的使用/**2.多数元素 Num169题目内容:给定一个大小为 n的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于L n/2」的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素示例 1:输入:[3,2,3]输出:3示例 2:输入:[2,2,1,1,1,2,2]输出:2@param args关于 Arrays.sort()的使用 使用JDK自带的排序函数Arrays.sort()实现 该排序为升序排序 注意添加 impo...

2021-11-27 21:49:47 329

原创 我的第一篇博客

第一篇博客我的初衷:这是我的第一篇博客,很早之前就想写博客了,一直不想去动手,现在是时候改变自己了,大二的我确实很迷茫,再不好好学习,大学四年就要过去了,看着大四的在拍毕业照,那不就是两年后的我们嘛,时间不等人,要开始好好学习啦!看着学长学姐在招拿到各大企的实习offer和正式offer的好消息。自己的内心是特别的羡慕和向往。于是我开始向学长学姐们取经,在和一个学长短暂的1个小时交流中,我才知道自己从大一到大二这两年虚度了好多光阴。把大部分的时间都花费在了打手游王者荣耀了。回来,我仔细思考了2天,每

2021-06-02 19:52:01 94

空空如也

空空如也

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

TA关注的人

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