Java源码示例:com.sun.tools.hat.internal.model.JavaClass

示例1
public static boolean isPlatformClass(JavaClass clazz) {
    // all classes loaded by bootstrap loader are considered
    // platform classes. In addition, the older name based filtering
    // is also done for compatibility.
    if (clazz.isBootstrap()) {
        return true;
    }

    String name = clazz.getName();
    // skip even the array classes of the skipped classes.
    if (name.startsWith("[")) {
        int index = name.lastIndexOf('[');
        if (index != -1) {
            if (name.charAt(index + 1) != 'L') {
                // some primitive array.
                return true;
            }
            // skip upto 'L' after the last '['.
            name = name.substring(index + 2);
        }
    }
    String[] nms = getNames();
    for (int i = 0; i < nms.length; i++) {
        if (name.startsWith(nms[i])) {
            return true;
        }
    }
    return false;
}
 
示例2
public static boolean isPlatformClass(JavaClass clazz) {
    // all classes loaded by bootstrap loader are considered
    // platform classes. In addition, the older name based filtering
    // is also done for compatibility.
    if (clazz.isBootstrap()) {
        return true;
    }

    String name = clazz.getName();
    // skip even the array classes of the skipped classes.
    if (name.startsWith("[")) {
        int index = name.lastIndexOf('[');
        if (index != -1) {
            if (name.charAt(index + 1) != 'L') {
                // some primitive array.
                return true;
            }
            // skip upto 'L' after the last '['.
            name = name.substring(index + 2);
        }
    }
    String[] nms = getNames();
    for (int i = 0; i < nms.length; i++) {
        if (name.startsWith(nms[i])) {
            return true;
        }
    }
    return false;
}
 
示例3
public static boolean isPlatformClass(JavaClass clazz) {
    // all classes loaded by bootstrap loader are considered
    // platform classes. In addition, the older name based filtering
    // is also done for compatibility.
    if (clazz.isBootstrap()) {
        return true;
    }

    String name = clazz.getName();
    // skip even the array classes of the skipped classes.
    if (name.startsWith("[")) {
        int index = name.lastIndexOf('[');
        if (index != -1) {
            if (name.charAt(index + 1) != 'L') {
                // some primitive array.
                return true;
            }
            // skip upto 'L' after the last '['.
            name = name.substring(index + 2);
        }
    }
    String[] nms = getNames();
    for (int i = 0; i < nms.length; i++) {
        if (name.startsWith(nms[i])) {
            return true;
        }
    }
    return false;
}
 
示例4
public static boolean isPlatformClass(JavaClass clazz) {
    // all classes loaded by bootstrap loader are considered
    // platform classes. In addition, the older name based filtering
    // is also done for compatibility.
    if (clazz.isBootstrap()) {
        return true;
    }

    String name = clazz.getName();
    // skip even the array classes of the skipped classes.
    if (name.startsWith("[")) {
        int index = name.lastIndexOf('[');
        if (index != -1) {
            if (name.charAt(index + 1) != 'L') {
                // some primitive array.
                return true;
            }
            // skip upto 'L' after the last '['.
            name = name.substring(index + 2);
        }
    }
    String[] nms = getNames();
    for (int i = 0; i < nms.length; i++) {
        if (name.startsWith(nms[i])) {
            return true;
        }
    }
    return false;
}
 
示例5
public static boolean isPlatformClass(JavaClass clazz) {
    // all classes loaded by bootstrap loader are considered
    // platform classes. In addition, the older name based filtering
    // is also done for compatibility.
    if (clazz.isBootstrap()) {
        return true;
    }

    String name = clazz.getName();
    // skip even the array classes of the skipped classes.
    if (name.startsWith("[")) {
        int index = name.lastIndexOf('[');
        if (index != -1) {
            if (name.charAt(index + 1) != 'L') {
                // some primitive array.
                return true;
            }
            // skip upto 'L' after the last '['.
            name = name.substring(index + 2);
        }
    }
    String[] nms = getNames();
    for (int i = 0; i < nms.length; i++) {
        if (name.startsWith(nms[i])) {
            return true;
        }
    }
    return false;
}
 
示例6
public static boolean isPlatformClass(JavaClass clazz) {
    // all classes loaded by bootstrap loader are considered
    // platform classes. In addition, the older name based filtering
    // is also done for compatibility.
    if (clazz.isBootstrap()) {
        return true;
    }

    String name = clazz.getName();
    // skip even the array classes of the skipped classes.
    if (name.startsWith("[")) {
        int index = name.lastIndexOf('[');
        if (index != -1) {
            if (name.charAt(index + 1) != 'L') {
                // some primitive array.
                return true;
            }
            // skip upto 'L' after the last '['.
            name = name.substring(index + 2);
        }
    }
    String[] nms = getNames();
    for (int i = 0; i < nms.length; i++) {
        if (name.startsWith(nms[i])) {
            return true;
        }
    }
    return false;
}
 
示例7
public static boolean isPlatformClass(JavaClass clazz) {
    // all classes loaded by bootstrap loader are considered
    // platform classes. In addition, the older name based filtering
    // is also done for compatibility.
    if (clazz.isBootstrap()) {
        return true;
    }

    String name = clazz.getName();
    // skip even the array classes of the skipped classes.
    if (name.startsWith("[")) {
        int index = name.lastIndexOf('[');
        if (index != -1) {
            if (name.charAt(index + 1) != 'L') {
                // some primitive array.
                return true;
            }
            // skip upto 'L' after the last '['.
            name = name.substring(index + 2);
        }
    }
    String[] nms = getNames();
    for (int i = 0; i < nms.length; i++) {
        if (name.startsWith(nms[i])) {
            return true;
        }
    }
    return false;
}
 
示例8
public static boolean isPlatformClass(JavaClass clazz) {
    // all classes loaded by bootstrap loader are considered
    // platform classes. In addition, the older name based filtering
    // is also done for compatibility.
    if (clazz.isBootstrap()) {
        return true;
    }

    String name = clazz.getName();
    // skip even the array classes of the skipped classes.
    if (name.startsWith("[")) {
        int index = name.lastIndexOf('[');
        if (index != -1) {
            if (name.charAt(index + 1) != 'L') {
                // some primitive array.
                return true;
            }
            // skip upto 'L' after the last '['.
            name = name.substring(index + 2);
        }
    }
    String[] nms = getNames();
    for (int i = 0; i < nms.length; i++) {
        if (name.startsWith(nms[i])) {
            return true;
        }
    }
    return false;
}
 
示例9
public static boolean isPlatformClass(JavaClass clazz) {
    // all classes loaded by bootstrap loader are considered
    // platform classes. In addition, the older name based filtering
    // is also done for compatibility.
    if (clazz.isBootstrap()) {
        return true;
    }

    String name = clazz.getName();
    // skip even the array classes of the skipped classes.
    if (name.startsWith("[")) {
        int index = name.lastIndexOf('[');
        if (index != -1) {
            if (name.charAt(index + 1) != 'L') {
                // some primitive array.
                return true;
            }
            // skip upto 'L' after the last '['.
            name = name.substring(index + 2);
        }
    }
    String[] nms = getNames();
    for (int i = 0; i < nms.length; i++) {
        if (name.startsWith(nms[i])) {
            return true;
        }
    }
    return false;
}
 
示例10
public static boolean isPlatformClass(JavaClass clazz) {
    // all classes loaded by bootstrap loader are considered
    // platform classes. In addition, the older name based filtering
    // is also done for compatibility.
    if (clazz.isBootstrap()) {
        return true;
    }

    String name = clazz.getName();
    // skip even the array classes of the skipped classes.
    if (name.startsWith("[")) {
        int index = name.lastIndexOf('[');
        if (index != -1) {
            if (name.charAt(index + 1) != 'L') {
                // some primitive array.
                return true;
            }
            // skip upto 'L' after the last '['.
            name = name.substring(index + 2);
        }
    }
    String[] nms = getNames();
    for (int i = 0; i < nms.length; i++) {
        if (name.startsWith(nms[i])) {
            return true;
        }
    }
    return false;
}
 
示例11
public static boolean isPlatformClass(JavaClass clazz) {
    // all classes loaded by bootstrap loader are considered
    // platform classes. In addition, the older name based filtering
    // is also done for compatibility.
    if (clazz.isBootstrap()) {
        return true;
    }

    String name = clazz.getName();
    // skip even the array classes of the skipped classes.
    if (name.startsWith("[")) {
        int index = name.lastIndexOf('[');
        if (index != -1) {
            if (name.charAt(index + 1) != 'L') {
                // some primitive array.
                return true;
            }
            // skip upto 'L' after the last '['.
            name = name.substring(index + 2);
        }
    }
    String[] nms = getNames();
    for (int i = 0; i < nms.length; i++) {
        if (name.startsWith(nms[i])) {
            return true;
        }
    }
    return false;
}
 
示例12
public static boolean isPlatformClass(JavaClass clazz) {
    // all classes loaded by bootstrap loader are considered
    // platform classes. In addition, the older name based filtering
    // is also done for compatibility.
    if (clazz.isBootstrap()) {
        return true;
    }

    String name = clazz.getName();
    // skip even the array classes of the skipped classes.
    if (name.startsWith("[")) {
        int index = name.lastIndexOf('[');
        if (index != -1) {
            if (name.charAt(index + 1) != 'L') {
                // some primitive array.
                return true;
            }
            // skip upto 'L' after the last '['.
            name = name.substring(index + 2);
        }
    }
    String[] nms = getNames();
    for (int i = 0; i < nms.length; i++) {
        if (name.startsWith(nms[i])) {
            return true;
        }
    }
    return false;
}
 
示例13
public void run() {
    JavaClass[] classes = snapshot.getClassesArray();
    Comparator<JavaClass> comparator;
    if (query.equals("count")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getInstancesCount(false) -
                         first.getInstancesCount(false));
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    } else if (query.equals("class")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                return first.getName().compareTo(second.getName());
            }
        };
    } else {
        // default sort is by total size
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getTotalInstanceSize() -
                         first.getTotalInstanceSize());
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    }
    Arrays.sort(classes, comparator);

    startHtml("Heap Histogram");

    out.println("<p align='center'>");
    out.println("<b><a href='/'>All Classes (excluding platform)</a></b>");
    out.println("</p>");

    out.println("<table align=center border=1>");
    out.println("<tr><th><a href='/histo/class'>Class</a></th>");
    out.println("<th><a href='/histo/count'>Instance Count</a></th>");
    out.println("<th><a href='/histo/size'>Total Size</a></th></tr>");
    for (int i = 0; i < classes.length; i++) {
        JavaClass clazz = classes[i];
        out.println("<tr><td>");
        printClass(clazz);
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getInstancesCount(false));
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getTotalInstanceSize());
        out.println("</td></tr>");
    }
    out.println("</table>");

    endHtml();
}
 
示例14
public void run() {
    JavaClass[] classes = snapshot.getClassesArray();
    Comparator<JavaClass> comparator;
    if (query.equals("count")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getInstancesCount(false) -
                         first.getInstancesCount(false));
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    } else if (query.equals("class")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                return first.getName().compareTo(second.getName());
            }
        };
    } else {
        // default sort is by total size
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getTotalInstanceSize() -
                         first.getTotalInstanceSize());
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    }
    Arrays.sort(classes, comparator);

    startHtml("Heap Histogram");

    out.println("<p align='center'>");
    out.println("<b><a href='/'>All Classes (excluding platform)</a></b>");
    out.println("</p>");

    out.println("<table align=center border=1>");
    out.println("<tr><th><a href='/histo/class'>Class</a></th>");
    out.println("<th><a href='/histo/count'>Instance Count</a></th>");
    out.println("<th><a href='/histo/size'>Total Size</a></th></tr>");
    for (int i = 0; i < classes.length; i++) {
        JavaClass clazz = classes[i];
        out.println("<tr><td>");
        printClass(clazz);
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getInstancesCount(false));
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getTotalInstanceSize());
        out.println("</td></tr>");
    }
    out.println("</table>");

    endHtml();
}
 
示例15
public void run() {
    JavaClass[] classes = snapshot.getClassesArray();
    Comparator<JavaClass> comparator;
    if (query.equals("count")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getInstancesCount(false) -
                         first.getInstancesCount(false));
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    } else if (query.equals("class")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                return first.getName().compareTo(second.getName());
            }
        };
    } else {
        // default sort is by total size
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getTotalInstanceSize() -
                         first.getTotalInstanceSize());
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    }
    Arrays.sort(classes, comparator);

    startHtml("Heap Histogram");

    out.println("<p align='center'>");
    out.println("<b><a href='/'>All Classes (excluding platform)</a></b>");
    out.println("</p>");

    out.println("<table align=center border=1>");
    out.println("<tr><th><a href='/histo/class'>Class</a></th>");
    out.println("<th><a href='/histo/count'>Instance Count</a></th>");
    out.println("<th><a href='/histo/size'>Total Size</a></th></tr>");
    for (int i = 0; i < classes.length; i++) {
        JavaClass clazz = classes[i];
        out.println("<tr><td>");
        printClass(clazz);
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getInstancesCount(false));
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getTotalInstanceSize());
        out.println("</td></tr>");
    }
    out.println("</table>");

    endHtml();
}
 
示例16
public void run() {
    JavaClass[] classes = snapshot.getClassesArray();
    Comparator<JavaClass> comparator;
    if (query.equals("count")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getInstancesCount(false) -
                         first.getInstancesCount(false));
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    } else if (query.equals("class")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                return first.getName().compareTo(second.getName());
            }
        };
    } else {
        // default sort is by total size
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getTotalInstanceSize() -
                         first.getTotalInstanceSize());
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    }
    Arrays.sort(classes, comparator);

    startHtml("Heap Histogram");

    out.println("<p align='center'>");
    out.println("<b><a href='/'>All Classes (excluding platform)</a></b>");
    out.println("</p>");

    out.println("<table align=center border=1>");
    out.println("<tr><th><a href='/histo/class'>Class</a></th>");
    out.println("<th><a href='/histo/count'>Instance Count</a></th>");
    out.println("<th><a href='/histo/size'>Total Size</a></th></tr>");
    for (int i = 0; i < classes.length; i++) {
        JavaClass clazz = classes[i];
        out.println("<tr><td>");
        printClass(clazz);
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getInstancesCount(false));
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getTotalInstanceSize());
        out.println("</td></tr>");
    }
    out.println("</table>");

    endHtml();
}
 
示例17
public void run() {
    JavaClass[] classes = snapshot.getClassesArray();
    Comparator<JavaClass> comparator;
    if (query.equals("count")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getInstancesCount(false) -
                         first.getInstancesCount(false));
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    } else if (query.equals("class")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                return first.getName().compareTo(second.getName());
            }
        };
    } else {
        // default sort is by total size
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getTotalInstanceSize() -
                         first.getTotalInstanceSize());
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    }
    Arrays.sort(classes, comparator);

    startHtml("Heap Histogram");

    out.println("<p align='center'>");
    out.println("<b><a href='/'>All Classes (excluding platform)</a></b>");
    out.println("</p>");

    out.println("<table align=center border=1>");
    out.println("<tr><th><a href='/histo/class'>Class</a></th>");
    out.println("<th><a href='/histo/count'>Instance Count</a></th>");
    out.println("<th><a href='/histo/size'>Total Size</a></th></tr>");
    for (int i = 0; i < classes.length; i++) {
        JavaClass clazz = classes[i];
        out.println("<tr><td>");
        printClass(clazz);
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getInstancesCount(false));
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getTotalInstanceSize());
        out.println("</td></tr>");
    }
    out.println("</table>");

    endHtml();
}
 
示例18
public void run() {
    JavaClass[] classes = snapshot.getClassesArray();
    Comparator<JavaClass> comparator;
    if (query.equals("count")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getInstancesCount(false) -
                         first.getInstancesCount(false));
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    } else if (query.equals("class")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                return first.getName().compareTo(second.getName());
            }
        };
    } else {
        // default sort is by total size
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getTotalInstanceSize() -
                         first.getTotalInstanceSize());
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    }
    Arrays.sort(classes, comparator);

    startHtml("Heap Histogram");

    out.println("<p align='center'>");
    out.println("<b><a href='/'>All Classes (excluding platform)</a></b>");
    out.println("</p>");

    out.println("<table align=center border=1>");
    out.println("<tr><th><a href='/histo/class'>Class</a></th>");
    out.println("<th><a href='/histo/count'>Instance Count</a></th>");
    out.println("<th><a href='/histo/size'>Total Size</a></th></tr>");
    for (int i = 0; i < classes.length; i++) {
        JavaClass clazz = classes[i];
        out.println("<tr><td>");
        printClass(clazz);
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getInstancesCount(false));
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getTotalInstanceSize());
        out.println("</td></tr>");
    }
    out.println("</table>");

    endHtml();
}
 
示例19
public void run() {
    JavaClass[] classes = snapshot.getClassesArray();
    Comparator<JavaClass> comparator;
    if (query.equals("count")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getInstancesCount(false) -
                         first.getInstancesCount(false));
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    } else if (query.equals("class")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                return first.getName().compareTo(second.getName());
            }
        };
    } else {
        // default sort is by total size
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getTotalInstanceSize() -
                         first.getTotalInstanceSize());
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    }
    Arrays.sort(classes, comparator);

    startHtml("Heap Histogram");

    out.println("<p align='center'>");
    out.println("<b><a href='/'>All Classes (excluding platform)</a></b>");
    out.println("</p>");

    out.println("<table align=center border=1>");
    out.println("<tr><th><a href='/histo/class'>Class</a></th>");
    out.println("<th><a href='/histo/count'>Instance Count</a></th>");
    out.println("<th><a href='/histo/size'>Total Size</a></th></tr>");
    for (int i = 0; i < classes.length; i++) {
        JavaClass clazz = classes[i];
        out.println("<tr><td>");
        printClass(clazz);
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getInstancesCount(false));
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getTotalInstanceSize());
        out.println("</td></tr>");
    }
    out.println("</table>");

    endHtml();
}
 
示例20
public void run() {
    JavaClass[] classes = snapshot.getClassesArray();
    Comparator<JavaClass> comparator;
    if (query.equals("count")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getInstancesCount(false) -
                         first.getInstancesCount(false));
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    } else if (query.equals("class")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                return first.getName().compareTo(second.getName());
            }
        };
    } else {
        // default sort is by total size
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getTotalInstanceSize() -
                         first.getTotalInstanceSize());
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    }
    Arrays.sort(classes, comparator);

    startHtml("Heap Histogram");

    out.println("<p align='center'>");
    out.println("<b><a href='/'>All Classes (excluding platform)</a></b>");
    out.println("</p>");

    out.println("<table align=center border=1>");
    out.println("<tr><th><a href='/histo/class'>Class</a></th>");
    out.println("<th><a href='/histo/count'>Instance Count</a></th>");
    out.println("<th><a href='/histo/size'>Total Size</a></th></tr>");
    for (int i = 0; i < classes.length; i++) {
        JavaClass clazz = classes[i];
        out.println("<tr><td>");
        printClass(clazz);
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getInstancesCount(false));
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getTotalInstanceSize());
        out.println("</td></tr>");
    }
    out.println("</table>");

    endHtml();
}
 
示例21
public void run() {
    JavaClass[] classes = snapshot.getClassesArray();
    Comparator<JavaClass> comparator;
    if (query.equals("count")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getInstancesCount(false) -
                         first.getInstancesCount(false));
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    } else if (query.equals("class")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                return first.getName().compareTo(second.getName());
            }
        };
    } else {
        // default sort is by total size
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getTotalInstanceSize() -
                         first.getTotalInstanceSize());
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    }
    Arrays.sort(classes, comparator);

    startHtml("Heap Histogram");

    out.println("<p align='center'>");
    out.println("<b><a href='/'>All Classes (excluding platform)</a></b>");
    out.println("</p>");

    out.println("<table align=center border=1>");
    out.println("<tr><th><a href='/histo/class'>Class</a></th>");
    out.println("<th><a href='/histo/count'>Instance Count</a></th>");
    out.println("<th><a href='/histo/size'>Total Size</a></th></tr>");
    for (int i = 0; i < classes.length; i++) {
        JavaClass clazz = classes[i];
        out.println("<tr><td>");
        printClass(clazz);
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getInstancesCount(false));
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getTotalInstanceSize());
        out.println("</td></tr>");
    }
    out.println("</table>");

    endHtml();
}
 
示例22
public void run() {
    JavaClass[] classes = snapshot.getClassesArray();
    Comparator<JavaClass> comparator;
    if (query.equals("count")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getInstancesCount(false) -
                         first.getInstancesCount(false));
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    } else if (query.equals("class")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                return first.getName().compareTo(second.getName());
            }
        };
    } else {
        // default sort is by total size
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getTotalInstanceSize() -
                         first.getTotalInstanceSize());
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    }
    Arrays.sort(classes, comparator);

    startHtml("Heap Histogram");

    out.println("<p align='center'>");
    out.println("<b><a href='/'>All Classes (excluding platform)</a></b>");
    out.println("</p>");

    out.println("<table align=center border=1>");
    out.println("<tr><th><a href='/histo/class'>Class</a></th>");
    out.println("<th><a href='/histo/count'>Instance Count</a></th>");
    out.println("<th><a href='/histo/size'>Total Size</a></th></tr>");
    for (int i = 0; i < classes.length; i++) {
        JavaClass clazz = classes[i];
        out.println("<tr><td>");
        printClass(clazz);
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getInstancesCount(false));
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getTotalInstanceSize());
        out.println("</td></tr>");
    }
    out.println("</table>");

    endHtml();
}
 
示例23
public void run() {
    JavaClass[] classes = snapshot.getClassesArray();
    Comparator<JavaClass> comparator;
    if (query.equals("count")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getInstancesCount(false) -
                         first.getInstancesCount(false));
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    } else if (query.equals("class")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                return first.getName().compareTo(second.getName());
            }
        };
    } else {
        // default sort is by total size
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getTotalInstanceSize() -
                         first.getTotalInstanceSize());
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    }
    Arrays.sort(classes, comparator);

    startHtml("Heap Histogram");

    out.println("<p align='center'>");
    out.println("<b><a href='/'>All Classes (excluding platform)</a></b>");
    out.println("</p>");

    out.println("<table align=center border=1>");
    out.println("<tr><th><a href='/histo/class'>Class</a></th>");
    out.println("<th><a href='/histo/count'>Instance Count</a></th>");
    out.println("<th><a href='/histo/size'>Total Size</a></th></tr>");
    for (int i = 0; i < classes.length; i++) {
        JavaClass clazz = classes[i];
        out.println("<tr><td>");
        printClass(clazz);
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getInstancesCount(false));
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getTotalInstanceSize());
        out.println("</td></tr>");
    }
    out.println("</table>");

    endHtml();
}
 
示例24
public void run() {
    JavaClass[] classes = snapshot.getClassesArray();
    Comparator<JavaClass> comparator;
    if (query.equals("count")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getInstancesCount(false) -
                         first.getInstancesCount(false));
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    } else if (query.equals("class")) {
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                return first.getName().compareTo(second.getName());
            }
        };
    } else {
        // default sort is by total size
        comparator = new Comparator<JavaClass>() {
            public int compare(JavaClass first, JavaClass second) {
                long diff = (second.getTotalInstanceSize() -
                         first.getTotalInstanceSize());
                return (diff == 0)? 0: ((diff < 0)? -1 : + 1);
            }
        };
    }
    Arrays.sort(classes, comparator);

    startHtml("Heap Histogram");

    out.println("<p align='center'>");
    out.println("<b><a href='/'>All Classes (excluding platform)</a></b>");
    out.println("</p>");

    out.println("<table align=center border=1>");
    out.println("<tr><th><a href='/histo/class'>Class</a></th>");
    out.println("<th><a href='/histo/count'>Instance Count</a></th>");
    out.println("<th><a href='/histo/size'>Total Size</a></th></tr>");
    for (int i = 0; i < classes.length; i++) {
        JavaClass clazz = classes[i];
        out.println("<tr><td>");
        printClass(clazz);
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getInstancesCount(false));
        out.println("</td>");
        out.println("<td>");
        out.println(clazz.getTotalInstanceSize());
        out.println("</td></tr>");
    }
    out.println("</table>");

    endHtml();
}