自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring的配置(使用注解)

本文介绍了Spring框架中基于注解的依赖注入配置方式。主要内容包括:1)Spring配置方式的演进过程,从XML到XML+注解再到纯注解配置;2)核心注解的使用方法,如@Component及其衍生注解用于类注入,@Value用于基本数据注入,@Autowired用于自动装配;3)特殊注解的应用场景,包括@Primary处理类型冲突、@Qualifier/@Resource按名称装配、@Scope配置作用域等。

2025-09-29 11:28:42 1011

原创 SpringIoC容器对bean的管理

Spring IOC容器管理bean的核心机制包括:1)三种创建方式(构造方法、工厂方法、静态工厂方法);2)作用域管理(单例/多例/请求/会话);3)生命周期管理(实例化-属性赋值-初始化-使用-销毁)。通过XML配置可指定作用域(scope属性)和生命周期回调方法(init-method/destroy-method)。

2025-09-27 15:00:00 846

原创 Spring 依赖注入

本文介绍了Spring框架依赖注入(DI)的实现方式。主要内容包括:1) Spring DI的核心概念和三种实现方式(构造器注入、set注入、注解注入);2) 通过实例演示了set注入对基本类型、JavaBean和复杂类型的配置方法;3) 讨论了构造注入的语法规则和实际应用,包括基本类型和JavaBean的注入实现。

2025-09-27 10:00:00 2563

原创 Spring框架基础

本文介绍了Spring框架的基础知识和IoC核心思想,通过三种不同耦合度的方式连接MySQL数据库,并对比了两种构建三层架构的方法。重点讲解了Spring框架的搭建流程,包括依赖引入、配置文件编写和IoC容器的使用,通过实例演示了如何通过ApplicationContext获取Bean对象。

2025-09-26 14:30:00 1569

原创 Mybatis使用注解进行级联/联合查询

本文介绍了使用Lombok注解和MyBatis注解实现数据库操作的方法。主要内容包括:1)Lombok的使用步骤及@Data等常用注解;2)实体类Account和User的创建,包含一对多关系映射;3)通过@Insert、@Select等注解实现增删改查操作;4)使用@Results和@Result实现联合查询和级联查询,包括一对一(@One)和一对多(@Many)关系的处理。

2025-09-26 09:30:00 357

原创 MyBatis进行级联查询

本文介绍了MyBatis中的级联查询实现方法,包括一对一和一对多查询。一对一查询通过association元素实现;一对多查询则使用collection元素。文章详细展示了Mapper接口定义、XML映射文件配置以及测试类编写过程,通过分步查询方式实现对象关联查询功能。

2025-09-25 15:04:25 354

原创 MyBatis进行多表联查

本文介绍了MyBatis实现多表联查的步骤,主要包括一对一和一对多查询。首先通过Maven导入MySQL、JUnit和MyBatis依赖,创建用户(User)和账户(Account)实体类并建立关联关系。然后配置MyBatis主配置文件,包括数据库连接和映射文件注册。

2025-09-25 14:30:00 873

原创 MyBatis的注解实现与增删改查

本文介绍了使用MyBatis框架进行数据库操作的基本流程和常见操作。主要包括:1.环境搭建:导入依赖,创建实体类和Mapper接口;2.配置MyBatis核心文件,包括数据源配置和SQL映射注册;3.基础操作实现:通过注解和XML两种方式实现查询、新增、修改、删除等操作;4.特殊查询处理:包括分页查询、模糊查询、聚合查询等。

2025-09-25 09:45:00 786

原创 JDBC与MyBatis基础操作

文章介绍了JDBC和MyBatis的基础操作。JDBC部分包括连接测试、增删改查操作,详细说明了加载驱动、获取连接、执行SQL语句等步骤。MyBatis部分从创建表开始,到配置映射文件、核心配置文件,最后通过测试类进行查询操作。两者都展示了Java与MySQL数据库交互的基本流程,其中JDBC采用原生API实现,而MyBatis则通过映射文件简化了数据库操作。

2025-09-24 15:15:00 460

原创 UDP协议 相关知识

UDP协议是一种无连接的传输层协议,具有简单高效的特点。它不提供可靠性保证,适合实时性要求高的场景如视频通话、DNS查询等。与TCP相比,UDP首部开销小(仅8字节),支持多对多通信,但缺乏流量控制和重传机制。UDP适用于对传输效率要求高于可靠性的应用场景,如即时通讯、多媒体传输等。

2025-09-24 10:41:51 864

原创 TCP协议 相关知识

TCP协议是面向连接的可靠传输协议,通过三次握手建立连接、四次挥手释放连接,确保数据传输的可靠性。其核心机制包括:1)重传机制(超时重传、快速重传、SACK)解决丢包问题;2)滑动窗口实现流量控制,通过动态调整窗口大小匹配接收方处理能力;3)拥塞控制算法(慢启动、拥塞避免、快速恢复)防止网络过载。

2025-09-23 15:00:00 3477

原创 HTTP协议 相关知识

HTTP协议是用于服务器与客户端浏览器之间传输超文本数据的应用层协议,采用请求-响应模式工作。通信过程包括建立TCP连接、发送HTTP请求报文、服务器处理并返回响应报文等步骤。HTTP使用URL定位资源,请求方式包括GET、POST等,状态码标识请求结果。HTTP存在明文传输的安全隐患,HTTPS通过SSL/TLS加密解决了这一问题。

2025-09-23 10:16:03 1246

原创 计算机网络模型

互联网(Internet)是全球互联的计算机网络,遵循TCP/IP协议实现设备间通信。其特点包括全球连接、统一协议和资源共享,由硬件设备(如路由器、光纤)和分层网络模型构成。TCP/IP模型分为四层:应用层(HTTP、DNS等协议)、传输层(TCP/UDP)、网络层(IP寻址与路由)和网络接口层(MAC地址通信)。

2025-09-22 14:30:00 898

原创 JVM工具 相关知识

本文介绍了JVM常用监控诊断工具,包括命令行工具和可视化工具两大类。命令行工具涵盖jps(进程查看)、jstat(实时监控)、jinfo(参数查看)、jmap(内存分析)、jstack(线程分析)等核心命令,并说明了各命令的功能参数和使用示例。可视化工具重点介绍了jconsole、jvisualvm、MAT和Arthas的特性与适用场景。

2025-09-22 10:01:57 1101 1

原创 JVM参数 相关知识

本文介绍了Java虚拟机(JVM)的主要参数配置方法,包括标准参数、X参数和XX参数三大类。标准参数如-version、-classpath等用于显示版本信息和设置类路径;X参数用于堆内存配置(-Xms、-Xmx)、垃圾回收(-Xloggc)和代码优化(-Xcomp);XX参数则提供更高级的配置选项,包括内存分配比例、垃圾收集器选择(如G1、CMS)以及日志输出等。

2025-09-21 15:09:30 811

原创 三色标记算法

三色标记是JVM垃圾回收的核心算法,通过白(未处理)、灰(处理中)、黑(已处理)三种颜色标记对象状态。从GC Roots出发,逐步将对象标记为灰色再转为黑色,最终白色对象被视为垃圾。

2025-09-21 15:04:50 664

原创 JVM的垃圾收集算法及垃圾收集器

本文介绍了JVM垃圾收集算法与收集器。分代收集理论将堆区划分为不同区域(新生代/老年代),针对各区域特点采用不同算法:新生代使用标记-复制算法,老年代采用标记-清除或标记-整理算法。重点分析了两种主流收集器:CMS收集器通过并发标记/清除实现低停顿,但会产生内存碎片;G1收集器采用Region分区设计,支持可预测停顿和空间整合,能同时管理新生代和老年代。

2025-09-20 19:30:00 1014

原创 JVM垃圾收集中判断对象存活相关问题

本文介绍了判断对象存活的方法:1)引用计数算法(存在循环引用问题);2)可达性分析算法(通过GCRoots引用链判断);3)Java四种引用类型:强引用(需显式置null)、软引用(内存不足时回收)、弱引用(GC必回收)和虚引用(仅跟踪回收)。

2025-09-20 15:08:29 1057

原创 Java内存模型(JMM)知识

Java内存模型(JMM)是Java程序运行时的核心内存管理机制,主要包括线程共享的堆区和方法区(JDK1.8后改为元空间),以及线程私有的虚拟机栈、本地方法栈和程序计数器。

2025-09-19 16:30:00 1033

原创 JVM 概念与类加载过程

本文系统介绍了JVM的核心知识:1. JVM的重要性体现在解决线上系统OOM、性能优化等实际问题;2. Java跨平台原理,指出JVM是实现一次编译,到处运行的关键;3.JVM的组成结构、代码执行流程和类加载机制,包括加载、验证等5个阶段;4. 类加载时机、双亲委派模型及其实现原理,说明该机制如何保证基础类统一性。

2025-09-19 10:44:15 666

原创 锁 相关知识总结

Java中的锁机制可分为多种类型,主要包括:悲观锁(如synchronized和ReentrantLock)与乐观锁(如CAS算法),前者独占资源,后者通过无锁编程实现;偏向锁、轻量级锁和重量级锁,分别针对不同竞争场景优化性能;公平锁与非公平锁,区别在于是否按申请顺序获取锁。

2025-09-18 16:30:00 982

原创 CAS 相关知识

CAS(比较并交换)是一种无锁同步机制,通过CPU指令实现原子操作。相比synchronized或Lock,CAS避免了加锁带来的性能损耗,属于轻量级解决方案。

2025-09-18 10:24:36 726

原创 线程池 相关知识

线程池通过池化思想管理线程资源,解决频繁创建/销毁线程的性能开销,实现线程复用与并发控制。核心配置包括核心/最大线程数、任务队列及拒绝策略,执行流程遵循"核心线程→队列→非核心线程→拒绝策略。

2025-09-17 16:14:13 902

原创 JUC 并发集合相关

Java并发包提供了多种线程安全集合类,包括CopyOnWriteArrayList、ConcurrentHashMap和BlockingQueue等。这些集合类通过不同的并发控制策略,有效解决了多线程环境下的线程安全问题。

2025-09-17 10:35:25 874

原创 ReentrantLock 可重入锁

ReentrantLock是Java并发包中提供的可重入锁实现,相比synchronized关键字具有更丰富的功能特性。它支持公平/非公平锁、可中断获取锁、超时机制、多个条件变量等高级功能,同时需要显式调用lock()和unlock()方法进行锁管理。

2025-09-15 14:30:00 2912

原创 synchronized相关知识

摘要: Java中的synchronized通过锁升级机制(无锁→偏向锁→轻量级锁→重量级锁)优化多线程性能。实际开发中需注意锁粒度和竞争问题,单例模式推荐静态内部类或枚举实现,兼顾线程安全与性能。

2025-09-15 09:47:22 922

原创 线程基础1

本文主要介绍了进程与线程的基本概念及其在Java中的实现方式。操作系统通过多任务机制实现并发执行,进程是资源分配的基本单位,线程是任务调度的基本单位。

2025-09-13 10:00:00 1027

原创 线程基础2

本文主要介绍了:1.线程常用方法:join()实现线程插队,interrupt()实现线程中断,setDaemon()设置守护线程。 2.多线程并发安全:共享变量读写需保证原子性,synchronized关键字提供同步锁机制。 3.几个经典案例。

2025-09-12 10:29:37 834

原创 基础10(集合相关知识)

本文主要介绍了Java集合框架的基础知识,包括Collection单列集合和Map双列集合。内容涵盖ArrayList、LinkedList、Vector等List实现类的常用方法,HashSet、LinkedHashSet、TreeSet等Set集合的特点及去重机制,以及HashMap、LinkedHashMap、TreeMap等Map集合的键值操作。

2025-09-11 17:40:55 1028

原创 基础9(异常相关)

本文主要介绍了Java中的异常处理机制,包括常见的异常类型(如数组越界、空指针、算术异常等)、异常处理方式(try-catch、try-catch-finally、try-with-resources)、throws和throw关键字的使用,以及自定义异常的实现。

2025-09-11 16:46:45 382

原创 基础8(导包/字符串操作/包装类)

本文主要介了:Java包访问控制、字符串操作、StringBuffer与StringBuilder以及包装类的基础知识

2025-09-09 21:23:52 528

原创 基础7(抽象类/接口/static关键字)

本文主要介绍了Java中的抽象类和接口的概念与使用,以及static关键字的相关知识。

2025-09-09 14:48:28 762

原创 基础6(继承/多态/final关键字)

本文介绍了Java面向对象编程的核心概念:继承、多态和final关键字。

2025-09-01 21:05:13 857

原创 基础5(重载与传递/类与对象基础/代码块基础)

本文介绍了Java面向对象编程中的几个核心概念:1)方法重载及参数传递机制;2)类和对象的基本概念,包括成员变量与局部变量的区别、封装性实现。

2025-09-01 20:37:25 821

原创 基础4(冒泡排序/Arrays基础/定义方法基础)

本文介绍了Java编程中的几个知识点:1) break和continue关键字的用法;2) 冒泡排序算法原理及实现;3) Arrays工具类的常用方法;4)定义一个方法。

2025-08-22 15:58:29 181

原创 基础3(输入输出/条件分支/两种循环)

本文介绍了Java基础语法中的输入输出、条件分支和循环结构。

2025-08-18 16:44:45 286

原创 基础2(位运算/三元组/字符串/数组基础)

本文介绍了Java编程中位运算、字符串处理与数组操作的基础知识点。

2025-08-12 21:08:20 439

原创 基础1(数据类型/基础运算)

本文介绍了Java基础语法中的数据类型、变量定义和基本运算操作。

2025-08-12 20:54:39 326

原创 Bean的生命周期

本文概述了Spring Bean的生命周期,分为四个阶段:实例化、初始化、完成和销毁。

2025-07-28 21:58:31 703

原创 MyBatis的运行原理

MyBatis运行原理核心流程:1)加载配置,构建SqlSessionFactory;2)通过动态代理创建Mapper接口实现类;3)SQL执行时匹配MapperStatement,由Executor完成JDBC操作;4)结果集根据映射规则转换为POJO对象。MyBatis通过配置驱动和代理模式,实现SQL与Java代码,简化数据库操作同时保持灵活性。

2025-07-19 22:16:18 733

空空如也

空空如也

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

TA关注的人

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