自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无限进步

本博客主要分享日常学习和做项目遇到的知识点和踩坑记录.当我踏入编程之路起,无论是学习进步还是问题解决,在网络资源和技术博客中获益良多,很多知识都是站在巨人的肩膀上总结而来,所以写博客更倾向于作为自己的学习笔记和分享给其他需要帮助的同学和朋友,无限进步!

  • 博客(105)
  • 收藏
  • 关注

原创 Java 实现图片的加密和解密的两种方式

今天我们将探讨一个有趣且实用的主题:如何在Java中实现图片的加密和解密?图片加密就像是给图片穿上一件隐身斗篷,让它们的内容只有授权的人能够看到。解密则是解开这层隐身斗篷,让图片恢复原貌。在这篇文章中,我们将介绍两种Java实现图片加密和解密的方法,帮助你了解如何保护和访问你的图片数据。直接上图当我们进行加密后本地访问显示解密后图片恢复原貌下面将介绍两种方式进行图片的加密解密,异或加密和AES对称加密。

2024-07-16 16:59:28 829

原创 2024最新超详细SpringMvc常用注解总结

是Spring框架中的一个注解,通常用于控制器方法上,用于指示方法的返回值应该直接作为HTTP响应正文(ResponseBody)返回,而不是通过视图解析器进行渲染。是Spring框架中的一个注解,用于将特定的HTTP状态码应用到控制器方法或异常处理器方法上。注解后,Spring框架会将方法的返回值,如Java对象或集合,转换为指定格式(如JSON/XML)的响应数据,并直接写入HTTP响应。注解用于标识一个类为 Spring MVC 的控制器,它能够处理用户的请求并返回相应的视图或数据。

2024-07-15 18:32:03 682

原创 后端加前端Echarts画图示例全流程(折线图,饼图,柱状图)

本文将带领读者通过一个完整的Echarts画图示例项目,演示如何结合后端技术(使用Spring Boot框架)和前端技术(使用Vue.js或React框架)来实现数据可视化。我们将实现折线图、饼图和柱状图三种常见的数据展示方式,通过具体的代码和步骤让读者掌握从零开始搭建项目到展示图表的全过程。

2024-06-28 18:13:57 629

原创 正则表达式详解及应用

正则表达式是一种字符序列,它定义了一个搜索模式。主要用于字符串模式匹配,如检索、替换、验证字符串。:匹配任意字符(除换行符)。\d:匹配任意数字,等价于[0-9]。\D:匹配任意非数字,等价于[^0-9]。\w:匹配任意单词字符(字母、数字、下划线),等价于。\W:匹配任意非单词字符,等价于。\s:匹配任意空白字符(空格、制表符、换行符)。\S:匹配任意非空白字符。正则表达式是一个强大且灵活的字符串处理工具,通过本文的介绍和示例,相信你已经掌握了正则表达式的基本知识和常见应用。

2024-06-27 20:45:00 1910

原创 Java split() 方法详解

split()方法是JavaString类中的一个实例方法,用于根据指定的分隔符将字符串分割为子字符串数组。

2024-06-27 19:00:00 631

原创 Java substring() 方法详解

方法是JavaString类中的一个实例方法,用于返回字符串的一个子字符串。

2024-06-27 18:30:00 654

原创 字符串的六种遍历方式

for在 Java 中,有多种遍历字符串的方法。以下是几种常见的遍历字符串的方法,并附有示例代码。

2024-06-27 18:15:00 474

原创 List的五种常用遍历方式

在Java中,遍历List的方式有多种,每种方式适合不同的使用场景。以下是常见的几种遍历List的方式,并举例说明。

2024-06-26 18:23:32 312

原创 Map的五种遍历方式

在Java中,Map是一种键值对的集合,用于存储键值对的数据结构。它提供了一种通过键来查找和访问值的方式,每个键都是唯一的,而值可以重复。

2024-06-26 18:22:55 353

原创 菜单树的三种实现形式(递归,for, 队列)

菜单树在软件开发中经常用于展示层级结构的数据,例如网站导航菜单或文件系统。在实际开发中,我们常常需要考虑不同的数据结构和算法来实现这种层级关系的展示。本文将介绍菜单树的三种常见实现方式:递归、for循环和队列,帮助读者更好地理解和选择合适的方法。

2024-06-24 19:03:52 436

原创 IntelliJ IDEA 中显示或隐藏类中的方法

左侧找到Project->右键->勾选Show Members即可显示。

2024-06-22 23:56:15 403

原创 Java 超详细实现导入导出 (包含时间转换问题和样式)

Java 超详细实现导入导出 (包含时间转换问题和样式)

2024-06-22 14:30:49 1312

原创 SpringBoot,Maven项目整合log4j控制台输出步骤SQL记录

上述log4j.properties取自网络,仅用于记录分享使用。然后写在测试去看效果就可以。

2024-06-16 22:37:31 229

原创 Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JD

IDEA启动springboot项目时出现Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JD

2024-06-16 00:07:02 251

原创 APPLICATION FAILED TO START 端口占用解决

1.首先,找到占用端口7010的进程。这将显示占用端口7010的进程ID(PID)。2.然后,结束该进程。在命令行中输入以下命令,将。当频繁重启可能会导致端口被占用。以7010端口被占用为例。此时重启项目,问题解决。

2024-05-30 17:01:35 202

原创 Java是如何实现跨平台的

总的来说,Java的跨平台能力是通过编译成与平台无关的字节码,然后在运行时由JVM将字节码转换成特定平台的机器码来实现的。这种设计使得Java成为一个广泛应用于多种不同类型设备和操作系统的语言。

2024-04-15 23:14:56 457 1

原创 一条SQL查询语句的执行顺序

SQL常用字段执行顺序

2024-04-08 22:59:33 338

原创 JDK1.8 有哪些新特性

JDK 1.8引入了多个新特性,显著改善了Java语言的函数式编程能力、集合操作和日期时间处理。以下是一些主要的新特性。

2024-04-05 23:33:08 282

原创 JVM垃圾回收算法

分代收集算法是JVM中实现垃圾回收的一种高效策略,它基于这样一个观察:不同年龄的对象具有不同的特性。因此,根据对象的存活时间,JVM的堆内存被划分为几个不同的区域,主要包括年轻代、老年代和永久代。

2024-04-04 23:46:40 1014

原创 List Set Map 的值能否为NUll?

ArrayList 在 Java 中是基于动态数组实现的。它的设计允许存储任何类型的对象,包括 null。当一个 null 被添加到 ArrayList 中时,它只是作为数组的一个元素被存储,并不会影响到 ArrayList 的内部数据结构,因为数组本身不关心存储的是引用类型还是 null。

2024-04-03 23:55:19 785

原创 线程池详解、核心参数、拒绝策略

线程池是一种池化技术,它预先创建一组线程,用于执行异步任务。当有新任务到来时,线程池可以立即分配一个线程来处理,而不需要临时创建。这样可以减少因为频繁创建和销毁线程而导致的开销。

2024-03-30 22:49:04 1087

原创 CPU 密集型 和 IO密集型 的区别,如何确定线程池大小?

CPU密集型任务通常涉及到复杂的计算,如算法逻辑、数学计算等,其特点是CPU使用率高,多在这种类型的任务中,线程数量一般与CPU的核心数相匹配就足够了。

2024-03-30 22:22:08 461

原创 TCP三次握手和四次挥手

第一次握手:客户端发送一个SYN包(同步序列编号)到服务器,并进入SYN_SENT状态,等待服务器确认。第二次握手:服务器收到SYN包后,必须确认客户端的SYN(ACK),同时发送自己的SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的SYN+ACK包后,发送确认包ACK,服务器收到后,双方建立连接,可以开始数据传输。

2024-03-29 23:59:06 1019

原创 HTTP 与 HTTPS 的区别

从安全性角度来看,HTTP是超文本传输协议,数据传输过程是明文的,这意味着数据在传输过程中可能被截获或篡改,存在一定的安全风险。而HTTPS通过在TCP和HTTP之间加入SSL/TLS安全协议,对数据进行加密传输,有效地保护了数据的安全性和完整性。此外,HTTPS还提供了服务器身份认证,确保用户访问的是真实可靠的网站,而不是钓鱼网站。

2024-03-29 23:41:19 1179

原创 四种常用限流算法、固定窗口限流算法、滑动窗口限流算法、漏桶限流算法和令牌桶限流算法

限流可以被视为服务降级的一种形式,其核心目标是通过控制输入和输出流量来保护系统。通常,一个系统的处理能力是可以预估的,为了确保系统的稳定运行,当流量达到预定的阈值时,必须采取措施限制进一步的流量。这些措施可能包括延迟请求的处理时间、直接拒绝请求,或者部分地拒绝请求等策略。

2024-03-28 23:58:58 922

原创 Redis 的内存回收策略

Redis的内存回收策略用于处理过期数据和内存溢出情况,确保系统稳定性和性能。作为一个高性能的键值存储系统,它通过内存回收策略来维护内存的高效使用

2024-03-26 23:58:25 667

原创 MySQL Explain 优化参数详细介绍

Explain是MySQL提供的一个非常有用的工具,它能够帮助数据库管理员和开发者理解SQL查询是如何被数据库执行的。通过在SELECT语句前加上EXPLAIN关键字,我们可以获取关于查询执行计划的信息。

2024-03-26 23:17:59 931

原创 详解ThreadLocal

ThreadLocal是一个与线程相关的类,但它本身并不是一个Thread。这个类可以提供线程局部变量,与普通变量有所不同。虽然你可以实例化一个ThreadLocal对象,但当每个线程访问或设置它时,它们实际上是在操作本线程内的该对象的副本。这也意味着,这个对象在不同的线程中,副本的值是不一样的

2024-03-20 23:21:18 1077

原创 MySQL的锁的类型

乐观锁与悲观锁、全局锁、表级锁、页级锁和行级锁、共享锁与排它锁、间隙锁与临键锁

2024-03-19 23:56:00 362

原创 详解Redis的持久化RDB和AOF

AOF文件会随着时间不断增长,为了效率和性能,Redis还提供了AOF文件重写机制。重写过程会创建一个新的AOF文件,该文件记录了恢复当前数据集所需的最小写命令集。这个过程可以手动触发或根据配置文件中设置的规则自动进行。

2024-03-19 23:30:44 1033

原创 Docker 是什么,Docker 常用命令,怎么写Dockerfile

Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包成一个标准化的单元,这个单元可以在任何支持Docker的环境中运行。

2024-03-18 23:44:52 1039

原创 Git 常用命令总结

Git 是一个开源的分布式版本控制系统。

2024-03-18 23:25:35 615

原创 Redis 常用数据类型,各自的使用场景是什么?

性能考虑读写速度:所有类型的读写操作都是高效的,但List和Hash在大数据量时的性能可能更优。内存使用:String和Hash通常更节省内存,因为它们不会像List和Set那样存储额外的结构信息。持久化:String类型的小数据量操作更适合利用Redis的持久化机制。

2024-03-17 23:43:44 591

原创 什么数据需要存在Redis里?缓存的缺点?怎样进行数据同步?

在选择数据同步方法时,需要根据具体的业务场景和需求来决定最适合的方法。例如,对于对一致性要求较高的场景,可能需要采用同步双写策略;而对于更新频率低的业务,设置有效期可能是一个更简单的选择。无论选择哪种方法,都需要考虑到系统的复杂性、维护成本以及潜在的风险。

2024-03-17 23:11:10 1043

原创 Nacos为什么对于临时实例采用心跳检测,非临时实例采用主动询问?Nacos同时作为配置中心和注册中心有什么坏处?为什么Nacos可以抗住那么高的注册?

Nacos 对于临时实例采用心跳检测,而对于非临时实例采用主动询问,这两种不同的健康检查机制是为了满足不同场景下的服务发现需求。总的来说,临时实例适用于那些对稳定性要求不高或者不需要持久化存储的场景,例如临时任务或者测试环境。而非临时实例则适用于生产环境中对服务稳定性和可靠性有较高要求的场景。通过这种方式,Nacos能够灵活地适应不同类型的服务注册和发现需求,提供更加精准和高效的服务管理。

2024-03-15 22:02:36 1164

原创 MySQL主键采用什么结构?为什么要自增?为什么用int?

MySQL主键通常采用的是自增的整数类型结构。MySQL主键需要自增主要是为了保证插入性能优化以及数据聚簇。MySQL主键通常使用int类型是因为它足够高效且空间占用小。

2024-03-15 21:46:08 659

原创 什么是API签名认证?

一种用于验证API请求合法性的安全机制,它通过使用密钥和算法为每个请求生成一个唯一的签名值来确保数据的安全传输和访问控制。

2024-03-14 22:54:40 519

原创 什么是RPC?RPC 和 HTTP 对比?RPC有什么缺点?市面上常用的RPC框架?

RPC(Remote Procedure Call)是一种用于实现不同计算机间程序之间通信的协议,主要用于分布式系统中。它允许程序员编写客户端和服务器端代码,就像它们位于同一台机器上一样,而不需要显式地处理网络通信的细节。

2024-03-14 22:24:58 1728

原创 volatile关键字用处和场景?

在C语言和Java中,它是一种特殊的类型修饰符,用来告诉编译器该变量可能会被意外地改变。这样,每次存取该变量时,编译器都不会对其进行缓存优化,而是直接从内存中读取或写入,提供了对特殊地址的稳定访问。在Java中,volatile提供了一种比synchronized更轻量级的同步机制,因为它不会引起线程上下文的切换和调度。但相较于synchronized,它的同步性较差,使用时需谨慎以避免出错。

2024-03-13 23:28:53 606

原创 Rabbit MQ详解

RabbitMQ 是一个消息代理:它接受和转发消息。你可以把它想象成一个邮局:当你把你想投递的邮件放在一个邮箱里时,你可以确定信使最终会把邮件送到你的收件人手中。在这个类比中,RabbitMQ 是一个邮箱、一个邮局和一个信箱。

2024-03-13 23:20:16 1056

空空如也

空空如也

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

TA关注的人

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