自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Spring】代理模式

本文主要讲解了spring中的代理模式,包括静态代理和动态代理,动态代理包括JDK动态代理和CGLIB动态代理。讲解了他们各自的原理,以及两者的区别和联系

2024-02-04 19:17:14 1662

原创 【MySQL进阶】事务原理

事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个 SQL 语句,这些语句要么都执行,要么都不执行,作为一个关系型数据库,MySQL 支持事务。单元中的每条 SQL 语句都相互依赖,形成一个整体如果某条 SQL 语句执行失败或者出现错误,那么整个单元就会回滚,撤回到事务最初的状态如果单元中所有的 SQL 语句都执行成功,则事务就顺利执行事务的四大特征:ACID原子性 (atomicity)一致性 (consistency)

2024-02-04 16:19:51 1576

原创 【MySQL进阶】InnoDB引擎存储结构和架构

本文主要介绍了InnoDB存储引擎的逻辑存储结构和架构。架构包括磁盘结构和内存结构

2024-01-26 12:06:58 1239

原创 【MySQL进阶】锁

本文主要讲了MySQL中的锁机制全局锁、表级锁、行级锁。以及相关的面试题

2024-01-22 19:50:23 997

原创 【MySQL进阶】视图_存储过程_存储函数_触发器

视图是一个虚拟表,通过查询结果展示数据,提供定制化的展示。存储过程是预先编写的一组SQL语句和逻辑集合,可被应用程序多次调用。存储函数类似于存储过程,返回一个值。触发器是与表相关联的代码,根据数据库操作自动触发执行。它们提供了高级数据处理、封装和安全性,增强了数据库的灵活性和管理效率。

2024-01-22 17:49:28 532

原创 【MySQL进阶】SQL优化

本文主要讲解了sql语句的优化,包括insert、order by、group by、limit、count、update、以及主键优化。

2024-01-21 23:03:06 839

原创 【MySQL进阶】存储引擎

介绍了MySQl的存储引擎:存储引擎的对比、操作以及如何选择合适的存储引擎。

2024-01-21 17:53:03 892

原创 【MySQL进阶】索引

本文主要介绍了MySQL索引操作、索引分类、索引结构、索引优化以及相关面试题

2024-01-19 22:45:27 908

原创 【JVM】类的生命周期

介绍了一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)七个阶段,其中验证、准备、解析三个部分统 称为连接(Linking)。以及相干面试题

2024-01-19 14:32:46 897

原创 【JVM】JVM概述

讲解了JVM的基本介绍、架构模型、生命周期以及内存结构,还有相关面试题

2024-01-17 18:49:28 1194

原创 【JVM】垃圾回收机制

垃圾回收机制、方法区的回收、堆回收、基本介绍、五种对象引用、垃圾回收算法标记清除算法、复制算法、标记整理算法、分代垃圾回收算法、垃圾回收器、Serial 收集器、ParNew 收集器、Parallel Scavenge 收集器、CMS 收集器、Serial Old 收集器、Parallel Old 收集器、G1垃圾回收器、总结、相关面试题

2024-01-17 12:20:22 1106

原创 【JVM】运行时数据区

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各 自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而一直存在,有些区域则是依赖用 户线程的启动和结束而建立和销毁。根据《Java虚拟机规范》的规定,Java虚拟机所管理的内存将会包 括以下几个运行时数据区域。

2024-01-16 20:00:57 1107

原创 【JUC】ConcurrentHashMap源码介绍

详细介绍了ConcurrentHashMap的源码,包括put、get、remove、transfer。等方法以及各种属性,内部类。还介绍了它 的结构。以及一些相关的面试题。

2024-01-16 14:52:40 839

原创 【JUC】线程池原理

线程池:一个容纳多个线程的容器,容器中的线程可以重复使用,省去了频繁创建和销毁线程对象的操作降低资源消耗,减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务提高响应速度,当任务到达时,如果有线程可以直接用,不会出现系统僵死提高线程的可管理性,如果无限制的创建线程,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控线程复用,同一个线程可以被重复使用,来处理多个任务池化技术。

2024-01-15 12:07:50 993 1

原创 【JUC】ReentrantReadWriteLock源码解析

独占锁:指该锁一次只能被一个线程所持有,对 ReentrantLock 和 Synchronized 而言都是独占锁共享锁:指该锁可以被多个线程锁持有ReentrantReadWriteLock 其读锁是共享锁,写锁是独占锁作用:多个线程同时读一个资源类没有任何问题,为了满足并发量,读取共享资源应该同时进行,但是如果一个线程想去写共享资源,就不应该再有其它线程可以对该资源进行读或写使用规则:读-读能共存、读-写不能共存、写-写不能共存读锁不支持条件变量重入时升级不支持:持有读锁的情况下去获取写锁会导

2024-01-13 18:02:43 827 1

原创 【JUC】ReentryLock源码解析

本文详细介绍了ReentryLock源码,加锁、解锁流程。公平锁、非公平锁、以及AQS类的结构

2024-01-13 13:51:19 827 1

原创 ThreadLocal源码解析

讲解了ThreadLocal常用方法的源码,get(),set(),remove()

2024-01-11 18:41:11 831

原创 【JUC】线程详解

线程详解:包括线程的创建、线程的相关APi、线程的运行原理、机制、源码讲解

2024-01-10 17:26:58 787 1

原创 【mysql】索引,视图

mysql索引索引,什么是索引,怎么创建索引对象?怎么删除索引对象?什么时候考虑给字段添加索引?(满足什么条件可以添加索引)索引的实现原理,索引的分类,索引什么时候失效。视图(view),什么是视图,怎么创建视图?怎么删除视图?面向视图操作,视图的作用,

2022-11-07 08:15:59 140

原创 【mysql】事务

【mysql】事务什么是事务事务机制存在的条件怎么提交事务,怎么回滚事务?事务包括4个特性事务的隔离性! ! !事务和事务之间的隔离级别查询当前数据库的隔离级别演示事务

2022-11-01 09:25:48 145

原创 【mysql】约束(非空约束,唯一性约束,主键约束,外键约束),存储引擎

【mysql】约束(非空约束,唯一性约束,主键约束,外键约束),存储引擎

2022-10-28 17:27:54 673

原创 【mysql】DLL语句之表的创建,删除,修改

文章目录关于mysql中的数据类型表的创建建表的语法格式:快速创建表表的删除语法格式快速删除表中的数据表的修改语法格式关于mysql中的数据类型varchar(255)可变长度的字符串比较智能,节省空间。会根据实际的数据长度动态分配空间.优点:节省空间缺点:需要动态分配空间,速度慢。char(255)定长字符串不管实际的数据长度是多少。分配固定长度的空间去存储数据。使用不恰当的时候,可能会导致空间的浪费.优点:不需要动态分配空间,速度快。缺点:使用不当可能会导致空间的浪费。

2022-10-27 08:13:52 942

原创 【mysql】DML语句之对数据的增删改

插入数据insert ( DML)语法格式:插入日期数据删除数据delete ( DML)语法格式修改update ( DML)语法格式【mysql】DML语句之对数据的增删改

2022-10-26 08:48:09 364

原创 【mysql】查询语句select之关键字union,limit,分页

文章目录unionunion的作用union的用法limitlimit作用:limit的用法分页unionunion的作用合并查询结果集union的用法案例:查询工作岗位是MANAGER和SALESMAN的员工?第一种写法select ename,job from emp where job = ' MANAGER' or job = ' SALESMAN' ; 第二种写法select ename,job from emp where job in ( 'MANAGER' , ' SA

2022-10-18 17:15:34 467

原创 【mysql】查询语句select之连接查询,子查询

【mysql】查询语句select之连接查询,子查询,表起别名,笛卡尔积现象,内连接,外连接

2022-10-17 20:48:04 1997

原创 【mysql】分组查询

分组查询什么是分组查询?关键字的执行顺序关于having关键字

2022-10-16 19:49:21 224

原创 【mysql】查询语句select之单行处理函数,多行处理函数

文章目录常见的单行处理函数分组函数(多行处理函数)常见的单行处理函数lower转换小写 select lower (ename) as ename from emp ;substr取子串( substr(被截取的字符串,起始下标,截取的长度) )select substr (ename,1, 1) as ename from emp ;注意:起始下标从1开始,没有0.找出员工名字第一个字母是A的员工信息?第一种方式:模糊查询select ename from emp where ena

2022-10-15 18:18:22 407

原创 【mysql】查询语句select之简单查询,条件查询,排序查询

【mysql】查询语句select之简单查询,条件查询,排序查询

2022-10-14 17:36:43 521

原创 【mysql】关于SQL语句的分类

【mysql】关于SQL语句的分类

2022-10-14 17:26:05 107

原创 关于Servlet服务器中的 **Caused by: java.lang.IllegalArgumentException: servlet映射中的[servletDemo]无效**

关于Servlet服务器中的 **Caused by: java.lang.IllegalArgumentException: servlet映射中的[servletDemo]无效**

2022-10-14 16:58:03 367

原创 【mysql】mysql概念,常用命令,表的概念

mysql概念,常用命令,表的概念

2022-10-13 17:09:40 142

原创 【C语言】关于scanf缓存区

文章目录问题引出缓冲区解决办法问题引出我们先来看看一段代码 int main{ int ret = 0; char password[20] = { 0 }; printf("请输入密码:>"); scanf("%s", password); printf("请确定(Y/N):>"); ret = getchar(); if (ret == 'Y') { printf("确认成功\n"); } else { printf("放弃确认"); }}判断以

2022-10-08 23:49:50 799

原创 【C语言】数据类型,变量,常量

C语言之数据结构,变量,常量

2022-10-04 16:21:27 222 1

空空如也

空空如也

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

TA关注的人

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