• 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
169 search results

本文介绍了游戏业务使用MAT和GC日志等工具对 Full GC频率进行优化的过程。

10 Technology lddgo Shared on 2025-04-23

本文探讨了虚拟线程(有栈协程)对Java的重要意义,从传统同步线程模型到异步响应式编程模型,再到用户线程模式和协程的实现原理,全面分析了Java在高并发场景下的演进历程。文章首先介绍了传统的thread per request模型,指出其资源占用高的问题,并引出异步编程模型的优势与弊端。接着对比了无栈协程(如Kotlin中的协程)和有栈协程(如Go中的goroutine),强调了无栈协程在性能上的优势以及对同步生态兼容性差的问题。 随后,文章重点介绍了Java在JDK21中引入的虚拟线程,这是一种有栈协程的实现方式,能够以极低的成本创建大量线程,同时保留了同步编程的简洁性和调试友好性。虚拟线程支持阻塞IO操作而不会阻塞内核线程,极大地提升了资源利用率。然而,虚拟线程也存在一些局限性,例如在特定场景下可能“pin”住载体线程,导致资源浪费。最后,文章总结了虚拟线程/有栈协程对Java的重要性,认为它能够在保持高性能的同时降低开发复杂度,是Java应对高并发场景的重要工具。

14 Technology lddgo Shared on 2025-04-02

本文介绍了在 Java Spring Boot 开发中如何使用 JSR 303 和 Hibernate Validator 进行参数校验,以避免冗余的if-else判断。文章涵盖了基本注解的使用、全局异常处理、分组校验、嵌套对象校验、快速失败配置以及自定义校验规则等实用技巧。

61 Technology lddgo Shared on 2025-03-21

在Java的JUC包中,提供了一个强大的锁工具ReentrantLock,在多线程编程时,我们会时常用到。而其中的公平锁与非公平锁更是有着独特的魅力和重要的作用。理解公平锁与非公平锁的区别,对于优化程序性能、确保资源的合理分配至关重要。 下面,我们将深入探讨ReentrantLock的公平锁与非公平锁,带你揭开它们的神秘面纱,掌握多线程编程的关键技巧。那么接下来,让我们一起开启这场探索之旅吧!

69 Technology lddgo Shared on 2025-02-20

本文主要讨论Spring容器最核心的机制,用最少的代码讲清楚Spring容器的本质。

81 Technology lddgo Shared on 2025-02-08

本文围绕软件开发中的非功能性质量交付展开讨论,强调了在编码实践中容易被忽视的非功能性需求的重要性。文章指出,非功能性质量(如可维护性、可靠性等)往往因缺乏明确的需求定义和约束机制而难以保证,且其交付水平受个体能力影响较大。为提升非功能性质量,作者以Java语言为例,详细分析了几对相关概念或实践,并提供了具体建议。

87 Technology lddgo Shared on 2025-02-07

聊聊Druid连接池的内部原理及推荐配置

75 Technology lddgo Shared on 2025-01-16

本文从JVM的最小元素类的结构出发,介绍类加载器的工作原理和应用场景,思考类加载器存在的意义。进而描述JVM逻辑内存的分布和管理方式,同时列举常用的JVM调优工具和使用方法,最后介绍高级特性JDPA框架和字节码增强技术,实现热替换。

76 Technology lddgo Shared on 2025-01-09

当前JDK的版本已经到了23了,不过最近的LTS版本是21,刚好最近准备把直播侧serverless应用的JVM环境升级到java21(目前是11),在升级前对21的特性做一个简单的了解和熟悉,下面是个人熟悉过程中的笔记,大家可以按照每一节特性中的代码自己在本地run下,可以更快地做个了解。 JDK的版本其实最近几年开始,已经是6个月一个版本了,LTS版本大概差不多间隔4-6个版本(不定),每次升级,都会有比较多的迭代,但是主要还是集中在几个方面:1. 新特性的支持,其实主要还是面向编写和阅读的自然语言化,做的新特性的提供或者语法糖的封装,突出易懂易用;2. 内部核心实现的性能或者能力的提升,感知比较多的是gc,或者是内部的hotspot的能力等;3. bugfix,漏洞修复等。 LTS版本还是值得去了解,有条件的话也是比较推荐在生产环境去做使用的,因为不管是上述哪个方面带来的提升,对开发以及系统运维来说,都是属于易得的红利。

77 Technology lddgo Shared on 2025-01-06

今天我们要聊聊一个有趣的话题——从 Java 转到 Go 的那些不适应、需要学习的地方。

92 Technology lddgo Shared on 2024-12-24