最新内容

我如何将Spring Boot高并发性能提升500%,年终奖轻松到手!

探索Java虚拟线程的奥秘Java虚拟线程是Java 21引入的一项革命性特性,旨在简化并发编程,极大提升应用的性能和可扩展性。相比传统的操作系统线程,虚拟线程具有以下显著优势:极致轻量:虚拟线程由JVM高效管理,内存占用和创建开销远低于传统线程。这意味着你可以轻松创建数十万甚至百万级别的虚拟线程,而不必担心资源耗尽。卓越并发性:虚拟线程非常适合IO密集型应 …

10年Java老兵OOM救火实录:内存泄漏排查破局秘籍

一、惊魂午夜:一场价值300万的OOM生产事故"王工!核心交易系统OOM了!客户无法下单!" 凌晨2点23分,我被急促的报警电话惊醒。监控大屏显示:某电商平台大促期间,订单服务堆内存持续飙升,Full GC频率从5分钟1次激增到每秒3次,最终导致整个集群雪崩。当我颤抖着手连上跳板机时,看到的是这样的死亡日志:复制java.lang.OutOf …

再有人问你数据库连接池的原理,这篇文章甩给他!

在 Spring Boot 项目中,数据库连接池已经成为标配,然而,我曾经遇到过不少连接池异常导致业务错误的事故。很多经验丰富的工程师也可能不小心在这方面出现问题。在这篇文章中,我们将探讨数据库连接池,深入解析其实现机制,以便更好地理解和规避潜在的风险。1 为什么需要连接池假如没有连接池,我们操作数据库的流程如下:应用程序使用数据库驱动建立和数据库的 TCP …

java高并发的场景下线程池的配置与监控,案例与讲解

java高并发的场景下线程池的配置与监控,案例与讲解我得先理清楚这个问题的各个方面。首先,线程池配置需要考虑哪些参数呢?核心线程数、最大线程数、队列类型、拒绝策略等等。然后监控的话,可能需要关注线程池的状态指标,比如活跃线程数、队列大小、完成任务数这些。案例的话,可能需要举一些实际的场景,比如电商秒杀或者API网关处理请求的例子。用户可能是在实际开发中遇到了 …

Java网络编程中的Socket通信优化之道

Java网络编程中的Socket通信优化之道在网络编程的世界里,Socket就像一位穿梭在互联网海洋中的信使,负责将数据从一方传递到另一方。然而,随着网络应用的复杂化和高并发需求的增多,这位信使的效率可能变得捉襟见肘。今天,咱们就来聊聊如何优化Java中的Socket通信,让这个信使跑得更快、更稳。Socket通信的基础架构首先,让我们回顾一下Socket的 …

腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习

博客前言Java的经久不衰,很大程度上得益于Java的生态好。在日常开发中,我们也会经常使用到各种开源库和工具类,为了避免重复造轮子,本文将贴出工作及学习中会用到的部分开源库和工具类。Java的生态实在太大,这里只能列举一部分。如果你对此感兴趣,不妨去读读他们的源码。HTML解析器jsoup1.1 介绍jsoup(GitHub地址、中文文档)是一款Java …

JAVA 开发常用工具汇总

来源 | 潜行前行作者 | cscw本文总结了 JAVA 开发中常用的工具,希望对大家有所帮助。Commons BeanUtils针对 Bean 的一个工具集。由于 Bean 往往是由一堆 get 和 set 组成,所以 BeanUtils 也是在此基础上进行一些包装。一个比较常用的功能是 Bean Copy,也就是 copy bean 的属性。如果做分层架 …

Zabbix/J监控框架和Spring框架的整合方法

ZabbixJ是一个Java版本的系统监控框架,它可以完美地兼容于Zabbix监控系统,使得开发、运维等技术人员能够对整个业务系统的基础设施、应用软件中间件和业务逻辑进行全方位的分层监控。Spring是一种分层的Full-Stack(全栈)的轻量级开源框架,适用于JavaSE和JavaEE。Spring使用基本的JavaBean代替笨重的EJB,这样便降低了 …

Java两大工具库:Commons和Guava(1)

您好,我是湘王,这是我的头条号「湘王说」。值此新春佳节,我给您拜年啦~祝您在新的一年中所求皆所愿,所行皆坦途,展宏“兔”,有钱“兔”,多喜乐,常安宁!Java的成功很大程度上得益于开源软件的成功,尤其是构建上开源软件基础上的开源生态,这才是Java能够繁荣、出圈的真正原因。在开源的世界中,谈起apache,它的大名恐怕很少有工程师会不知道:从最初的apach …

Centos系统配置Redis哨兵高可用架构

我们现在开始搭建Redis哨兵集群配置,一主二存+三个哨兵组成Redis哨兵集群。Redis sentinel哨兵是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点。哨兵架构下client端第一次从哨兵找出redis的主节点,以后就直接访问redis服务的主节点,不会每次都通过sentinel代理访问redis的主节点,当redis的主节 …