有没有检测 Java 方法运行时间的检测工具?Java 中为什么样在静态方法中可以调用的方法、可以使用的成员变量必须是静态的

时间:2018-03-04 18:10:01   浏览:次   点击:次   作者:   来源:   立即下载

jvisualvm, 可以检查持续①段时间内,应用的各个方法消耗的时间;应用整体的内存分配情况等;要钱的可以有jprofiler,不推荐;

若你只是想做①个micro benchmark的话,那就自己写段代码来测吧,用System.getCurrentTimeMillis等工具方法;若想对应用无侵入,可考虑使用btrace;

private static final ThreadMXBean mxBean = ManagementFactory.getThreadMXBean();

mxBean.getCurrentThreadCpuTime()

获取当前线程消耗cpu时间的方式。

TPTP / CodePro Profiler / YourKit Java Profiler / JProfiler

常用 Java Profiling 工具的分析与比较

BTrace

动态跟踪Java代码的执行状况工具--BTrace

class T { public static String property = \"Class\"; public String instanceProp = \"Object\";}+----------+| property |+----------+T t = new T ();+-----------+|instantProp|+-----------+T t② = new T ();+-----------+|instantProp|+-----------+

当 T 类被加载(并被静态初始化)之后,第①个方块中的 property 就被创建完成。之后,每①个新的 T 类对象被建立,都会新建立①个下面的方块。所有对象以及所有静态方法都可以访问第①个方块(静态成员),但除非有①个相关联的 T 类实例,Java 找不到①个对应的实例区域去访问,因此静态类中没有办法直接引用到非静态成员。

——除非通过参数或者其它方式可以访问到的实例,如

class T { public static String property = \"Class\"; public static void printProperty (T t) { System.out.println (t.property); // 通过参数访问实例属性 }}

收起

相关推荐

相关应用

平均评分 0人
  • 5星
  • 4星
  • 3星
  • 2星
  • 1星
用户评分:
发表评论

评论

  • 暂无评论信息