• ARTICLE
  • STRING
  • CONVERTER
  • ENCRYPT
  • NETWORK
  • MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
  • ARTICLE
    STRING
    CONVERTER
    ENCRYPT
    NETWORK
    MORE
    CHART
    MATH
    COORDINATE
    IMAGE
    FILE
logo Online Tools
All Chinese English Newest Hottest
129 search results Contribute

Redis 作为互联网业务首选的远程缓存工具而被大面积使用,作为访问客户端的 Jedis 同样被大面积使用。本文主要分析 Redis3.x 版本集群模式发生主从切换场景下 Jedis 的参数设置不合理引发服务雪崩的过程。

103 Technology lddgo Shared on 2023-07-19

前一段时间重温了伪共享(false sharing)问题,了解到深处有几个问题一直想不明白,加上开发过程中遇到volatile时总觉得理解不够透彻,借着这次脑子里这几个问题,探究下Java可见性的本质到底是什么。

27 Technology lddgo Shared on 2023-07-05

Java 应用在云计算时代面临“冷启动”慢、内存占用高、预热时间长等问题,无法很好的适应 Serverless 等云上部署模式,GraalVM 通过静态编译、打包等技术在很大程度上解决了这些问题,同时针对 GraalVM 的一些使用限制,Spring 和 Dubbo 等主流框架也都提供了相应的 AOT 解决方案。 本文我们将详细分析 Java 应用在云时代面临的挑战,GraalVM Native Image 是如何解决这些问题,GraalVM 的基本概念与工作原理,最后我们通过一个 Spring6 + Dubbo3 的微服务应用示例演示了如何将一个普通微服务应用进行静态化打包。

21 Technology lddgo Shared on 2023-06-28

本文介绍了 Jetty 中 ManagedSelector 和 ExecutionStrategy 的设计实现,通过与原生 select 调用的对比揭示了 Jetty 的线程优化思路。Jetty 设计了一个自适应的线程执行策略(EatWhatYouKill),在不出现线程饥饿的情况下尽量用同一个线程侦测 I/O 事件和处理 I/O 事件,充分利用了 CPU 缓存并减少了线程切换的开销。这种优化思路对于有大量 I/O 操作场景下的性能优化具有一定的借鉴意义。

25 Technology lddgo Shared on 2023-06-21

在线应用的诊断一直是日常维护中的难点和痛点,2018年下半年,Alibaba 开源了 java 应用诊断工具 arthas ,让 java 应用的诊断能力上了一个台阶。作为基础架构团队,我们自然也对它非常感兴趣。研究后发现,arthas 确实是一个非常优秀的 java 诊断工具,但是也存在一些不足。 一是 arthas 更像是一个工具,而不像一个产品。如果要使用它,首先要登录相关机器,然后在机器上下载 arthas,再执行一些命令来运行。这整个流程里,下载可能出现问题,运行 arthas 也需要具有目标进程相应的权限,还需要先看看对应进程id等等...这些确实只是一些小问题,但也可以选择让这些问题不存在,让整个使用过程更加流畅。 二是 arthas 缺少 web 界面。命令行界面用起来确实很酷,但不可否认在相当一部分情况下 web 界面更直观更友好,很多需要查文档的情况在 web 界面下都可以直接操作,降低了使用门槛。 三是 arthas 所有功能都针对单台机器,实际上很多时候我们需要考虑和观察整个应用的运行情况,需要一个应用级的视角。 四是 arthas 是一个独立的工具。

31 Technology lddgo Shared on 2023-06-20

本文通过几种样例展示如何高效优雅的使用java枚举消除冗余代码。

38 Technology lddgo Shared on 2023-06-14

作者通过看过的两篇文章发现实现Spring初始化加速的思路和方案有很多类似之处,通过本文记录一下当时的思考和实践。

33 Technology lddgo Shared on 2023-06-08

本文从基础概率到引出业界通用c10k问题,然后通过代码演示从BIO,到NIO再到多路复用的演进历程。

29 Technology lddgo Shared on 2023-06-06

垃圾回收器的暂停问题一直是Java工程师关注的重点,特别是对实时响应要求较高的服务来说,CMS和G1等主流垃圾回收器的数十毫秒乃至上百毫秒的暂停时间相当致命。此外,调优门槛也相对较高,需要对垃圾回收器的内部机制有一定的了解,才能够进行有效的调优。 为了解决此类问题,JDK 11开始推出了一种低延迟垃圾回收器ZGC。ZGC使用了一些新技术和优化算法,可以将GC暂停时间控制在10毫秒以内,而在JDK 17的加持下,ZGC的暂停时间甚至可以控制在亚毫秒级别!

28 Technology lddgo Shared on 2023-06-05

近期,在做应用启动提速相关工作的过程中,我们发现,应用启动速度主要的瓶颈在于bean的初始化过程(init,afterPropertiesSet方法的耗时)。很多中间件bean的初始化逻辑涉及到网络io,且在没有相互依赖的情况下串行执行。将这一部分中间件bean进行异步加载,是提升启动速度的一个探索方向。

31 Technology lddgo Shared on 2023-06-01