- 博客(105)
- 收藏
- 关注
原创 Java 实现图片的加密和解密的两种方式
今天我们将探讨一个有趣且实用的主题:如何在Java中实现图片的加密和解密?图片加密就像是给图片穿上一件隐身斗篷,让它们的内容只有授权的人能够看到。解密则是解开这层隐身斗篷,让图片恢复原貌。在这篇文章中,我们将介绍两种Java实现图片加密和解密的方法,帮助你了解如何保护和访问你的图片数据。直接上图当我们进行加密后本地访问显示解密后图片恢复原貌下面将介绍两种方式进行图片的加密解密,异或加密和AES对称加密。
2024-07-16 16:59:28
1845
原创 2024最新超详细SpringMvc常用注解总结
是Spring框架中的一个注解,通常用于控制器方法上,用于指示方法的返回值应该直接作为HTTP响应正文(ResponseBody)返回,而不是通过视图解析器进行渲染。是Spring框架中的一个注解,用于将特定的HTTP状态码应用到控制器方法或异常处理器方法上。注解后,Spring框架会将方法的返回值,如Java对象或集合,转换为指定格式(如JSON/XML)的响应数据,并直接写入HTTP响应。注解用于标识一个类为 Spring MVC 的控制器,它能够处理用户的请求并返回相应的视图或数据。
2024-07-15 18:32:03
1169
原创 后端加前端Echarts画图示例全流程(折线图,饼图,柱状图)
本文将带领读者通过一个完整的Echarts画图示例项目,演示如何结合后端技术(使用Spring Boot框架)和前端技术(使用Vue.js或React框架)来实现数据可视化。我们将实现折线图、饼图和柱状图三种常见的数据展示方式,通过具体的代码和步骤让读者掌握从零开始搭建项目到展示图表的全过程。
2024-06-28 18:13:57
1319
原创 正则表达式详解及应用
正则表达式是一种字符序列,它定义了一个搜索模式。主要用于字符串模式匹配,如检索、替换、验证字符串。:匹配任意字符(除换行符)。\d:匹配任意数字,等价于[0-9]。\D:匹配任意非数字,等价于[^0-9]。\w:匹配任意单词字符(字母、数字、下划线),等价于。\W:匹配任意非单词字符,等价于。\s:匹配任意空白字符(空格、制表符、换行符)。\S:匹配任意非空白字符。正则表达式是一个强大且灵活的字符串处理工具,通过本文的介绍和示例,相信你已经掌握了正则表达式的基本知识和常见应用。
2024-06-27 20:45:00
2313
原创 Java split() 方法详解
split()方法是JavaString类中的一个实例方法,用于根据指定的分隔符将字符串分割为子字符串数组。
2024-06-27 19:00:00
4623
3
原创 Map的五种遍历方式
在Java中,Map是一种键值对的集合,用于存储键值对的数据结构。它提供了一种通过键来查找和访问值的方式,每个键都是唯一的,而值可以重复。
2024-06-26 18:22:55
835
原创 菜单树的三种实现形式(递归,for, 队列)
菜单树在软件开发中经常用于展示层级结构的数据,例如网站导航菜单或文件系统。在实际开发中,我们常常需要考虑不同的数据结构和算法来实现这种层级关系的展示。本文将介绍菜单树的三种常见实现方式:递归、for循环和队列,帮助读者更好地理解和选择合适的方法。
2024-06-24 19:03:52
637
原创 SpringBoot,Maven项目整合log4j控制台输出步骤SQL记录
上述log4j.properties取自网络,仅用于记录分享使用。然后写在测试去看效果就可以。
2024-06-16 22:37:31
342
原创 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
506
原创 APPLICATION FAILED TO START 端口占用解决
1.首先,找到占用端口7010的进程。这将显示占用端口7010的进程ID(PID)。2.然后,结束该进程。在命令行中输入以下命令,将。当频繁重启可能会导致端口被占用。以7010端口被占用为例。此时重启项目,问题解决。
2024-05-30 17:01:35
287
原创 Java是如何实现跨平台的
总的来说,Java的跨平台能力是通过编译成与平台无关的字节码,然后在运行时由JVM将字节码转换成特定平台的机器码来实现的。这种设计使得Java成为一个广泛应用于多种不同类型设备和操作系统的语言。
2024-04-15 23:14:56
769
1
原创 JDK1.8 有哪些新特性
JDK 1.8引入了多个新特性,显著改善了Java语言的函数式编程能力、集合操作和日期时间处理。以下是一些主要的新特性。
2024-04-05 23:33:08
362
原创 JVM垃圾回收算法
分代收集算法是JVM中实现垃圾回收的一种高效策略,它基于这样一个观察:不同年龄的对象具有不同的特性。因此,根据对象的存活时间,JVM的堆内存被划分为几个不同的区域,主要包括年轻代、老年代和永久代。
2024-04-04 23:46:40
1054
原创 List Set Map 的值能否为NUll?
ArrayList 在 Java 中是基于动态数组实现的。它的设计允许存储任何类型的对象,包括 null。当一个 null 被添加到 ArrayList 中时,它只是作为数组的一个元素被存储,并不会影响到 ArrayList 的内部数据结构,因为数组本身不关心存储的是引用类型还是 null。
2024-04-03 23:55:19
890
原创 线程池详解、核心参数、拒绝策略
线程池是一种池化技术,它预先创建一组线程,用于执行异步任务。当有新任务到来时,线程池可以立即分配一个线程来处理,而不需要临时创建。这样可以减少因为频繁创建和销毁线程而导致的开销。
2024-03-30 22:49:04
1154
原创 CPU 密集型 和 IO密集型 的区别,如何确定线程池大小?
CPU密集型任务通常涉及到复杂的计算,如算法逻辑、数学计算等,其特点是CPU使用率高,多在这种类型的任务中,线程数量一般与CPU的核心数相匹配就足够了。
2024-03-30 22:22:08
699
原创 TCP三次握手和四次挥手
第一次握手:客户端发送一个SYN包(同步序列编号)到服务器,并进入SYN_SENT状态,等待服务器确认。第二次握手:服务器收到SYN包后,必须确认客户端的SYN(ACK),同时发送自己的SYN包,即SYN+ACK包,此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器的SYN+ACK包后,发送确认包ACK,服务器收到后,双方建立连接,可以开始数据传输。
2024-03-29 23:59:06
1048
原创 HTTP 与 HTTPS 的区别
从安全性角度来看,HTTP是超文本传输协议,数据传输过程是明文的,这意味着数据在传输过程中可能被截获或篡改,存在一定的安全风险。而HTTPS通过在TCP和HTTP之间加入SSL/TLS安全协议,对数据进行加密传输,有效地保护了数据的安全性和完整性。此外,HTTPS还提供了服务器身份认证,确保用户访问的是真实可靠的网站,而不是钓鱼网站。
2024-03-29 23:41:19
1204
原创 四种常用限流算法、固定窗口限流算法、滑动窗口限流算法、漏桶限流算法和令牌桶限流算法
限流可以被视为服务降级的一种形式,其核心目标是通过控制输入和输出流量来保护系统。通常,一个系统的处理能力是可以预估的,为了确保系统的稳定运行,当流量达到预定的阈值时,必须采取措施限制进一步的流量。这些措施可能包括延迟请求的处理时间、直接拒绝请求,或者部分地拒绝请求等策略。
2024-03-28 23:58:58
1046
原创 Redis 的内存回收策略
Redis的内存回收策略用于处理过期数据和内存溢出情况,确保系统稳定性和性能。作为一个高性能的键值存储系统,它通过内存回收策略来维护内存的高效使用
2024-03-26 23:58:25
721
原创 MySQL Explain 优化参数详细介绍
Explain是MySQL提供的一个非常有用的工具,它能够帮助数据库管理员和开发者理解SQL查询是如何被数据库执行的。通过在SELECT语句前加上EXPLAIN关键字,我们可以获取关于查询执行计划的信息。
2024-03-26 23:17:59
990
原创 详解ThreadLocal
ThreadLocal是一个与线程相关的类,但它本身并不是一个Thread。这个类可以提供线程局部变量,与普通变量有所不同。虽然你可以实例化一个ThreadLocal对象,但当每个线程访问或设置它时,它们实际上是在操作本线程内的该对象的副本。这也意味着,这个对象在不同的线程中,副本的值是不一样的
2024-03-20 23:21:18
1106
原创 详解Redis的持久化RDB和AOF
AOF文件会随着时间不断增长,为了效率和性能,Redis还提供了AOF文件重写机制。重写过程会创建一个新的AOF文件,该文件记录了恢复当前数据集所需的最小写命令集。这个过程可以手动触发或根据配置文件中设置的规则自动进行。
2024-03-19 23:30:44
1074
原创 Docker 是什么,Docker 常用命令,怎么写Dockerfile
Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包成一个标准化的单元,这个单元可以在任何支持Docker的环境中运行。
2024-03-18 23:44:52
1079
原创 Redis 常用数据类型,各自的使用场景是什么?
性能考虑读写速度:所有类型的读写操作都是高效的,但List和Hash在大数据量时的性能可能更优。内存使用:String和Hash通常更节省内存,因为它们不会像List和Set那样存储额外的结构信息。持久化:String类型的小数据量操作更适合利用Redis的持久化机制。
2024-03-17 23:43:44
643
原创 什么数据需要存在Redis里?缓存的缺点?怎样进行数据同步?
在选择数据同步方法时,需要根据具体的业务场景和需求来决定最适合的方法。例如,对于对一致性要求较高的场景,可能需要采用同步双写策略;而对于更新频率低的业务,设置有效期可能是一个更简单的选择。无论选择哪种方法,都需要考虑到系统的复杂性、维护成本以及潜在的风险。
2024-03-17 23:11:10
1293
原创 Nacos为什么对于临时实例采用心跳检测,非临时实例采用主动询问?Nacos同时作为配置中心和注册中心有什么坏处?为什么Nacos可以抗住那么高的注册?
Nacos 对于临时实例采用心跳检测,而对于非临时实例采用主动询问,这两种不同的健康检查机制是为了满足不同场景下的服务发现需求。总的来说,临时实例适用于那些对稳定性要求不高或者不需要持久化存储的场景,例如临时任务或者测试环境。而非临时实例则适用于生产环境中对服务稳定性和可靠性有较高要求的场景。通过这种方式,Nacos能够灵活地适应不同类型的服务注册和发现需求,提供更加精准和高效的服务管理。
2024-03-15 22:02:36
1326
原创 MySQL主键采用什么结构?为什么要自增?为什么用int?
MySQL主键通常采用的是自增的整数类型结构。MySQL主键需要自增主要是为了保证插入性能优化以及数据聚簇。MySQL主键通常使用int类型是因为它足够高效且空间占用小。
2024-03-15 21:46:08
931
原创 什么是API签名认证?
一种用于验证API请求合法性的安全机制,它通过使用密钥和算法为每个请求生成一个唯一的签名值来确保数据的安全传输和访问控制。
2024-03-14 22:54:40
628
原创 什么是RPC?RPC 和 HTTP 对比?RPC有什么缺点?市面上常用的RPC框架?
RPC(Remote Procedure Call)是一种用于实现不同计算机间程序之间通信的协议,主要用于分布式系统中。它允许程序员编写客户端和服务器端代码,就像它们位于同一台机器上一样,而不需要显式地处理网络通信的细节。
2024-03-14 22:24:58
2053
原创 volatile关键字用处和场景?
在C语言和Java中,它是一种特殊的类型修饰符,用来告诉编译器该变量可能会被意外地改变。这样,每次存取该变量时,编译器都不会对其进行缓存优化,而是直接从内存中读取或写入,提供了对特殊地址的稳定访问。在Java中,volatile提供了一种比synchronized更轻量级的同步机制,因为它不会引起线程上下文的切换和调度。但相较于synchronized,它的同步性较差,使用时需谨慎以避免出错。
2024-03-13 23:28:53
668
原创 Rabbit MQ详解
RabbitMQ 是一个消息代理:它接受和转发消息。你可以把它想象成一个邮局:当你把你想投递的邮件放在一个邮箱里时,你可以确定信使最终会把邮件送到你的收件人手中。在这个类比中,RabbitMQ 是一个邮箱、一个邮局和一个信箱。
2024-03-13 23:20:16
1126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人