自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java虚拟线程和普通线程的区别

虚拟线程适合高并发、I/O 密集型任务,创建和管理更简单,资源消耗更低。平台线程适合 CPU 密集型任务,创建和管理更复杂,资源消耗更高。通过合理选择和使用虚拟线程和平台线程,可以显著提高应用程序的性能和可维护性。

2025-02-14 14:52:37 1201

原创 Java系统中OOM异常解决流程

OOM(Out of Memory)异常是指应用程序在运行时请求的内存超过了系统或虚拟机能够提供的最大内存限制。这通常是由于内存泄漏、内存使用不当或系统资源不足引起的。

2025-02-13 09:31:53 539

原创 Java系统快速接入使用DeepSeek

在Spring Boot系统中成功接入DeepSeek服务,并将其提供给客户使用。如果有更复杂的需求(如私有化部署或定制模型),可以联系DeepSeek团队获取支持。

2025-02-07 11:53:06 10930 1

原创 前端获取用户ip信息

在前端页面获取用户的IP地址并不是一件直接的事情,因为出于隐私和安全考虑,浏览器通常不会直接提供用户的IP地址给前端JavaScript代码。不过,可以通过一些间接的方法来获取用户的IP地址。

2025-01-18 08:15:00 1616

原创 Jvm垃圾回收机制与常见算法

垃圾回收(Garbage Collection,简称 GC)是编程语言运行时环境自动管理内存的一种机制。它的主要目的是自动释放不再使用的对象所占用的内存空间,从而避免内存泄漏和手动管理内存带来的复杂性和错误。在 Java 等高级编程语言中,程序员不需要显式地释放对象的内存,而是由 JVM(Java 虚拟机)中的垃圾回收器自动完成这一任务。GC 的存在使得开发者可以专注于业务逻辑,而不必担心内存管理的细节。

2025-01-17 11:36:13 598

原创 Java虚拟机堆区域的特点

JVM堆被划分为新生代和老年代,新生代又分为Eden区和Survivor区。老年代用于存储长期存活的对象。元空间用于存储类的元数据。垃圾回收器负责管理堆内存中的对象,确保内存的有效利用和性能优化。通过适当的配置参数,可以调整堆的大小和其他相关设置,以满足不同的应用需求。

2025-01-16 15:59:14 988

原创 InnoDB 和 MyISAM的区别

特性InnoDBMyISAM事务支持支持不支持锁机制行级锁表级锁外键约束支持不支持崩溃恢复支持不支持并发性能高并发读写性能较好写操作频繁时性能较差全文索引从 MySQL 5.6 开始支持一直支持内存使用较大较小适用场景高并发读写、复杂应用、数据一致性要求高以读为主、简单应用、日志记录、归档等要查询一个数据库中各个表的存储引擎,可以使用以下几种方法。这里以 MySQL 为例,介绍如何通过 SQL 查询来获取存储引擎信息。选择合适的存储引擎取决于具体的应用需求和性能要求。

2025-01-15 09:07:04 1227

原创 Java开发防止SQL注入攻击

有效减少SQL注入攻击的风险,保护应用程序的安全性。

2025-01-14 08:45:00 1067

原创 GET 和 POST 请求的区别

GET适合用于获取数据,尤其是当请求不需要改变服务器状态时。POST适合用于提交数据,尤其是当需要传递敏感信息或大量数据时。选择合适的请求方法对于构建高效、安全的 Web 应用非常重要。

2025-01-13 10:35:36 419

原创 Java应用实现中英文互转功能

在Java中实现英文和中文之间的互相转换,通常涉及到文本翻译功能。可以使用一些翻译API来实现这一功能,比如Google Translate API、Microsoft Translator API等。

2025-01-08 16:15:56 2256

原创 解决高并发环境消息通知涉及问题

有效地处理高并发场景下的消息发送和消费,确保消息的时间准确性和可靠性。

2025-01-07 17:12:41 1123

原创 消息队列堵塞的几种常用解决方法

消息队列堵塞通常是由于生产者发送消息的速度超过了消费者处理消息的速度,或者消费者在处理某些消息时出现了问题导致无法继续消费。通过上述方法,通常可以有效缓解或解决消息队列堵塞的问题。具体实施时,需要根据实际业务场景选择合适的方法。

2025-01-03 11:41:38 405

原创 Java8新特性Consumer接口的灵活应用

Consumer是 Java 8 提供的一个非常有用的函数式接口,适用于需要对输入参数执行某些操作而不需要返回结果的场景。通过使用Consumer,可以使代码更加简洁和易于维护。

2025-01-02 14:09:14 1254

原创 Java接入阿里云日志服务

如果你选择使用日志服务客户端(Log4j、Logback、SLF4J等),需要在项目中添加相应的依赖。配置你的日志框架(如Logback)以使用阿里云日志服务客户端。通过以上步骤,你可以将系统的日志全部输出到阿里云的日志服务,方便进行日志管理和分析。

2024-12-31 12:00:14 860

原创 集群部署的介绍和简单实现试例

集群部署是指将多个计算节点(通常是服务器)组合在一起,形成一个协同工作的系统,以提供更高的性能、可用性和可靠性。集群部署广泛应用于各种场景,如Web服务、数据库、大数据处理等。

2024-12-27 14:15:29 1189

原创 多级缓存的介绍

多级缓存的介绍与使用

2024-12-26 10:17:45 571

原创 Spring Boot项目@Cacheable注解的使用

`@Cacheable` 是 Spring 框架中用于缓存的注解之一,它可以帮助你轻松地将方法的结果缓存起来,从而提高应用的性能。下面详细介绍如何使用 `@Cacheable` 注解以及相关的配置和注意事项。

2024-12-25 15:05:38 3988

原创 Java对敏感信息脱敏

系统敏感信息脱敏是一个重要的安全措施,可以保护用户的隐私和数据安全。适用于多种应用场景,包括但不限于用户个人信息、财务信息、身份证号等。

2024-12-23 14:15:46 1342

原创 Spring Boot项目集成Kafka

在Spring Boot项目中成功集成Kafka,并实现消息的生产和消费。

2024-12-20 08:45:00 1399

原创 如何实现集群部署

集群部署是指将多个计算节点(通常是服务器)组合在一起,形成一个协同工作的系统,以提供更高的性能、可用性和可靠性。集群部署广泛应用于各种场景,如Web服务、数据库、大数据处理等。

2024-12-17 11:51:18 1169

原创 Nginx、Docker实现灰度发布

通过以上步骤,可以实现使用 Nginx 负载均衡结合 Docker 容器化部署灰度发布后端服务,从而实现用户无感更新升级的功能。Nginx 将根据一定的规则将流量分配到不同的后端服务版本。常见的规则包括权重分配、IP 段分配、Cookie 分配等。使用 Docker Compose 和 CI/CD 工具(如 Jenkins、GitLab CI)自动化部署流程。更新 Nginx 配置以使用 Docker Compose 定义的网络。启动两个版本的服务容器,并暴露不同的端口。文件来定义服务和网络。

2024-12-16 15:16:51 695

原创 Java后端优雅地校验Excel文件

Java后端优雅地校验用户上传的Excel文件

2024-12-11 09:00:00 486

原创 Java判断一个字符串是否是手机号

【代码】Java判断一个字符串是否是手机号。

2024-12-10 14:16:41 682

原创 JDK 21新特性

JDK 21 引入了许多重要的新特性和改进,特别是虚拟线程和字符串模板,这些特性显著提升了Java在并发编程和字符串处理方面的性能和易用性。建议访问 Oracle JDK 官方网站 或 OpenJDK 官方网站查询更多新特性详细信息。

2024-12-10 09:00:00 1518

原创 JVM中偏向锁的介绍

偏向锁是JVM中一种重要的锁优化机制,能够在单线程环境下显著提高同步代码的性能。然而,在多线程环境下,偏向锁的效果可能会受到影响,因此需要根据具体的使用场景来决定是否启用偏向锁。

2024-12-09 17:02:31 304

原创 Java项目中启用偏向锁

但是,如果你需要确保偏向锁已启用,或者在某些特殊情况下需要手动启用,可以按照上述方法进行配置。在Java项目中启用偏向锁(Biased Locking),你需要在启动JVM时添加特定的JVM参数。:如果你使用的是集成开发环境(如IntelliJ IDEA或Eclipse),可以在运行配置中添加VM选项。:如果你的应用程序运行在Docker容器中,可以在Dockerfile中设置JVM参数,或者在运行容器时通过。:如果你是通过脚本启动Java应用程序,可以在启动命令中添加。文件来添加JVM参数。

2024-12-09 16:59:18 449

空空如也

空空如也

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

TA关注的人

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