易截截图软件、单文件、免安装、纯绿色、仅160KB

如何取的Java源代码文件中文件名和行号

如何取的Java源代码文件中文件名和行号:)
在C/C++的程序,编译器提供了两个宏来支持取得源文件中的行号和文件名,这两个宏是__FILE__,__LINE__
你可以如下的方法打印行号和文件名
查看源代码
打印帮助
1    #include <stdio.h>
2    int main()
3    {
4     fprintf(stdout,"[%s:%d] Hello World!",__FILE__,__LINE__);
5     return 0;
6    }
但是在JAVA下没有这两个宏,那么我们如何来取得文件名和行号,翻阅JDK,我们找到StackTraceElement这个类。这个类可以从Throwable取得,另外也可以从Thread类取得,通过这些我写如下的一个打印行号的测试程序:
查看源代码
打印帮助
01    public class LineNo {
02     public static int getLineNumber() {
03     return Thread.currentThread().getStackTrace()[2].getLineNumber();
04     }
05     
06     public static String getFileName() {
07     return Thread.currentThread().getStackTrace()[2].getFileName();
08     }
09     public static void main(String args[]) {
10     System.out.println("["+getFileName()+":"+ getLineNumber()+"]"+"Hello World!");
11     }
12    }
留下一个问题,上面程序中的magic数字 2 代表什么含义呢?
0是thread.getCurrentThread()
1是getLineNumber()
2才是调用getLineNumber的类


相关文档:

java &amp; 模式

 抽象化和继承关系使概念和定义可以复用;多态性使实现和应用可以复用;
开闭原则(Open-Closed Principle OCP)一个软件实体应当对扩展开放,对修改封闭。
对可变性的封装原则(Principle of Encapsulation of Variation) (1)一种变化性不和另一种混合在一起 (2)一种可变性不应散落在代码的很多地方。
里氏代换 ......

Java 根据关键字抓取google 新闻 网络数据 .*

 用户要求统计所提供关键字在网络出现的新闻,下面为一个测试的main方法。
package com.net;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
impo ......

Java用for循環Map


根据JDK5的新特性,用For循环Map,例如循环Map的Key
Java代码
for(String dataKey : paraMap.keySet())   {      
    System.out.println(dataKey );            &nbs ......

java并发编程实践笔记

  1, 保证线程安全的三种方法: a, 不要跨线程访问共享变量b, 使共享变量是final类型的c, 将共享变量的操作加上同步
    2, 一开始就将类设计成线程安全的, 比在后期重新修复它,更容易.
    3, 编写多线程程序, 首先保证它是正确的, 其次再考虑性能.
    4, 无 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号