- 博客(80)
- 收藏
- 关注
原创 计算机网络知识点汇总
计算机网络是将分散的、具有独立功能的计算机系统,通过通信设备与线路连接,由完善的网络协议实现资源共享和信息传递的系统。防止失效的连接请求报文到达服务端,导致服务端建立无效连接,浪费服务器资源确保客户端和服务端双方的发送能力、接收能力都正常,完成双向确认三次是完成双向可靠确认的最小次数,四次无必要,会增加连接建立的时延。
2026-03-03 13:44:27
1048
原创 同一账号在同一客户端类型只能登录一次
JeecgBoot 单点登录的核心技术栈为JWT(生成唯一登录凭证)+ Redis(存储登录状态 / 管理 token),所有核心逻辑集中在LoginController类中,是 JeecgBoot 权限体系的重要组成部分。
2026-02-24 23:06:57
846
原创 Jeecgboot框架-权限控制
Jeecgboot 的权限体系核心为按钮权限(功能权限)+ 数据权限,基于 Shiro 实现权限校验,遵循「用户 - 角色 - 权限」的关联逻辑(用户关联角色、角色绑定权限,权限不直接分配给用户),所有权限配置最终通过系统端配置 + 前后端代码注解 / 校验联动生效。
2026-02-24 22:58:14
796
原创 更新时对字段的重复校验
/创建自定义注解@Constraint(validatedBy = UniqueValidator.class) //用于指定校验逻辑的实现类String message() default "字段值已存在";Class<?Class<?// 表名// 字段名// 排除的ID(用于更新)//创建校验器@Autowired@Override@Override// 构建查询条件// 如果排除ID不为空,添加排除条件。
2026-01-29 15:49:12
277
原创 JVM参数调优实战指南:从入门到进阶
bin/bash# Java 11+ 生产环境通用配置模板# 基础内存配置-Xmn2g# 垃圾收集器(G1)# GC日志(必须开启!# 故障排查# 性能优化# 禁止危险操作# Docker容器支持JVM调优是一门艺术,更是一门科学。它需要在理解原理的基础上,结合具体业务场景进行实践。没有最好的配置,只有最适合的配置。通过持续的监控、分析和调整,我们可以让Java应用在稳定性和性能上达到最佳平衡。希望本文能为您提供实用的JVM调优指导。
2026-01-06 18:02:19
662
原创 Java集合框架(四):Map接口深度解析与HashMap、TreeMap、LinkedHashMap对比
HashMap基于哈希表,性能最优(O(1))无序,允许null键值需要重写键的hashCode和equals继承HashMap,维护插入/访问顺序适合实现LRU缓存性能略低于HashMapTreeMap基于红黑树,按键排序性能O(log n),支持范围查询键必须实现Comparable或提供Comparator线程安全的HashMap高并发性能优秀替代Hashtable。
2026-01-06 09:00:00
826
原创 Java集合框架(三):Set接口深度解析与HashSet、TreeSet、LinkedHashSet对比
Set接口是Collection的子接口,它具有以下核心特征:唯一性:不允许重复元素(基于equals()和hashCode()判断)无序性:大多数实现不保证元素的顺序允许null元素:大多数实现允许一个null元素(TreeSet除外)二、HashSet:基于哈希表的Set实现2.1 HashSet的内部结构与原理2.2 HashSet的哈希机制2.3 HashSet的性能特点与使用场景三、TreeSet:基于红黑树的有序Set3.1 TreeSet的内部结构与
2026-01-05 20:00:00
826
原创 Java集合框架(二):List接口深度解析与ArrayList、LinkedList对比
List是Java集合框架中最常用的接口之一,它具有以下核心特征:有序性:元素按照插入顺序保存,可以通过索引访问可重复性:允许存储相同的元素支持索引操作:提供了基于位置(索引)的各种方法允许null元素:大多数实现允许存储null值二、ArrayList:基于动态数组的实现2.1 ArrayList的内部结构2.2 ArrayList的核心操作源码分析2.3 ArrayList的迭代与快速失败机制三、LinkedList:基于双向链表的实现3.1 LinkedLi
2026-01-05 16:00:00
1102
原创 Java集合框架(一):集合基础与Collection接口详解
本文介绍了Java集合框架中的Collection接口及其核心应用。Collection作为单列集合的根接口,包含List(有序可重复)、Set(无序不可重复)和Queue(队列)三大子接口。文章详细讲解了Collection的基本操作方法(添加、删除、查询等)以及三种遍历方式(增强for循环、迭代器、forEach方法)。通过对比数组与集合的特性,突出了集合在动态扩展和功能丰富性方面的优势。最后强调应根据实际需求选择合适集合类型:List保持顺序、Set确保唯一性、Queue实现先进先出。
2026-01-05 11:35:29
378
原创 Java中Collection与Collections的区别:一文读懂
Collection和虽然在名字上只有一字之差,但在Java中却代表着完全不同的概念。Collection是集合的根接口,用于定义标准;Collections是工具类,用于提供实用方法。掌握它们的区别,能够帮助你更准确地使用Java集合框架,写出更健壮、可维护的代码。作为开发者,理解这些基础概念是提升编程能力的关键一步。下次当你使用集合时,不妨想一想:我是在操作集合本身,还是在用工具处理它?这样,你就能游刃有余地选择正确的工具了。
2026-01-04 17:30:40
893
原创 Linux环境下部署SpringBoot前后端分离项目
这里我用的是腾讯云服务器,虚拟机用的是FinalShell根据ip地址和账号密码进行连接。
2026-01-04 17:21:09
1122
原创 MyBatis与MyBatis Plus面试终极指南
在Java持久层框架领域,MyBatis以其灵活的SQL映射和优秀的性能表现,成为了众多企业的首选方案。而MyBatis Plus在MyBatis基础上进一步简化了开发流程,提供了强大的增强功能。本文将全面解析这两个框架的核心原理、高级特性以及面试中的高频问题,助你轻松应对技术面试。
2025-09-23 22:15:00
582
原创 Spring Boot面试终极指南:从基础到高级全面解析
Spring Boot是基于Spring框架的"约定优于配置"理念的快速应用开发工具。它通过自动配置和起步依赖,极大简化了Spring应用的初始搭建和开发过程。1. 创建autoconfigure模块2. 定义配置属性类3. 创建自动配置类@Bean4. 创建spring.factories文件@Component@Override// 检查自定义组件健康状态} else {
2025-09-23 18:15:00
674
原创 Spring框架面试终极指南:核心概念、高频问题与深度解析
作为一名Java开发者,Spring框架的掌握程度几乎决定了你的职业发展和技术水平。在当今的Java面试中,Spring相关问题出现的频率高达90%以上。本文将从Spring核心概念出发,全面解析面试中常见的Spring问题,帮助你在面试中脱颖而出。
2025-09-23 08:45:00
303
原创 深入理解JVM类加载与垃圾回收机制
答:双亲委派模型要求除了顶层的启动类加载器外,其余的类加载器都应有自己的父类加载器。工作过程是:如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成。好处:安全性:防止核心API被篡改避免重复加载:保证类的唯一性结构清晰:类加载器层次关系明确。
2025-09-22 22:00:00
778
原创 深入理解Java虚拟机内存模型
Java虚拟机(JVM)内存模型是Java程序员必须掌握的核心技术之一,不仅关系到程序性能优化、故障诊断,更是面试中的高频考点。据不完全统计,在Java中高级岗位面试中,JVM相关问题的出现概率高达85%!本文将带你系统性地学习JVM内存模型,从基础概念到高级应用,从学习复习到面试准备,全方位提升你的JVM功力。
2025-09-22 17:45:00
1130
原创 Java线程池深度解析
在现代高并发应用中,线程池是Java并发编程的核心组件。据统计,合理使用线程池可以提升系统性能30%-50%,同时避免资源耗尽导致的系统崩溃。阿里巴巴Java开发手册中明确要求:线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。// 预启动所有核心线程static {
2025-09-22 11:00:00
1753
原创 Java并发安全解析
在当今高并发的互联网时代,多线程编程已经成为Java开发者的必备技能。然而,并发编程在提升系统性能的同时,也带来了复杂的安全性问题。据统计,约70%的生产环境问题与并发安全相关,且这类问题往往难以复现和调试。掌握并发安全知识,不仅是为了写出正确的代码,更是保障系统稳定性的关键。
2025-09-21 20:39:46
947
原创 Java并发编程深度指南:多线程
使用CLH队列管理获取锁的线程通过state变量表示同步状态提供了acquire()和release()等模板方法。
2025-09-21 20:34:15
776
原创 Redis深度解析:核心数据结构、线程模型与高频面试题
Redis以其简洁的设计和卓越的性能成为了分布式系统不可或缺的组件。深入理解其数据结构实现和线程模型,能够帮助开发者更好地发挥Redis的潜力,构建高性能的应用程序。随着Redis的持续演进,如Disless模式等新特性的加入,这一经典技术将继续在云原生时代发挥重要作用。
2025-09-12 11:00:14
539
原创 MySQL基础全面解析
MySQL基础知识涵盖了从数据类型选择到复杂查询优化的各个方面。掌握这些核心概念对于构建高效、可靠的数据库应用至关重要。根据业务需求合理选择数据类型和表结构设计理解SQL执行顺序,编写高效的查询语句合理使用索引和约束保证数据完整性和查询性能在复杂场景下考虑使用事务和锁机制保证数据一致性持续学习和实践是掌握MySQL的关键,建议通过实际项目不断深化对这些概念的理解和应用。
2025-09-11 22:00:00
875
原创 MySQL索引深度解析
索引是一种数据结构,它能够帮助数据库系统快速定位到表中特定值所在的数据行,而无需进行全表扫描。MySQL中的索引本质上是对表中一列或多列的值进行排序的结构,类似于图书馆的图书检索系统。从计算机科学的角度来看,MySQL索引主要使用B+树数据结构(InnoDB引擎的默认索引类型),这也是为什么索引能够提供O(log n)时间复杂度的数据检索能力。MySQL索引是数据库性能优化的核心技术,正确使用索引可以带来显著的性能提升。深入理解业务查询模式,针对性创建索引。
2025-09-11 14:00:00
2067
原创 MySQL锁机制深度解析:从基础到高并发实战
MySQL锁机制是保障数据一致性的核心技术,不同存储引擎和隔离级别下的锁行为各有特点。根据业务场景选择合适的隔离级别为查询创建合适的索引避免锁升级设计事务时考虑锁的持有时间和范围高并发场景考虑使用乐观锁减少锁竞争监控和分析锁等待情况,及时优化正确理解和应用MySQL锁机制,能够在保证数据一致性的同时,最大化数据库的并发性能。注意:本文基于MySQL 8.0版本,不同版本的具体实现可能有所差异,请以实际使用的MySQL版本为准。
2025-09-11 08:00:00
820
原创 MySQL事务详解:从隔离级别到默认设置
在数据库管理中,事务是指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全不执行。这是确保数据完整性和一致性的核心机制。MySQL作为最流行的关系型数据库之一,提供了完整的事务支持。原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成一致性(Consistency):事务必须使数据库从一个一致状态转变为另一个一致状态隔离性(Isolation):并发事务之间互相隔离,互不干扰持久性(Durability)。
2025-09-10 21:13:43
932
原创 Java中线程的创建方式
创建方式返回值异常处理适用场景继承Thread无简单简单任务,不推荐实现Runnable无简单一般任务,最常用实现Callable有完善需要返回值的任务线程池灵活完善生产环境,资源管理灵活完善复杂异步编程。
2025-09-10 21:07:19
675
原创 Java中对象的创建方式详解
创建方式优点缺点适用场景new关键字简单直接,性能好编译时绑定,不够灵活大多数常规场景反射机制运行时动态创建,灵活性高性能开销大,代码复杂框架开发,动态加载clone方法创建对象副本,避免复杂初始化需要实现Cloneable,浅拷贝问题需要对象复制的场景反序列化跨网络/持久化重建对象需要实现Serializable,性能开销分布式系统,持久化存储工厂模式解耦创建逻辑,易于扩展增加代码复杂度需要灵活创建对象的系统选择哪种对象创建方式取决于具体的应用场景和需求。
2025-09-10 21:00:07
360
原创 ElasticSearch复习指南:从零搭建一个商品搜索案例
想象一下,你正在开发一个电商网站,商品数量达到百万级别。用户需要能够快速搜索商品,并且希望支持模糊匹配、按价格筛选、按分类过滤等功能。WHERE name LIKE '%手机%'随着数据量增加,这种查询会变得越来越慢,而且无法很好地支持模糊搜索和相关度排序。这就是ElasticSearch的用武之地。倒排索引是ES高性能搜索的基石合理的Mapping设计对搜索性能和准确性至关重要复合查询可以满足复杂的业务需求聚合分析提供了强大的数据分析能力性能优化。
2025-09-09 22:02:16
835
原创 Spring Scheduler定时任务实战:从零掌握任务调度
在日常开发中,我们经常需要处理定时任务:每天凌晨的数据同步、每小时的统计报表、每5分钟的状态检查等。Spring框架提供了一个简单而强大的定时任务框架——Spring Scheduler,让我们能够以声明的方式轻松实现各种定时任务需求。本文将通过一个真实案例,带你从入门到掌握Spring Scheduler的使用。Spring Scheduler是Spring框架提供的定时任务调度器,它基于注解和配置的方式,让任务调度变得简单直观。支持cron表达式、固定延迟、固定频率等多种调度方式。
2025-09-09 21:54:50
1186
1
原创 深入理解数据结构:从数组、链表到B树家族
数据结构优点缺点典型应用场景数组随机访问快,内存紧凑大小固定,插入删除慢基础数据存储链表动态大小,插入删除快随机访问慢,内存分散队列、LRU缓存红黑树自平衡,操作稳定实现复杂有序集合、映射B树适合磁盘存储范围查询效率低文件系统B+树范围查询高效实现更复杂数据库索引B*树空间利用率高实现最复杂高性能数据库。
2025-08-20 11:39:55
721
原创 Java集合框架:Set、List、Map及HashMap底层实现详解
Java集合框架主要分为三大类接口:List(列表):有序集合,元素可重复实现类:ArrayList、LinkedList、VectorSet(集):无序集合,元素不可重复实现类:HashSet、LinkedHashSet、TreeSetMap(映射):键值对集合实现类:HashMap、LinkedHashMap、TreeMap、Hashtable集合类底层结构线程安全有序性允许nullArrayList动态数组否插入顺序是LinkedList。
2025-08-20 11:27:44
907
原创 Java中的字符串:String、StringBuffer与StringBuilder详解
使用String:当字符串不需要频繁修改时,或者需要保证线程安全时使用StringBuffer:多线程环境下需要频繁修改字符串时使用StringBuilder:单线程环境下需要频繁修改字符串时(大多数情况)记住:在大多数现代应用中,由于单线程场景更常见,StringBuilder通常是性能最佳的选择。只有在明确需要线程安全的情况下,才应该选择StringBuffer。希望这篇博客能帮助你更好地理解和使用Java中的字符串类!
2025-08-20 10:32:58
369
原创 深入理解Java中的四类引用:强、软、弱、虚引用
Java的四类引用构成了灵活的内存管理机制:强引用:常规对象生命周期控制软引用:"柔性"缓存,内存不足时释放弱引用:不影响GC的临时关联虚引用:对象回收的精确通知合理使用这些引用类型,可以帮助我们:优化内存使用防止内存泄漏实现高效缓存精确控制资源释放理解这些引用类型,是成为Java高级开发者的重要一步。在你的项目中,是否遇到过适合使用这些引用类型的场景呢?
2025-08-19 21:35:44
763
原创 Java封装
封装是指将数据(属性)和行为(方法)包装在一个类中,并对外隐藏实现的细节。简单来说就是:把属性设为私有(private)提供公共(public)的方法来访问和修改这些属性封装是Java编程的基础概念,通过:将属性设为private提供public的getter和setter方法在方法中添加必要的业务逻辑这样可以构建更安全、更健壮的Java程序。记住:好的封装是优秀Java代码的开始!
2025-08-18 21:01:24
518
原创 Java中抽象类与接口的区别
抽象类是不能被实例化的类,它通常包含抽象方法(没有具体实现的方法)和具体方法(有实现的方法)。抽象类用于定义子类的通用行为和属性。// 抽象方法// 具体方法优先使用接口:当只需要定义行为契约时,接口是更好的选择,因为它允许多重继承且更灵活需要共享代码时使用抽象类:当相关类需要共享代码或需要定义模板方法时,抽象类更合适考虑Java版本:在Java 8+中,接口功能更强大,可以部分替代抽象类的功能组合优于继承。
2025-08-18 20:30:56
677
原创 常用Linux指令:Java/MySQL/Tomcat/Redis/Nginx运维指南
希望这份Linux指令大全能帮助您更高效地进行服务器运维工作!根据实际环境,部分命令可能需要适当调整。
2025-08-12 17:12:45
693
原创 MySQL数据库中的密码加密详解
密码安全是数据库安全的核心部分,下面我将全面介绍MySQL中密码加密的各种方法,包括SHA-256、盐值加密等技术的实现原理和实际应用。
2025-08-12 11:51:47
1379
原创 SpringBoot集成支付宝二维码支付接口详解
在电商和移动支付时代,集成支付宝支付功能已成为许多Java应用的必备功能。本文将详细介绍如何在SpringBoot项目中集成支付宝的二维码支付接口,包括从申请支付宝开发者账号到最终实现支付功能的完整流程。
2025-08-11 15:25:08
724
原创 基于ECharts的智慧社区数据可视化
ECharts是百度开源的一个基于JavaScript的可视化图表库,广泛应用于数据分析和展示场景。它具有丰富的图表类型、灵活的配置项和良好的交互体验。本文将介绍ECharts的核心功能和使用方法。或直接CDN引入:
2025-08-10 21:33:42
1266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅