自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动态规划 | LeetCode 509. 斐波那契数

回溯三部曲:递归函数的参数和返回值确定终止条件单层递归遍历过程动态规划基础背包问题打家劫舍股票问题子序列问题动态规划五部曲。

2024-08-04 11:36:59 380

转载 SpringCloud | 第一篇:基础知识介绍

Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分为一组小的服务,每个服务运行在其独立的自己的进程中,服务之间相互协调、互相配合,为用户提供最终价值。

2024-07-21 11:23:23 974

原创 一文搞懂SpringBoot启动流程及自动装配

Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包。你可以一站式集成 Spring 及其他技术,而不需要到处找示例代码和依赖包Spring Boot官方的启动器都是以spring-boot-starter-命名的,代表了一个特定的应用类型。第三方的启动器不能以spring-boot开头命名,它们都被Spring Boot官方保留。一般一个第三方的应该这样命名,像mybatis的mybatis-spring-boot-starter。

2024-07-20 21:02:07 2742 1

原创 全面整理MyBatis知识点

数据库连接创建、释放频繁造成系统资源浪费从而影响系统性能,如果使用数据库连接池可解决此问题。Mybatis解决:在中配置数据库连接池,使用连接池管理数据库连接。Sql 语句写在代码中造成代码不易维护,实际应用 sql 变化的可能较大,sql 变动需要改变 java 代码。Mybatis解决:将 Sql 语句配置在 xxxxmapper.xml 文件中与 java 代码分离。向 Sql 语句传参数麻烦,因为 Sql 语句的 where 条件不一定,可能多也可能少,占位符需要和参数一一对应。

2024-07-19 22:46:29 636

原创 详解SpringMVC的工作流程

MVC是一种设计模式,在这种模式下软件被分为三层,即Model(模型)、View(视图)、Controller(控制器)。Model代表的是数据,View代表的是用户界面,Controller代表的是数据的处理逻辑,它是Model和View这两层的桥梁。将软件分层的好处是,可以将对象之间的耦合度降低,便于代码的维护。

2024-07-18 23:30:56 663

原创 Spring基础知识汇总

循环依赖可以分为直接循环依赖和间接循环依赖,直接循环依赖的简单依赖场景:Bean A 依赖于 Bean B,然后 Bean B 又反过来依赖于 Bean A(Bean A -> Bean B -> Bean A),间接循环依赖的一个依赖场景:Bean A 依赖于 Bean B,Bean B 依赖于 Bean C,Bean C 依赖于 Bean A,中间多了一层,但是最终还是形成循环(Bean A -> Bean B -> Bean C -> Bean A)。

2024-07-18 21:42:25 778

原创 Java代码的执行过程

初始化阶段是虚拟机执行类构造器。

2024-07-18 00:14:27 1982

原创 全面整理Java多线程

无论如何,一个线程的中断状态有有可能被其它线程调用中断来改变。当线程池中有任务需要执行时,线程池会判断如果线程数量没有超过核心数量就会新建线程池进行任务执行,如果线程池中的线程数量已经超过核心线程数,这时候任务就会被放入任务队列中排队等待执行;线程池中的核心线程数,默认情况下核心线程一直存活在线程池中,如果将 ThreadPoolExecutor 的 allowCoreThreadTimeOut 属性设为 true,如果线程池一直闲置并超过了 keepAliveTime 所指定的时间,核心线程就会被终止。

2024-07-16 11:45:39 1823

原创 深入理解 synchronized 锁

重量级锁是指当锁为轻量级锁的时候,另一个线程虽然是自旋,但自旋不会—直持续下去,当自旋—定次数(默认为10)的时候,还没有获取到锁,就会进入阻塞,该锁膨胀为重量级锁。对象锁进入重量级状态后,将采用monitor的方式加锁和释放锁。偏向锁会永远偏向第一个获得锁的线程,如果后续没有其他线程获得过这个锁,持有锁的线程就永远不需要进行同步,反之,当有其他线程竞争偏向锁时,持有偏向锁的线程就会释放偏向锁。简单来说,偏向锁只有遇到其他线程尝试竞争偏向锁时,持有偏向锁的线程才会释放锁,线程不会主动去释放偏向锁。

2024-07-15 23:05:54 660

空空如也

空空如也

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

TA关注的人

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