- 博客(92)
- 收藏
- 关注
原创 基于 Spring Boot 的项目模板搭建指南
如需完整代码示例,可参考 SpringBoot 初始化模板 - SegmentFault 或 优快云 博客模板。访问 Spring Initializr,选择依赖后下载模板。
2025-04-01 20:30:52
603
原创 Java 之Redis
一、Redis核心概念与特性Redis是基于内存的键值型NoSQL数据库,支持多种数据结构(字符串、哈希、列表、集合、有序集合等),常用于缓存、分布式锁、消息队列等场景。其核心优势在于内存存储带来的高性能(可达10万+ QPS)和单线程模型避免并发冲突。
2025-03-31 20:20:10
661
原创 Redis 在 Linux 系统的安装指南
以上步骤综合了 Linux 和 Windows 的主流安装方法,覆盖了从依赖安装到服务优化的全流程。如需更详细的配置文件参数说明,可查阅 Redis 官方文档或相关教程。
2025-03-28 20:25:21
984
原创 Java虚拟机
• Java虚拟机栈(Java Virtual Machine Stacks):Java虚拟机栈是线程私有的,它用于存储方法调用过程中的局部变量表、操作数栈、动态链接、方法出口等信息。当方法执行完毕后,栈帧被弹出。它的主要作用是将Java字节码(Java程序编译后的中间代码)转换为机器码,从而在不同的操作系统和硬件平台上运行Java程序。Java虚拟机的出现使得Java语言具有了“一次编写,到处运行”(Write Once,Run Anywhere,简称WORA)的特性,大大提高了Java程序的可移植性。
2025-03-27 19:00:51
281
原创 Redis(Remote Dictionary Server)
支持字符串(String)、列表(List)、哈希(Hash)、集合(Set)、有序集合(Sorted Set)等基础类型,以及位图(Bitmaps)、HyperLogLog(基数统计)、地理空间索引(GEO)等高级结构,满足复杂业务需求。Redis将数据存储在内存中,读写速度极快(读约11万次/秒,写约8.1万次/秒),适合高并发场景。其单线程模型避免了多线程竞争问题,结合非阻塞I/O多路复用技术(如epoll),进一步提升了处理效率。存储用户会话信息(如购物车),支持跨服务共享。
2025-03-25 17:14:17
388
原创 安装CentOS7
Linux能做什么?Linux 能为几乎所有类型的 IT 计划奠定基础,包括容器、云原生应用和安全防护。许多全球规模最大的行业和企业都仰赖于 Linux——从 Wikipedia 等知识共享网站,到纽约证券交易所,再到运行 Android(一个包含免费软件的 Linux 内核专用发行版)的移动设备,它无处不在。经过多年的发展,Linux 已成为了行业广泛接受的标准,成为在数据中心和云部署中运行高可用性、高可靠性和关键工作负载的首选。
2025-03-21 20:21:02
245
原创 MyBatis的插件机制
MyBatis插件机制通过动态代理和拦截器链实现无侵入式扩展,开发者需关注接口方法签名、代理链生成及执行顺序。合理使用插件可增强框架功能(如日志、分页),但需权衡性能与复杂度。
2025-03-19 20:56:35
373
原创 Spring Boot 的自动装配
Spring Boot 的自动装配本质是约定优于配置思想的体现,通过 SPI 机制加载配置类、条件注解动态过滤、Starter 模块化依赖管理,实现了零配置或低配置的开发体验。其底层依赖 Spring 框架的和@Import机制,确保扩展性而不侵入框架源码。
2025-03-17 20:00:27
950
原创 Spring Boot
通过上述机制,Spring Boot使微服务开发从单体应用的数月周期缩短至数天,同时保持服务的高可用性和可维护性,成为云原生时代微服务架构的首选技术栈。
2025-03-12 21:11:19
499
原创 Java是值传递
对象变量存储的是对象的引用地址(类似指针值),参数传递时该地址值被复制为副本。在方法内,若通过副本修改对象属性(如。无论是基本数据类型还是对象类型,传递给方法的是变量值的副本,而非变量本身。理解这一机制对避免代码逻辑错误至关重要,尤其在编写涉及状态修改的方法时。但若修改引用副本本身(如。Java中的参数传递始终是。),原始引用不受影响。
2025-03-07 22:53:31
581
原创 MyBatis 配置文件核心
以下是针对你的笔记中的三个核心标签的详细解析,帮助你全面理解它们的用途和配置逻辑。外部配置文件内容 ()易错点 ❌ 路径错误: 指向的文件不在 目录中。 ❌ 未转义特殊字符: 需要用 转义(如 Redis 配置中的 )。2. 标签:全局行为控制功能 控制 MyBatis 的底层运行机制,如日志、缓存、驼峰映射等。 需严格按照官方文档配置参数和值类型。常用配置项 设置名称(name) 作用 默认值
2025-03-06 23:47:33
294
原创 MyBatis框架之映射文件加载方式
通过合理选择加载方式并遵守规范,可显著提升MyBatis的开发效率与维护性。建议根据项目具体需求(如是否以注解为主、团队结构规范程度)灵活选用。在MyBatis框架中,映射文件(XML)的加载方式直接影响SQL与Java接口的绑定效率。直接通过XML配置文件逐一声明映射文件的。,显式指定资源位置。形式批量加载XML,要求。
2025-03-05 21:18:00
414
原创 XPath路径表达式
节点(Java入门、科技周刊),无论它们在什么层级。节点(Java入门、科技周刊),无论它们在什么层级。:当你在某个节点内部继续查找时使用。:当你在某个节点内部继续查找时使用。看完你一定能掌握核心要点!可省略,直接写子元素路径)可省略,直接写子元素路径)节点(小明、小红)。节点(小明、小红)。,完整地逐层写路径。,不需要以根为起点。,无论元素在哪一层。//元素[@属性名],完整地逐层写路径。,不需要以根为起点。,无论元素在哪一层。//元素[@属性名]
2025-03-04 23:07:38
889
原创 java反射
在 Java 中,是一种允许程序在运行时检查、修改类/对象内部信息,并动态调用方法的机制。它的核心思想是通过运行时分析类结构,突破静态编译的限制,实现高度灵活的操作。
2025-03-03 21:55:05
204
原创 Java注解(Annotation)
/ 定义注解 @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface RequiresRole { String value() default "user";
2025-03-01 22:49:27
837
原创 Field 对象的使用
在 Java 反射中,Field对象用于描述类的字段(成员变量),通过它可以动态访问和修改对象的字段值,包括私有字段。Field在静态字段访问时,set和get方法的第一个参数传递null建议用try-catch包裹:getName()"age"getType()ClassModifier。
2025-02-28 21:18:10
357
原创 AOP(Aspect-Oriented Programming,面向切面编程)
用于将横切关注点(如日志记录、事务管理、安全性等)从业务逻辑中分离出来,从而提高代码的模块化程度和可维护性。
2025-02-25 22:08:15
687
原创 Spring MVC配置文件
**作用**:自动扫描指定包路径下的注解(如`@Controller`、`@Service`、`@Repository`、`@Component`等),并将这些类注册为Spring容器中的Bean。- **默认行为**:Spring MVC使用`RequestMappingHandlerMapping`,结合`@RequestMapping`注解来映射请求。- `use-default-filters`:是否启用默认过滤器(默认为`true`,会扫描`@Component`等注解)。
2025-02-23 22:56:36
654
原创 Spring MVC的基本概念
Spring MVC 是一个功能强大且灵活的 Web 开发框架,通过 MVC 设计模式实现了代码的清晰分层和低耦合。它与 Spring 框架的其他模块紧密集成,提供了丰富的功能和高度的可扩展性。
2025-02-21 20:57:41
734
原创 Spring中事务的传播行为方式
事务传播行为的选择取决于业务需求和上下文环境。合理使用事务传播行为可以有效管理事务的边界和行为,确保系统的正确性和性能。
2025-02-19 21:38:51
382
原创 . Spring MVC
尽管 Spring MVC 功能强大,但它也有一些局限性。此外,随着 Spring Boot 的出现,Spring MVC 的配置变得更加简洁,但仍然需要一定的学习成本。DispatcherServlet 是 Spring MVC 的核心组件,它是一个前端控制器,负责接收所有的 HTTP 请求,并根据请求信息(如 URL、HTTP 方法等)将请求分发到合适的处理器(Controller)。Spring MVC 遵循 MVC 设计模式,将模型、视图和控制器分离,降低了组件之间的耦合度,便于开发和维护。
2025-02-18 22:43:52
913
原创 在Spring框架中使用MyBatis
在Spring中使用MyBatis,通过Spring的依赖注入和事务管理功能,可以实现高效的数据库操作。这种组合在实际项目中非常常见,能够很好地满足企业级应用的需求。
2025-02-17 08:32:28
779
原创 【无标题】
Java配置:在@Configuration类中,可以使用@Bean注解来定义Bean,并在方法上使用@PostConstruct和@PreDestroy注解来指定初始化方法和销毁方法。注解配置:可以通过在Bean类的初始化方法上使用@PostConstruct注解和在销毁方法上使用@PreDestroy注解,来定义初始化和销毁的方法。:将Bean之间的依赖关系通过构造函数注入、Setter方法注入或字段注入的方式实现,提高了代码的松耦合性和可测试性。
2025-02-07 10:08:20
712
原创 mysql的原理及经验
大事务会影响数据库的性能,应当尽量把大事务拆成若干个小事务,禁止写过于复杂的sql语句,除了造成大事务不说,还会让别人头大,无法维护。存储引擎是MySQL的核心组件之一,它负责数据的存储和检索。它非常适合需要高并发和事务支持的应用场景。角色管理:MySQL 8.0引入了角色(Role)的概念,可以将一组权限分配给角色,再将角色分配给用户,简化权限管理。:虽然它不支持事务,但提供了全文索引和较高的读取速度,适合读多写少的应用场景。2.避免大事务,大事务就是运行的时间比较长,操作的数据比较多的事务。
2025-02-07 09:34:38
587
原创 ssm框架实现连接数据库mysql
写Service.java,为控制层提供服务,接受控制层的参数,完成相应的功能,并返回给控制层。写Controller.java,连接页面请求和服务层,获取页面请求的参数,通过自动装配,映射不同的URL到相应的处理函数,并获取参数,对参数进行处理,之后传给服务层。
2025-02-07 09:15:34
369
原创 ssm的心得
spring是一个轻量级的ioc(控制反转)和aop(面向切面编程)容器框架,它可以管理和配置应用中的各种bean(对象),实现bean之间的依赖注入,以及提供事务管理、缓存、测试等功能。4. 接着学习spring框架的核心概念和功能,如ioc容器、bean生命周期、依赖注入、aop编程、事务管理等。5. 再学习mybatis框架的核心概念和功能,如配置文件、映射文件、sql语句、动态sql、分页插件等。6. 最后学习spring mvc框架的核心概念和功能,如控制器、模型、视图、拦截器、异常处理等。
2025-02-07 09:07:11
115
原创 SSM(一)
在SSM(Spring + SpringMVC + MyBatis)框架中,配置文件是项目的核心组成部分,用于定义框架的行为和组件之间的关系。以下是SSM框架中常见的配置文件及其作用和配置要点。
2025-02-07 08:51:53
525
原创 MyBatis
通过MyBatis的resultMap和嵌套查询,我们可以方便地实现中间表的关联查询。resultMap用于定义结果映射规则,标签用于处理多对多关系,通过select属性指定子查询来加载关联对象。怎么处理MySQL的慢查询?1、开启慢查询日志,准确定位到哪个sql语句出现了问题2、分析sql语句,看看是否load了额外的数据,可能是查询了多余的行并且抛弃掉了,可能是加载了许多结果中并不需要的列,对语句进行分析以及重写。
2025-02-07 08:42:32
909
原创 Spring Cloud概述
SpringCloud是一个基于SpringBoot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一套完整的解决方案。
2025-01-17 20:38:29
882
1
原创 前后端分离开发心得
• 前端:负责展示数据和用户交互,使用 HTML、CSS、JavaScript 等技术实现用户界面和交互逻辑,通过 AJAX 或 WebSocket 等技术与后端进行通信,获取数据并将数据展示给用户。前后端分离开发是一种软件开发模式,将前端和后端的开发分离开来,使得前端和后端可以独立开发、测试和部署。• 后端:负责处理业务逻辑和数据存储,编写业务逻辑和数据存储的代码,提供 API 接口供前端调用。• 提高开发效率:前后端可以并行开发,减少了开发时间。• 轻量级:体积小,加载速度快,提升用户体验。
2025-01-16 19:40:05
400
原创 Spring Boot+Vue
• Controller 层:定义 RESTful 风格的接口,通过`@RestController`注解标记控制器类,使用`@RequestMapping`、`@GetMapping`、`@PostMapping`等注解定义接口路径和请求方法。• Dao 层:与数据库进行交互。• 项目目录结构清晰,`src`目录下包含`components`(组件)、`views`(页面视图)、`router`(路由配置)、`store`(状态管理)、`assets`(静态资源)等子目录,方便进行模块化开发。
2025-01-15 20:32:41
1059
原创 Maven
它包括多个阶段,如 validate(验证项目是否正确)、compile(编译项目的源代码)、test(运行测试)、package(把编译后的代码打包成可分发的格式,如 JAR、WAR 等)、install(将包安装到本地仓库,供其他项目使用)、deploy(将包部署到远程仓库,如公司的内部仓库或者 Maven 中央仓库)等。例如,A 项目依赖 B 库,B 库又依赖 C 库,Maven 会自动下载 B 和 C 库,并且会根据版本规则(如遵循语义化版本号规则)选择合适的版本,避免版本冲突。
2025-01-14 22:54:27
618
原创 Java注解
定义注解:可以使用@interface关键字来定义自己的注解。自定义注解可以包含一些元素(也称为成员),这些元素可以有默认值。例如,定义一个用于标记重要方法的注解:java这个注解有一个名为的元素,其默认值为。使用注解:定义好注解后,就可以在代码中使用它了。例如:java// 重要的方法实现在这个例子中,方法被标记为重要方法,并且通过注解的元素提供了对该方法重要性的具体描述。注解的元注解:元注解是用来修饰注解的注解,Java提供了一些元注解,如@Retention。
2025-01-11 19:29:23
763
原创 MVCC多版本并发控制
通俗的讲,数据库中同时存在多个版本的数据,并不是整个数据库的多个版本,而是某一条记录的多个版本同时存在,在某个事务对其进行操作的时候,需要查看这一条记录的隐藏列事务版本id,比对事务id并根据事物隔离级别去判断读取哪个版本的数据。如果数据事务ID trx_id < min_limit_id,表明生成该版本的事务在生成Read View前,已经提交(因为事务ID是递增的),所以该版本可以被当前事务访问。事务每次开启前,都会从数据库获得一个自增长的事务ID,可以从事务ID判断事务的执行先后顺序。
2025-01-09 22:37:23
407
原创 Spring Boot
举个例子,比如我们要创建一个 web 项目,使用 Spring 的朋友都知道,在使用 Spring 的时候,需要在 pom 文件中添加多个依赖,而 Spring Boot 则会帮助开发着快速启动一个 web 容器,在 Spring Boot 中,我们只需要在 pom 文件中添加如下一个 starter-web 依赖即可。Spring Boot 是伴随着 Spring 4.0 诞生的,从字面理解,Boot是引导的意思,因此 Spring Boot 旨在帮助开发者快速搭建 Spring 框架。
2025-01-07 21:35:32
541
原创 MyBatis框架
这些步骤涵盖了MyBatis的基本配置,可以根据具体需求进行调整和扩展。文件中添加MyBatis和数据库驱动的依赖。文件,配置数据库连接和事务管理器等信息。节点,注册Mapper接口或XML文件。:创建与数据库表对应的Java对象。:定义与数据库操作相关的接口。:定义SQL语句和映射规则。:创建一个工具类,用于获取。以上步骤完成后,就可以通过。
2025-01-03 21:07:12
733
原创 MySQL中的隔离机制实现
MySQL 的事务隔离机制通过 MVCC 和锁机制,为我们提供了灵活的并发控制手段。在设计数据库时,应根据业务场景选择合适的隔离级别,同时通过优化事务执行来兼顾性能与一致性。掌握事务隔离机制的原理和实现,不仅能提升系统可靠性,还能有效应对高并发场景下的数据一致性问题。对于查询操作,InnoDB 会为事务生成快照,确保读取到的始终是事务启动时的数据状态。使用 READ COMMITTED,可以减少锁的争用,提高并发性能。排他锁(X 锁):一个事务独占资源,禁止其他事务读取或修改。仅在可重复读隔离级别下启用。
2024-12-27 15:24:04
358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人