Arthas之实践经验总结

JVMTI等技术实现对JVM底层的一些监控?ognl表达式查看第一个参数:$ watch com.taobao.container.Test test "params[0]"Press Ctrl+C to abort.Affect(class-cnt:1 , method-cnt
2020年12月10日 2,900次浏览

详解Gson的TypeToken原理

概要借助对TypeToken原理的分析,加强对泛型擦除的理解,使得我们能够知道什么时候,通过什么方式可以获取到泛型的类型。泛型擦除众所周知,Java的泛型只在编译时有效,到了运行时这个泛型类型就会被擦除掉,即List<String>和List<Integer>在运行时其实都是
2024年05月31日 512次浏览

从设计者的角度出发理解源码–FastJson

从设计者的角度出发理解源码--FastJson引言本篇,作为《从..理解源码》的第二篇,延续前一篇的思路,笔者视图尝试从作者的角度触发分析作者的思路历程,和上篇相比,FastJson的知识可能略多。这篇文章,对fastjson只能算是浅尝即止,我认为最厉害的未过于,作者的持续习惯,包括但不限于:基于
2024年02月14日 707次浏览

深入理解sun.misc.Unsafe原理

前言Unsafe类在JDK源码中被广泛使用,在Spark使用off-heap memory时也会使用到,该类功能很强大,涉及到类加载机制(深入理解ClassLoader工作机制),其实例一般情况是获取不到的,源码中的设计是采用单例模式,不是系统加载初始化就会抛出SecurityException异常
2024年01月27日 541次浏览

JAVA-Benchmark-工具JMH

为什么需要Benchmark工具如果想要知道一段代码的性能如何,一种常用的做法可能是这样的:long start = System.currentTimeMillis();// do something ...System.out.println(System.currentTimeMillis()
2024年01月22日 470次浏览

一个优雅的环境管理工具--SDKMAN

是在大多数基于Unix的系统上管理多个软件开发工具包的并行版本的工具。它提供了一个方便的命令行界面(CLI)和API来安装,切换,删除和列出sdk相关信息。以下是一些特性
2023年11月16日 1,020次浏览

Function、Consumer、Supplier的妙用

这一篇我们来了解JDK8已经定义好的几个函数式接口。一、概述Jdk8之后新增的一个重要的包 : java.util.function该包下所有的接口都是函数式接口, 按分类主要分为四大接口类型: Function、Consumer、Predicate、Supplier。有关Predicate这里不再
2023年11月14日 549次浏览

后端也可以数据绑定--BeanMap的使用

BeanMap 是 Apache Commons BeanUtils 库中的一个类,它提供了一种将 Java 对象转换为 Map 的方式。BeanMap 可以将 Java 对象的属性作为键,属性值作为对应的值,存储在一个 Map 中。BeanMap在后端最常用的场景就是读取配置文件的信息。一、基本用
2023年11月12日 488次浏览

TT命令实现简单压力测试--Arthas的妙用

1.Arthas TT 简单压力测试发现问题。
2023年11月07日 479次浏览

从设计者的角度出发理解源码--Easy-Excel

都说阅读源码是一个程序员升级的必经之路,笔者也阅读了不少源码,但很长时间感受源码带给我的提升没有预期的那么大,所以我有了个新点子,假如我能知道一个开源项目作者是如何思考的,是否能更接近这个目标了呢?于是有了此文。
2023年11月05日 685次浏览