public class T2 {
public void t2Method(){
getCaller();
}
public void getCaller(){
StackTraceElement stack[] = Thread.currentThread().getStackTrace();
for (StackTraceElement ste:stack){
if((ste.getClassName().indexOf("T1"))!=-1){
System.out.println(
"called by "+ste.getClassName()+"."+ste.getMethodName()+"/"+ste.getFileName());
}
}
}
}
public class T1 {
public static void main(String[] args) {
new T2().t2Method();
}
}
public static void getCaller() {
StackTraceElement[] stack = (new Throwable()).getStackTrace();
for (int i = 0; i < stack.length; i++) {
StackTraceElement ste = stack[i];
System.out.println(ste.getClassName() + "." + ste.getMethodName() + "(...);");
System.out.println(i + "--" + ste.getMethodName());
System.out.println(i + "--" + ste.getFileName());
System.out.println(i + "--" + ste.getLineNumber());
}
}
运行显示:
called by com.test.T1.main/T1.java
转自
http://www.blogjava.net/freeman1984/archive/2010/01/14/309413.html
http://www.iteye.com/topic/13179
分享到:
相关推荐
2. **查找Java方法**:使用`FindClass`找到Java类,并通过`GetMethodID`获取要调用的方法的ID。 3. **调用Java方法**:使用`CallStaticVoidMethod`或`CallVoidMethod`等函数,根据方法是否为静态,以及传入的参数...
RFC基于ABAP工作流,允许调用者执行SAP系统中的事务代码、函数模块等,从而实现数据交换和业务流程自动化。 在Java中调用SAP RFC,通常需要使用JCo(Java Connector)库,这是SAP官方提供的Java API。JCo允许Java...
在这里,你需要获取`methodID`,它是Java方法的ID,可以通过JNIEnv查找。 4. **编译C代码为动态链接库**: 将C代码编译为适用于Android平台的动态链接库(.so文件)。这通常涉及设置交叉编译环境,使用NDK...
标题 "精典源码之java调用C例子.zip" 提供了一个关键信息,即这个压缩包包含的是关于Java调用C代码的经典示例。在Java编程中,有时我们需要利用C或C++的高性能特性,例如操作硬件或者使用已有的C库。Java通过JNI...
Java TTS系统允许开发者创建能够读出文本的应用程序,这对于视力障碍者、学习阅读困难的用户或是需要语音反馈的场景都非常有用。 在"java语音朗读实例。TTS调用实例"这个项目中,我们将会探讨如何在Java程序中集成...
以下是对如何使用Java获取USB设备信息的详细解释。 首先,我们需要了解USB设备的一些基本概念。USB设备通常由Vendor ID (VID) 和 Product ID (PID) 来唯一标识。VID是由USB组织分配给设备制造商的,而PID则是制造商...
在`dubbo-consumer`模块中,消费者可以动态地获取服务提供者的信息并发起调用: ```xml ``` 四、Dubbo服务调用流程 1. **服务注册与发现**:服务提供者启动后,会向注册中心(如Zookeeper)注册自己的服务信息...
4. **提取数据**:针对选取的元素,可以调用`text()`、`attr()`等方法获取文本内容或属性值。例如,获取商品名称可以用`select("h1.title").text()`,获取价格则可能是`select(".price").text()`。 5. **处理数据**...
11. **反射机制**:Java的反射机制允许程序在运行时动态地获取类的信息并操作类的对象。通过例子,你可以学习如何使用Class类、Method类和Constructor类。 12. **泛型**:泛型提高了代码的安全性和可读性。实例会...
`OUT`参数是存储过程中的一种特殊参数类型,用于将结果传出存储过程,供调用者使用。 Java中调用存储过程主要通过JDBC(Java Database Connectivity)接口实现。以下是一步步的操作步骤: 1. **加载数据库驱动**:...
这个名为"JAVA入门程序例子"的压缩包提供了初学者学习Java语言的良好资源,涵盖了基础语法、J2SE常用包的运用、Java Swing图形界面设计以及JDBC数据库连接技术。 1. **JAVA语法基础**: - **变量与数据类型**:...
9. **反射与注解**:了解Java反射机制,如何在运行时获取类的信息并动态操作类、对象和方法。注解是元数据的一种形式,可以用于代码的元编程。 10. **泛型**:理解泛型的用途,如何在类、接口和方法中使用泛型来...
8. **反射机制**:Java反射允许在运行时检查类的信息并动态调用方法。例子可能会展示如何获取类、字段和方法的信息,以及动态实例化对象。 9. **Java Swing与JavaFX**:这两是Java的图形用户界面(GUI)库,可以...
10. **反射机制**: 运行时动态加载类、获取类信息、创建对象和调用方法等,是Java提供的一种强大功能。 11. **泛型**: 提高代码的类型安全性,避免类型转换错误,如List、Map, String>等。 12. **枚举**: Java中的...
示例可能展示如何动态地获取类、接口、构造器和方法的信息。 8. **泛型**: 泛型提供了一种在编译时类型安全的方式来处理集合,避免了类型转换的麻烦。例子会解释如何使用泛型类和接口。 9. **网络编程**: Java提供...
综上所述,Java获取CPU、主板和硬盘序列号涉及到操作系统级别的交互,需要利用Java的扩展机制如JNI或第三方库。由于安全性和跨平台性的考虑,这在Java中并不是一个直接的任务,需要针对不同的操作系统实现不同的解决...
8. **反射机制**:Java反射机制允许程序在运行时动态获取类的信息(如类名、方法名)并调用方法,增强了程序的灵活性。例如,通过反射可以在运行时动态加载类并创建对象。 9. **泛型**:Java的泛型用于创建可重复...
6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用...
这个例子是用纯Java编写的,不依赖任何JDK之外的第三方库,因此非常适合初学者理解和学习。RPC的核心思想是透明性,即客户端可以像调用本地方法一样调用远程服务器上的方法,而无需关心网络通信的细节。 首先,RPC...
在这个例子中,我们首先创建了一个`Manager`实例,然后通过`locateDevice`方法找到一个可用的视频输入设备(即摄像头)。接着,我们设置捕获的视频格式为YUV,然后打开设备获取`DataSource`。实际应用中,你需要添加...