编程语言:Java
java 通用IO API 设计-- 分析
本文给出了一个通用Java IO API设计,并且有API的Demo代码。
更重要的是给出了这个API设计本身的步骤和过程,这让API设计有些条理。 文中示范了从 普通简单实现 整理成 正交分解、可复用、可扩展、高性能、无错误的API设计 的过程,这个过程是很值得理解和学习!
设计偏向是艺术,一个赏心悦目的设计,尤其是API设计,旁人看来多是妙手偶得的感觉,如果能有些章可循真是一件美事。
给出 减少艺术的艺术工作量 的方法的人是 大师。
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
Java虚拟线程探究与性能解析
虚拟线程是由Java运行时而不是操作系统实现的Java线程。大量的虚拟线程赋予了它们强大的功能,从而实现更高的吞吐量和更少的硬件浪费。最近做个人项目的时候便尝试使用JDK21进行开发,研究一下所谓的虚拟线程的原理与实现。
浅析JVM invokedynamic指令和Java Lambda语法
JDK8如此旺盛的生命力,与其优异的兼容性、稳定性和足够日常开发使用的语言特性有极大的关系,这其中最引人瞩目的语言特性莫过于Lambda表达式。本文将从JVM和Java两个层面着手,和大家一起深入解析Lambda表达式。
JDK21(21.0.2_13)分代ZGC在转转商列服务中的实践
分代ZGC是ZGC的一个实现版本,依据假说:应用中大部分对象都是短生命周期的,被设计为分代。它是一个可伸缩的低延迟垃圾收集器,最高支持TB级堆内存,能并发执行繁重任务,且不会让应用的暂停时间超过1ms。通过本文带你走近分代ZGC。
Java日常反常识踩坑
本文主要是日常业务开发中自身碰到过跟常识不一致的坑,问题虽然基础,但缺可能造成比较大的线上问题。
Java 供应链(依赖)安全检测实践
近些年,开源程序陆续爆出安全漏洞,轻则影响用户体验,重则业务应用沦陷。大量的业务应用以及每天数千次的迭代,使得自动检测和治理第三方开源程序成为企业安全建设的必要一环。
JDK11下Mock框架进化:从PowerMockito到Mockito Only
本文探讨了从使用PowerMock的测试环境迁移到仅使用Mockito(Mockito Only)策略的必要性和实践方法。
“JVM” 上的AOP:Java Agent 实战
在软件开发领域,面向切面编程(AOP)作为一种强大的技术手段,极大地促进了代码的模块化与可维护性。本文将深入探讨Java平台上的AOP实现,揭示了Spring AOP在处理非Bean类方法、静态方法及内部调用时的局限性。
场景执行工具:Java
在软件开发实践中,面对复杂多变的业务场景,开发者常常需要设计灵活且可扩展的架构以应对“根据不同场景执行不同逻辑”的需求。本文以Java语言为背景,探讨了如何通过模式设计与工具化手段优化这一过程,旨在减少代码冗余,提升开发效率与代码质量。
Java 21 Virtual Threads - Dude, Where’s My Lock?
Getting real with virtual threads.
Java系列 | 远程热部署在美团的落地实践
Sonic是美团内部研发设计的一款用于热部署的IDEA插件,本文其实现原理及落地的一些技术细节。
深入探讨Java的分层编译
本文主要探讨Java虚拟机(JVM)中的分层编译(Tiered Compilation)机制及其对程序性能的影响。
一不小心掉入了 Java Interface 的陷阱
本文作者记录了一次代码中的踩坑经历,一行很简单的代码在不同的场景下可能也暗藏玄机,希望大家看完都有所收获。
Java开发者LLM实战——使用LangChain4j构建本地RAG系统
本文将通过实战代码示例,意在帮助没有大模型实战经验的Java工程师掌握使用LangChain4j框架进行大模型开发。
Java ZGC 深度剖析及其在构建低延迟流系统中的实践心得
在 Java 应用程序中,垃圾回收(Garbage Collection,以下简称 GC)是一个不可避免的过程,它负责释放不再使用的内存空间以避免内存泄漏。然而,GC 操作通常会导致短暂的停顿时间(Stop the World,以下简称 STW),这对于对延迟敏感的应用程序来说是一个严重的问题——STW 会导致应用程序暂停响应,从而影响用户体验和系统性能。
为了解决这个问题,Java 引入了 Z Garbage Collector(以下简称 ZGC),它是一种低延迟垃圾回收器,旨在减少 GC 引起的停顿时间。ZGC 通过使用并发和分区收集技术,大大减少了 STW 的时间和频率,使得应用程序可以在 GC 期间继续运行,从而提供更加平滑和一致的性能。