Java获取当前类名的两种方法
适用于非静态方法:this.getClass().getName()
适用于静态方法:Thread.currentThread().getStackTrace()[1].getClassName()
获取类名:
1、在类的实例中可使用this.getClass().getName();但在static method中不能使用该方法;
2、在static method中使用方法:Thread.currentThread().getStackTrace()[1].getClassName();
获取方法名:Thread.currentThread().getStackTrace()[1].getMethodName();
获取代码行号:Thread.currentThread().getStackTrace()[1].getLineNumber();
Log 代码:
System.out.println("Class: "+this.getClass().getName()+" method: "+
Thread.currentThread().getStackTrace()[1].getMethodName() +" line:"+
Thread.currentThread().getStackTrace()[1].getLineNumber());
Below I present you two different ways to get the current Class:
- Using Thread
- Using getClass()
getClass() method present in every Java object. Like here:
String clazz = this.getClass().getName();
static method. It won't work. Even the keyword this is meaningless in a static method.
Also, the class returned by the above method may actually be a subclass of the class in which the method is defined. This is because subclasses inherit the methods of their parents; and getClass() returns the actual runtime type of the object. To get the actual class in which a method is defined, use the method below also.
static method you can instead use the following:
String clazz = Thread.currentThread().getStackTrace()[1].getClassName();
Which uses the static methodgetStackTrace() to get the whole stacktrace. This method returns an array, where the first element (index 0) is the getStackTrace() you called and the second element (index 1) is the method your code is in.
String method = Thread.currentThread().getStackTrace()[1].getMethodName();
相关文章:
Java获取当前类名的两种方法
适用于非静态方法:this.getClass().getName() 适用于静态方法:Thread.currentThread().getStackTrace()[1].getClassName() 获取类名: 1、在类的实例中可使用this.getClass().getName();但在static method中不能使用该方法; 2、在…...
windows系统开机自启打开指定网页
windows系统开机自启打开指定网页 1、在电脑桌面右击新建快捷方式,输入想要开机打开的网址 2、点击下一步输入自己想要命名的名字 3、使用快捷键winR运行,输入shell:startup,点击确定 4、把在桌面创建快捷方式拉到启动文件夹里面 5、这样就完…...
Java-HashMap中put()方法是如何实现的,内含详细流程图
文章目录 Java中的HashMap什么是HashMap?对比其他Map中put()方法HashMap中put()方法使用示例 HashMap中put()源码解析手绘流程图实现原理源码探究(JDK 1.8) 设计put()的意义总结 Java中的HashMap 什么是HashMap? HashMap是Java中…...
kaggle赛后总结
1. 宽表 2.缺失值的处理方法 最简单粗暴的就是删除,这种情况是凡是有缺失值行数很少。均值替代。缺失值的行数比较多一点儿的时候,直接删除会影响样本数量,那就均值替代,或者中位数替代等方法。还有复杂的方法,把有缺…...
基于Vue前端框架构建BI应用程序
一、什么是Vue? Vue(Vue.js)是一个轻量级、高性能、可组件化的MVVM库。简而言之,是一个构建数据驱动的web界面的渐进式框架。它采用MVVM思想,通过数据双向绑定实现数据的动态渲染,同时也支持组件化的开发方…...
【文心一言】学习笔记
学习资料 《听说文心一言App霸榜了,那必须来一波全方位实测了》 情感陪伴:文心一言 App 可以充当用户的情感树洞,提供知心姐姐、【暖男】等角色扮演,为用户提供情绪疏导、情感分析、约会建议等服务。 1. 模型属性 【提示词工具…...
Xilinx UltraScale架构之可配置逻辑块CLB
目录 一、概览 二、UltraScale架构 2.1 UltraScale/UltraScale特点 2.2 与7系列CLB差异 三、 CLB结构 3.1 LUT 3.2 FF 3.3 多路选择器Multiplexers 3.4 进位链Carry Chain 四、应用 4.1 分布式RAM 4.2 移位寄存器 4.3 进位链Carry Chain 五、参考资料 一、概览 二…...
springboot web开发整合Freemarker 模板引擎
目录 Freemarker添加依赖配置文件ymlcontrollerhtml Freemarker 简介: FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具…...
Python 连接 SQL 数据库 -pyodbc
文章目录 使用 pyodbc 模块从 Python 代码连接到 SQL 数据库配置用于 pyodbc Python 开发的开发环境创建用于 pyodbc Python 开发的 SQL 数据库使用 pyodbc 连接到 SQL连接和查询数据 推荐阅读 在 Windows、Linux 或 macOS 上使用 Python 连接到 SQL 数据库,有几个可…...
Vue框架--Vue中的数据代理
下面,我们一起来说以下Vue中的数据代理。 1.Object.defineProperty()方法回顾 * Object.defineProperty()方法基本配置项 * value:指定设置对象内容的属性值 * enumerable:true, //控制属性是否可以枚举(也就是是否可以被遍历),默认值是false * writable:true, //控制属性是…...
每日一题(链表中倒数第k个节点)
每日一题(链表中倒数第k个节点) 链表中倒数第k个结点_牛客网 (nowcoder.com) 思路: 如下图所示:此题仍然定义两个指针,fast指针和slow指针,假设链表的长度是5,k是3,那么倒数第3个节点就是值为…...
python如何求两list的公共区域
如何求两list的公共区域 对于列表(List),要求它们的公共区域,你可以使用列表推导式和集合交集的方法来计算。具体步骤如下: list1 [1, 2, 3, 4, 5] list2 [3, 4, 5, 6, 7]# 使用列表推导式获取列表的交集 common_e…...
SpringMVC中文乱码(request或response)前后端处理
前端处理: JSP : <%page pageEncoding"utf-8" %> HTML : <meta charset"UTF-8">后端处理: GET请求(request)乱码处理: <!-- Tomcat的sever.xml中添加配置:URIEncod…...
Redis面试题大全含答案
1.什么是Redis? 答:Remote Dictionary Server(Redis)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value&…...
stable diffusion实践操作-提示词-整体环境
系列文章目录 stable diffusion实践操作-提示词 文章目录 系列文章目录前言一、提示词汇总1.1 整体环境11.2 整体环境1 二 、总结 前言 本文主要收纳总结了提示词-整体环境。 一、提示词汇总 1.1 整体环境1 画质背景场景画风镜头[最高质量][透明背景][山][轮廓加深][正面视…...
Spring Aop--通知注解
一、环绕注解 环绕注解 环绕注解Aroud 注解描述AroundAround是Spring AOP中的一种通知类型,用于在目标方法执行前后进行环绕操作。它可以在方法调用前后增加额外的逻辑,例如日志记录、性能监控等。Around注解需要配合AspectJ表达式来指定切入点&#…...
说说CDN和负载均衡具体是怎么实现的
分析&回答 什么是 CDN CDN (全称 Content Delivery Network),即内容分发网络。 构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需…...
Leetcode107. 二叉树的层序遍历 II
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 输入:root [3,9…...
【广州华锐互动】VR党建多媒体互动展厅:随时随地开展党史教育
随着科技的不断发展,虚拟现实(VR)技术已经逐渐渗透到各个领域,其中党建教育尤为受益。为了更好地传承红色基因,弘扬党的优良传统,广州华锐互动推出了VR党建多媒体互动展厅,让广大党员干部和人民群众通过现代科技手段&a…...
libdrm全解析三十九 —— 源码全解析(36)
接前一篇文章:libdrm全解析三十八 —— 源码全解析(35) 本文参考以下博文: DRM 驱动程序开发(VKMS) 特此致谢! 前一篇文章讲解完了资源的释放流程中的drmModeRmFB(),本回讲解munma…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
第八部分:阶段项目 6:构建 React 前端应用
现在,是时候将你学到的 React 基础知识付诸实践,构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段,你可以先使用模拟数据,或者如果你的后端 API(阶段项目 5)已经搭建好,可以直接连…...
