自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从 Spring 的创建到 Bean 对象的存储、读取

ApplicationContext 和 BeanFactory 都是获取容器中Bean对象的;ApplicationContext 是一次性加载并初始化容器里的所有 Bean 对象(饿汉模式),而 BeanFactory 是需要哪个才去加载哪个(懒汉模式);ApplicationContext 其实是 BeanFactory 的子类,子类不仅继承了父类的所有功能外,还拥有自己独特的功能;而ClassPathXmlApplicationContext 又属于 ApplicationContext的子类。

2023-05-13 17:43:22 3693 2

原创 深入了解多线程原理

使用线程的主要目的是为了解决“并发编程”问题。每一个线程就是一个“执行流”,每个线程按照一定的顺序来执行代码,多个线程可以同时执行多份代码;

2023-02-04 12:20:38 742 8

原创 C语言文件操作(超详细版)

与普通文件载体不同,文件是以硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等等。文件通常具有点+三个字母的文件扩展名,用于指示文件类型(例如,图片文件常常以KPEG格式保存并且文件扩展名为.jpg)。将数据放入文件中,相比代码程序中堆栈上的数据,其优点在于可以随时做到需要时添加、舍弃时删除,数据可以持久化。

2022-09-04 21:22:27 46602 30

原创 C语言结构体深度剖析

结构体是由一批数据组合而成的结构型数据。组成结构型数据的每个数据称为结构型数据的“成员”。结构体大小,位段,对齐

2022-08-28 12:06:46 713 15

原创 Java——String类常见方法

String类最常用的一些方法,让你熟练掌握字符串快捷操作

2022-08-12 22:00:35 2642 15

原创 Redis避坑疑难杂症

【代码】Redis避坑疑难杂症。

2024-07-14 20:57:46 186

原创 百度面经整理

长连接和短连接的区别在于连接的持续时间。在多线程中,每个线程都有自己的执行路径,当一个线程占用了临界区资源时,其他需要使用这个资源的线程都必须在这个临界区上等待。HashMap:HashMap是基于哈希表实现的键值对集合,它不保证键值对的顺序,也不允许重复的键(重复会覆盖)。LinkedList:基于链表实现的双向链表,它提供了快速的插入和删除元素的能力,但在随机访问和修改元素时性能较差。用代码打开文件是通过编程语言中的文件操作函数来实现的,而用鼠标打开文件则是通过操作系统提供的文件选择对话框来实现的。

2023-08-29 11:25:34 375

原创 创建线程的多种方式

这是一篇方法总结 —— 1. 继承 Thread 类:2. 实现 Runnable 接口:3. 实现 Callable 接口:4. 使用线程池:5. 使用匿名类

2023-08-15 21:46:28 249

原创 Redis安装&配置&远程连接

直接使用命令,将 redis 安装到 linux 服务器中:2. 启动 redis:在 xshell 里,可以使用下面命令,以后台方式启动 redis:3. 操作 redis:先启动 redis 客户端:启动后就可以根据实际需求操作了。使用以下命令:注意:在之后如果给 redis 设置了密码,就不能直接使用 info,而是要先进行身份验证:4. 远程连接:以上都是本地操作,远程连接需要更改 redis.conf 配置文件部分信息: 进入 /etc/

2023-08-11 18:23:44 1614

原创 Spring 事务的使用、隔离级别、@Transactional的使用

Spring事务是Spring框架提供的一种机制,用于管理应用程序中的数据库事务。事务是一组数据库操作的执行单元,要么全部成功提交,要么全部失败回滚,保证数据的一致性和完整性。编程式事务是通过编写代码来手动管理事务的开始、提交或回滚,开发人员需要显式地调用事务管理器的方法来控制事务的边界。声明式事务是通过在配置文件或注解中声明事务的属性来实现的。开发人员只需要关注业务逻辑,而不需要关心事务的管理。Spring框架会根据注解的配置自动管理事务的开始、提交或回滚。

2023-07-27 12:12:31 472

原创 Spring Boot 拦截器实现:登录验证 & 统一异常处理 & 返回数据规范化

创建一个普通类,实现 HandlerInterceptor 接口,重写 preHandle 方法,由于拦截器非常常用,所以Spring boot 内置了拦截器的依赖;preHandle方法:在请求到达Controller之前调用。在拦截器链中的每个拦截器的preHandle方法都会被依次调用。如果某个拦截器的preHandle方法返回false,则后续的拦截器的preHandle方法和Controller方法都不会被执行,请求将被拦截下来。

2023-07-26 20:03:20 3756

原创 Spring AOP

下面将实现一个AOP的逻辑,主要功能为:当访问登录、注册等功能时,某些方法属于切点方法,有的不是切点方法,通过不同的通知方法,将需要进行验证的方法拦截下来,并观察执行的结果有何不同。

2023-07-26 11:39:31 79

原创 借助 Mybatis 的动态 SQL 解决传参不确定问题

Mybatis动态SQL全面解析,五大标签的使用方法全部都有!!!

2023-07-25 17:45:05 661

原创 Mybatis 操作数据库的基本 CRUD 以及查询操作详析

MyBaits 是一款功能极其强大的持久层框架,它支持自定义 SQL、存储过程以及高级映射。Mybaits 是基于 JDBC 的,但其免除了几乎所有 JDBC 以及设置参数和获取结果集的工作。MyBaits可以通过简单的 XML或注解来配置和映射原始类型、接口和 java 对象为数据库中的记录。简而言之:MyBaits 可以更加简洁的进行程序和数据库之间交互。

2023-06-27 11:48:56 882 7

原创 Spring MVC 的创建连接和使用

Spring MVC 原名“Spring Web MVC”,是基于 Servlet API 构建的原始 Web 框架。

2023-06-13 18:04:46 1777

原创 SpringBoot 日志文件

日志打印分为两步:得到日志对象;使用日志相关语法输出内容;日志的获取,打印输出,自定义日志级别,日志持久化,Lombok简化日志输出

2023-05-28 16:27:30 2207

原创 SpringBoot配置文件的注入和读取

首先:二者的功能都是一样的,.properties 文件是最早期的文件格式, 也是SpringBoot 的默认文件,项目诞生之初就自带的,而 .yml 是后来为了提高效率而衍生出的另一种格式,它相对于前者更写法更简洁,功能更强大,但唯一的不足在于新手容易写错,工作中最常用的是 .yml格式。其次:这两种文件在一个项目中理论上可以同时存在,但一般开发不会这样使用,尽量统一使用一种,因为这两种文件都存在的情况下,框架会优先加载 properties 文件,另一方面统一有助于代码的读写。

2023-05-26 14:27:21 1351

原创 Bean 作用域和生命周期

Bean的作用域,设置作用域、spring执行流程以及Bean生命周期

2023-05-20 16:55:10 456

原创 Spring 五大类注解、方法注解、对象注入简化 Bean 操作

五大类注解有哪些?@Controller(控制器存储):可以验证用户请求的数据的正确性;@Service(服务存储):服务于编排和调度具体具体方法的执行;@Repository(仓库存储):与数据库交互;@Component(组件存储):管理组件、工具类等;@Configuration(配置存储):管理配置项、设置等;五大类注解匹配 Bean 时默认 id 命名规则五大类注解之间的关系avaEE标准分层就是各大企业为了高效开发设计出来的一种逻辑分层结构模型,主要分为:表现层 —> 控制层 —>

2023-05-18 08:33:19 1379 1

原创 Spring基础且核心的两大概念——IoC 与 DI

Spring 全称 Spring Framework,它是一个目前市场上最流行、结构最庞大的开源框架,之所以如此,是因为其有独特且全面的应用场景,这样好的生态才使企业一直对青睐。注意这句话:Spring 是包含了众多思想、工具、方法的的 IoC 容器;这里的容器本质上和我们生活中所说的容器基本是一样的,容器就是用来容纳和取出物品的,那么在编程中具体有 List、Map、Set、Vector、Tomcat(Web容器)、Spring等等,它们也可以存入程序员需要的元素,等用的时候再取出来;

2023-05-12 23:01:28 525 1

原创 笔试练习Day02

继承、抽象类、编译、类加载、类初始化、排序子序列、倒置字符串的练习和理解

2023-05-12 15:32:25 632

原创 笔试练习Day01

java类对象、StringBuffer方法、Vector对象接口、访问修饰限定符、堆区、栈区、方法区、全局区、编程题:组队竞赛、删除公共字符串

2023-04-25 18:22:56 443 1

原创 MySql索引简单知识点及事务的分析

索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构。包含着对数据表里所有记录的引用指针。

2022-12-12 22:59:29 536 1

原创 JDBC编程

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

2022-12-12 22:12:14 788 9

原创 经典排序之插入排序

跳跃分组,尽量把大的数据放在后面,小的数据放在前面,对于长度越长的序列,跨度要大;对于长度越小的序列,跨度要小,最后一次排序就用直接插入排序即可(利用了直接插入堆接近有序序列效率高的优点);

2022-10-23 20:48:38 683 4

原创 二叉搜索树与优先级队列及其堆的应用

1.第一次调用构造方法实例化出一个PriorityQueue对象时,相当于new一个长度为默认值的数组;2.如果调用构造方法时,传入一个数值,就会调用初始化数组的构造方法;如果调用构造方法时,传入一个比较器,就会调用实例化比较器的构造方法;3.插入元素:如果是第一次插入:直接放在0下标的位置;如果不是第一次插入,并且没有传入比较器,那么首先要保证传入的对象是可比较的,其次offer方法会自动new一个可比较的key对象,再根据向上调整,最后选择合适位置放入元素;

2022-10-17 20:00:26 824 13

原创 循环中使用i++好还是++i好?

相信大家对带有赋值的 i++ 和 ++i 的用法很熟悉,++在前就是先++在赋值,++在后就是下先赋值再++,但我们要讨论的是循环中 i 自身的变化情况;我们在日常写代码或工作中,时常会因为循环条件中的 i++ 和 ++i 的底层逻辑而疑惑,那今天我们就来彻底解决这一问题。可见,无论在循环中写 i++ 还是 ++i ,编译的过程中都会被改成 ++i,这是为什么呢?由此可见:i++ 需要4步来完成,++i 只需要两步,因此 ++i 的效率高于 i++;++在后:先备份,在自增;++在前,先自增,后备份;

2022-10-13 17:57:12 1016 1

原创 时间复杂度和空间复杂度

对于任何一个程序都有好坏、效率高低之分,衡量这些的标准就是“复杂度”,什么是复杂度?其属于计算机复杂性理论的概念,即表示某个问题消耗时间或空间等资源量多少。

2022-09-07 16:00:46 932 13

原创 C语言动态内存管理、柔性数组(超详细版)

malloc向内存申请一块连续可用的空间;如果开辟成功,则返回一个指向开辟好空间的地址;如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查,否则会经常在vs中看到警告:取消对指针NULL的引用;该函数定义时返回值为void*,因此使用者需强制所需类型;size的值不能为0,这是标准未定义的;}//输出1 2 3 4 5 6 7 8 9 10。

2022-09-02 19:41:38 770 19

原创 C语言枚举和联合体

枚举就是以某种有穷序列一一列举出一些成员,例如:一周七天可以一一列举出来等等;}{}内成员叫做枚举常量;每个常量之间需要用逗号,最后一个除外;每个常量都有取值,默认从0开始,每次递增1;变量的取值也可以修改://声明union Un{int a;char b;};int main(){//定义一个联合体变量return 0;}...

2022-08-28 22:02:57 491 8

原创 C语言常用内存函数(超详细版)

字符(串)函数可以专门对字符或字符串操作,同时,若要对其他类型数据进行这些操作,就可以借助内存函数直接对内存操作,接下来介绍的几个内存函数就是极其常用的。

2022-08-25 21:52:21 1340 12

原创 C语言字符、字符串函数(超详细版)

超详细带你认识、熟悉、掌握、运用常见字符、字符串函数、包括模拟实现

2022-08-23 20:56:38 1962 7

原创 JavaSE异常的分析

Java中内置的异常类型有时无法满足工程实际需要,此时就需要我们自己定义合适的异常类。自定义异常非常重要,倘若工程较大,只通过打印检查起来效率是很低的。自定义异常通常会继承自 Exception 或者RuntimeException;继承自 Exception 的异常默认是受查异常;继承自 RuntimeException 的异常默认是非受查异常;如何自定义呢?...

2022-08-18 11:07:28 313 6

原创 C语言顺序表(源码)

C语言顺序表(源码)动态和静态

2022-08-09 13:20:32 491 2

原创 面向对象特性之继承

继承的特性、super关键字、组合

2022-08-08 10:58:19 247 6

原创 Java小技巧——对象打印之重写toString方法

需要打印的成员太多怎么办?教你一招1秒解决,省时又省力

2022-08-07 09:17:11 2060 6

原创 Java内部类重点知识

java的实例内部类、静态内部类、局部内部类

2022-08-06 23:20:01 281 9

原创 二进制序列

三种方法学会从二进制数找1、输出二进制奇偶位

2022-07-30 09:32:57 758

原创 JavaSE运算符与C语言的差异

Java的运算符中与C语言不同之处

2022-07-28 22:04:38 490 4

原创 JavaSE数据类型

Java基本数据类型

2022-07-27 23:15:44 245 14

空空如也

空空如也

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

TA关注的人

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