首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java:如何轻松获取当前执行的方法名

有时候,需要了解当前执行的方法名,以便更好地调试代码或者记录日志。那么,如何在Java中轻松获取当前执行的方法名呢?本文将为您揭示这个神秘的技巧!...要获取当前执行的方法名,首先需要获取到当前的执行上下文。1.1 获取当前线程在Java中,可以通过Thread.currentThread()方法获取到当前线程。...: stackTraceElements) { System.out.println(element.getMethodName()); } }}1.2 获取当前法名要获取当前执行的方法名...:" + currentMethodName); }}二、使用反射获取当前执行的方法名除了直接从堆栈跟踪信息中获取,还可以使用Java的反射机制来获取当前执行的方法名。...这种方法更加灵活,可以在运行时动态地获取方法名。2.1 获取目标类的Class对象要使用反射获取当前执行的方法名,首先需要获取到目标类的Class对象。

14010

关于四种获取当前执行方法名称方案的基准测试报告

本文是对作者上一篇文章中 Java 面试题之 Logback 打印日志是如何获取当前法名称的?介绍的四种获取当前执行方法名称方案的基准测试报告。...这四种方法如下,Java 面试题之 Logback 打印日志是如何获取当前法名称的地址:https://cloud.tencent.com/developer/article/2357312使用 Thread.currentThread...MethodNameTest { @Benchmark @BenchmarkMode({Mode.Throughput}) public void m1() { // 获取当前法名...使用异常对象的 getStackTrace() 方法测试代码如下,@Benchmark@BenchmarkMode({Mode.Throughput})public void m2() { // 获取当前法名...getEnclosingMethod() 方法测试代码如下,@Benchmark@BenchmarkMode({Mode.Throughput})public void m1() { // 获取当前法名

33470
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于四种获取当前执行方法名称方案的基准测试报告

    本文是对作者上一篇文章中 Java 面试题之 Logback 打印日志是如何获取当前法名称的? 介绍的四种获取当前执行方法名称方案的基准测试报告。...MethodNameTest { @Benchmark @BenchmarkMode({Mode.Throughput}) public void m1() { // 获取当前法名...getEnclosingMethod() 方法 测试代码, @Benchmark @BenchmarkMode({Mode.Throughput}) public void m1() { // 获取当前法名...的 Stack-Walking API 测试代码, @Benchmark @BenchmarkMode({Mode.Throughput}) public void m1() { // 获取当前法名...·END· 因公众号更改推送规则,关注公众号主页点击右上角"设为星标"第一时间获取博主精彩技术干货 往期原创热门文章推荐: Java 面试题之 Logback 打印日志是如何获取当前法名称的?

    25420

    Java 面试题之 Logback 打印日志是如何获取当前法名称的?

    例如我们可以在方法的开始和结束时打印出当前法名和参数,以便追踪程序的执行流程和性能。...打印当前法名 System.out.println("当前法名:" + methodName); 这种方法的优点是简单易用,不需要创建额外的对象。...具体的代码如下: // 获取当前法名 String methodName = new Exception().getStackTrace()[0].getMethodName(); // 打印当前法名...打印当前法名 System.out.println("当前法名:" + methodName); 这种方法的优点是不需要获取堆栈跟踪信息,而且不会创建异常对象,因此性能和可读性都较好。...在需要获取当前法名称时,我们可以只获取顶部帧,而不需要捕获整个堆栈跟踪。

    27430

    OC底层探索14-方法名Type EncodingsOC底层探索14-方法名Type Encodings

    查看Clang编译文件(.cpp) //Clang默认依赖Foundation库 //当前目录下:把目标文件编译成c++文件.pp clang -rewrite-objc main.m -o main.cpp...具体意义 方法会自带两个参数:self、方法名(cmd); 例一 -(void)say1{} //oc {(struct objc_selector *)"say1", "v16@0:8", (void...I_HRTest_say1} //cpp v:返回值为空 16:共占用16字节内存空间 @:代表第一个参数self(每一个方法都会有一个默认参数self) 0:第一个参数从第0号位置开始 : :方法的Sel(方法名...cpp 第一个@:返回值为id类型 16:共占用16字节内存空间 第二个@:代表第一个参数self(每一个方法都会有一个默认参数self) 0:第一个参数从第0号位置开始 : :方法的Sel(方法名...//cpp v:返回值为空 20:共占用20字节内存空间 @:代表第一个参数是id类型-self(每一个方法都会有一个默认参数self) 0:第一个参数从第0号位置开始 : :方法的Sel(方法名

    31920

    日志记录当前类和当前方法

    可是他们得到纪录类和记录方法是直接在代码中写死类名和方法名的,这就造成了每个打印日志地方都要手动去写这个类名和方法名,实在是太繁琐了,然后我就想解决一下。...当前记录方式:调研分析我的初衷就是为了简化打印当前类和当前方法的方式,想去写一个工具类,里面写一个工具方法,功能就是:帮忙打印调用这个工具方法的类和具体方法名。...这样的话在每次日志记录就不需要那么麻烦自己手写类名和方法名了。...代码解读复制代码public class CurClassAndMethodUtil { public static void getCurClazzAndMethod() { // 获取当前线程的...对getStackTrace进行了详细了解,解决了我们打印当前类和方法的问题。

    8410

    分布与卡检验

    分布 卡分布(chi-square distribution, -distribution)是概率统计里常用的一种概率分布,也是统计推断里应用最广泛的概率分布之一,在假设检验与置信区间的计算中经常能见到卡分布的身影...我们先来看看卡分布的定义: 若k个独立的随机变量Z1,Z2,⋯,Zk,且符合标准正态分布N(0,1),则这k个随机变量的平方和 为服从自由度为k的卡分布,记为: 也可以记为: 卡分布的期望与方差分为为...根据χ2分布,χ2统计量以及自由度,可以确定在H0成立的情况下获得当前统计量以及更极端情况的概率p。如果p很小,说明观察值与理论值的偏离程度大,应该拒绝原假设。否则不能拒绝原假设。...卡检验做特征选择 卡检验经常被用来做特征选择。...总结一下:我们可以通过卡值来判断特征是否与类型有关。卡值越大,说明关联越强,特征越需要保留。卡值越小,说明越不相关,特征需要去除。

    3K70
    领券