编程语言:Java
如何提高Java代码的质量
Java整体命名风格为UpperCamelCase或lowerCamelCase形式。不管是类还是变量命名要见名知意,切勿使用缩写或中文;尽量使用英文名词,切勿中英文混合;尽量避免和Java自带类库重名,切勿使用Java关键字命名。
JDK 11 升级实践 和 Java 新特性浅探
本文从“为什么”起手,谈到“怎么做”,最后用数据证明“怎么样”。
钉钉 ANR 治理最佳实践
钉钉在 ANR 治理过程中的思考方向、工具建设、典型问题与解法。
Java 值对象探讨与实践
值对象的使用是一种非常有用的编程技巧,可以使我们的业务语义更加清晰,并有效的简化代码逻辑的复杂程度。
谈谈Java应用发布时CPU抖动的优化
通常情况下应用发布或重启时都存在cpu抖动飙高,甚至打满的现象,这是由于应用启动时,JVM重新进行类加载与对象的初始化,CPU在整个过程中需要进行比平时更多的编译工作。同样,闲鱼的消息系统在重新发布时经常有抖动的问题,如下图显示:日常情况下CPU使用率基本不超过20%,而每当应用重新发布时,服务器的cpu使用率骤增至40%以上。本文正是为了减少这种抖动,进而保障应用发布时的稳定性。
万字长文详解Java lambda表达式
Lambda 在编程语言中往往是一个匿名函数,也就是说Lambda 是一个抽象概念,而编程语言提供了配套支持,比如在 Java 中其实为Lambda 进行配套的就是函数式接口,通过函数式接口生成匿名类和方法进行Lambda 式的处理。
那么,既然是这一套规则我们明白了,那么Lambda 所提供的好处在Java中就是函数式接口所提供的能力了,函数式接口往往则是提供了一些通用能力,这些函数式接口在JDK中也有一套完整的实践,那就是 Stream。
Java本地高性能缓存实践
本篇文章覆盖了本地缓存,且突出探讨高性能的本地缓存。
Retrofitting null-safety onto Java at Meta
Nullsafe is a new static analysis tool that is used at Meta to detect NullPointerException (NPE) errors in Java code.
Java8 Lambda实现源码解析
本文主要从源码层面探讨一下lambda的设计和实现。
咱们从头到尾说一次 Java 垃圾回收
在 Java 的世界里,似乎我们不用对垃圾回收那么的专注,很多初学者不懂 GC,也依然能写出一个能用甚至还不错的程序或系统。但其实这并不代表 Java 的 GC 就不重要。相反,它是那么的重要和复杂,以至于出了问题,那些初学者除了打开 GC 日志,看着一堆0101的天文,啥也做不了。
源码级深度理解 Java SPI
本文从源码入手分析,深入探讨 Java SPI 的特性、原理,以及在一些比较经典领域的应用。
Java字节码增强技术介绍
本篇文章主要介绍 java instrument和 ASM,文中部分内容来自Java API doc和 ASM user guide。有兴趣深入研究的同学可以从这两份资料获取更详细的内容。关于工具的具体使用场景和落地。
滴滴开源Super-jacoco:java代码覆盖率收集平台
Super-Jacoco是基于Jacoco、git二次开发打造的一站式JAVA代码全量/diff覆盖率收集平台,能够低成本、无侵入的收集代码覆盖率数据;Super-Jacoco除了支持JVM运行时间段的覆盖率收集外,还能够和环境无缝对接,收集服务端自定义时间段代码全量/增量覆盖率;并提供可视化的html覆盖率报表,协助覆盖率分析,支撑精准测试落地。
高性能 Java 计算服务的性能调优实战
本文将介绍 vivo push 推荐项目中的性能调优实践。
了解3D世界的黑魔法-纯Java构造一个简单的3D渲染引擎
本篇文章将通过简单的200多行的纯 Java代码,去实践正交投影、简单三角形光栅化、z缓冲(深度缓冲区)和平面着色等基本的3D渲染技术。
ChaosBlade Java 场景性能优化,那些你不知道的事
ChaosBlade 支持丰富的故障注入场景,尤其是在Java 生态中支持大量的插件。对于Java 场景的故障注入优势比较明显。