亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? profile.java

?? Java寫的含有一個jdbc驅動的小型數據庫數據庫引擎
?? JAVA
字號:
/*
 * Profile.java
 *
 * Copyright (c) 2001, The HSQL Development Group
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice, this
 * list of conditions and the following disclaimer.
 *
 * Redistributions in binary form must reproduce the above copyright notice,
 * this list of conditions and the following disclaimer in the documentation
 * and/or other materials provided with the distribution.
 *
 *
 * Neither the name of the HSQL Development Group nor the names of its
 * contributors may be used to endorse or promote products derived from this
 * software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * This package is based on HypersonicSQL, originally developed by Thomas Mueller.
 *
 */
package org.hsqldb;

import java.io.*;
import java.util.*;

/**
 * <font color="#009900">
 * This class is used to test and profile HSQL Database Engine.
 * Before it can be used, the source code of the database must
 * be changed using CodeSwitcher, then compiled, then the test
 * program must be run, and at the end the static function
 * listUnvisited must be called. This will list all not
 * visited lines and it will print out the top 20 lines with
 * the most visits, the longest run and the longest run per call.
 * <P>
 * This class is generic can be used to profile also other
 * programs.
 * </font>
 */
public class Profile {
    static Profile   main = new Profile();
    final static int TOP = 20;
    final static int VISIT = 0, TIME = 1, PERCALL = 2;
    Hashtable	     hash = new Hashtable();
    boolean	     bVisited;
    boolean	     bStop;
    File	     fLastFile;
    int		     iLastLine;
    long	     lLastTime = System.currentTimeMillis();

    /**
     * Method declaration
     *
     *
     * @param file
     * @param line
     * @param maxline
     */
    public static void visit(String file, int line, int maxline) {    // +
	main.m_visit(file, line, maxline);    // +
    }					      // +

    /**
     * Method declaration
     *
     */
    public static void listUnvisited() {      // +
	main.m_listUnvisited();    // +
    }				   // +

    /**
     * Class declaration
     *
     *
     * @author
     * @version %I%, %G%
     */
    class File {		   // +
	String sName;			// +
	int    iMaxLine;		// +
	long   val[][];			// +

	/**
	 * Constructor declaration
	 *
	 *
	 * @param name
	 * @param max
	 */
	File(String name, int max) {    // +
	    sName = name;		    // +
	    iMaxLine = max;		    // +
	    val = new long[iMaxLine][3];    // +
	}				    // +

	/**
	 * Method declaration
	 *
	 *
	 * @param line
	 */
	void visit(int line) {		    // +
	    val[line][VISIT]++;    // +

	    long time = System.currentTimeMillis();    // +

	    if (fLastFile != null) {				       // +
		fLastFile.val[iLastLine][TIME] += time - lLastTime;    // +
	    }							       // +

	    fLastFile = this;				  // +
	    iLastLine = line;				  // +
	    lLastTime = time;				  // +
	}						  // +

    }							  // +

    /**
     * Method declaration
     *
     *
     * @param file
     * @param line
     * @param maxline
     */
    void m_visit(String file, int line, int maxline) {    // +
	if (bStop) {    // +
	    return;     // +
	}		// +

	bVisited = true;    // +

	File f = (File) hash.get(file);    // +

	if (f == null) {		    // +
	    f = new File(file, maxline);    // +

	    hash.put(file, f);		    // +
	}				    // +

	f.visit(line);		// +
    }				// +

    /**
     * Method declaration
     *
     */
    void m_listUnvisited() {    // +
	bStop = true;    // +

	if (!bVisited) {    // +
	    return;	    // +
	}		    // +

	Enumeration e = hash.keys();

	printline('=');
	print("UNVISITED");
	printline('-');

	int total = 0, unvisited = 0;

	while (e.hasMoreElements()) {
	    String file = (String) e.nextElement();
	    File   f = (File) hash.get(file);
	    int    maxline = f.iMaxLine;

	    total += maxline;

	    for (int l = 0; l < maxline; l++) {
		if (f.val[l][VISIT] == 0) {
		    int lto = l + 1;

		    for (; lto < maxline; lto++) {
			unvisited++;

			if (f.val[lto][VISIT] != 0) {
			    break;
			}
		    }

		    if (l == lto - 1) {
			print(file + " " + l);
		    } else {
			print(file + " " + l + " - " + (lto - 1));
		    }

		    l = lto;
		} else {
		    f.val[l][PERCALL] = f.val[l][TIME] / f.val[l][VISIT];
		}
	    }
	}

	printline('-');
	print("Total    : " + total);
	print("Unvisited: " + (100 * unvisited / total) + " %");
	printTimePerFile();
	printHigh("MOST VISITS", VISIT);
	printHigh("LONGEST RUN", TIME);
	printHigh("LONGEST PER CALL", PERCALL);
	printline('=');
    }

    /**
     * Method declaration
     *
     */
    void printTimePerFile() {
	Enumeration e = hash.keys();

	printline('-');
	print("TIME PER FILE");
	printline('-');

	int total = 0;

	while (e.hasMoreElements()) {
	    String file = (String) e.nextElement();
	    File   f = (File) hash.get(file);
	    int    time = 0;
	    int    maxline = f.iMaxLine;

	    for (int l = 0; l < maxline; l++) {
		time += f.val[l][TIME];
	    }

	    print(time + "\t" + file);

	    total += time;
	}

	printline('-');
	print("Total time: " + total);
    }

    /**
     * Method declaration
     *
     *
     * @param name
     * @param type
     */
    void printHigh(String name, int type) {
	printline('-');
	print(name);
	printline('-');

	for (int i = 0; i < TOP; i++) {
	    File	topfile = null;
	    int		topline = -1;
	    long	top = -1;
	    Enumeration e = hash.keys();

	    while (e.hasMoreElements()) {
		String file = (String) e.nextElement();
		File   f = (File) hash.get(file);
		int    maxline = f.iMaxLine;

		for (int l = 0; l < maxline; l++) {
		    long v = f.val[l][type];

		    if (v > top) {
			topfile = f;
			topline = l;
			top = v;
		    }
		}
	    }

	    print(top + "\t" + topline + "\t" + topfile.sName);

	    topfile.val[topline][type] = -1;
	}
    }

    /**
     * Method declaration
     *
     *
     * @param s
     */
    void print(String s) {
	System.out.println(s);
    }

    /**
     * Method declaration
     *
     *
     * @param c
     */
    void printline(char c) {
	for (int i = 0; i < 60; i++) {
	    System.out.print(c);
	}

	print("");
    }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91高潮流白浆在线麻豆| 青青草国产成人99久久| 日韩欧美一级二级三级久久久| 色香色香欲天天天影视综合网| 成人免费高清在线观看| 国产91色综合久久免费分享| 国产精品原创巨作av| 成人午夜免费电影| zzijzzij亚洲日本少妇熟睡| 99re这里都是精品| 91视频www| 欧美日韩国产另类不卡| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲一二三四区| 亚洲高清免费一级二级三级| 日韩精品乱码免费| 精彩视频一区二区| av成人动漫在线观看| 欧美日韩一区二区三区四区| 欧美精品在线观看一区二区| 精品国内二区三区| 中文字幕av一区二区三区| 亚洲精品精品亚洲| 日韩av电影免费观看高清完整版在线观看| 午夜欧美2019年伦理| 国产精品资源网| 日本精品一级二级| 欧美大片免费久久精品三p| 国产日韩欧美电影| 亚洲主播在线播放| 国产在线不卡一卡二卡三卡四卡| eeuss鲁片一区二区三区| 欧美精品99久久久**| 中文字幕av一区二区三区免费看| 亚洲电影一区二区三区| 国内精品伊人久久久久av影院| 97久久精品人人澡人人爽| 欧美精品九九99久久| 国产婷婷色一区二区三区四区 | 精品国产污污免费网站入口 | 国产激情91久久精品导航| 色呦呦日韩精品| 日韩三级精品电影久久久 | 亚洲尤物视频在线| 黑人精品欧美一区二区蜜桃| 91看片淫黄大片一级在线观看| 7777精品久久久大香线蕉| 国产精品对白交换视频 | 国产精品嫩草99a| 日韩成人一级片| 91麻豆精品在线观看| 26uuu亚洲婷婷狠狠天堂| 亚洲成人先锋电影| 99久久免费视频.com| 精品福利一区二区三区| 亚洲综合丁香婷婷六月香| 国产成人精品三级| 欧美精品一区二区在线播放| 亚洲3atv精品一区二区三区| 99久久婷婷国产精品综合| 久久久不卡网国产精品一区| 免费观看91视频大全| 欧美探花视频资源| 一级中文字幕一区二区| 99精品欧美一区二区三区综合在线| 欧美精品一区二区三区高清aⅴ| 天堂蜜桃一区二区三区| 在线观看视频一区二区欧美日韩| 一区二区三区免费网站| 国产成人一区在线| 久久久噜噜噜久久人人看| 久久99热这里只有精品| 日韩免费看的电影| 美美哒免费高清在线观看视频一区二区 | 欧美变态口味重另类| 免费在线观看成人| 日韩视频国产视频| 精品午夜一区二区三区在线观看 | 国产欧美一区二区精品性色超碰| 久久爱www久久做| 精品福利一区二区三区| 国产精品一二三四区| 欧美激情在线一区二区三区| av在线不卡观看免费观看| 亚洲色图一区二区三区| 在线国产亚洲欧美| 日本女优在线视频一区二区| 精品国产成人在线影院| 成人综合在线视频| 一区二区三区在线视频观看58| 在线视频你懂得一区| 日韩电影网1区2区| 久久久久久久免费视频了| av一区二区不卡| 亚洲国产精品视频| 久久伊人中文字幕| 99久久99久久久精品齐齐| 丝袜亚洲精品中文字幕一区| 精品国产一区二区精华| 成人精品鲁一区一区二区| 亚洲免费三区一区二区| 欧美一级生活片| 成人中文字幕合集| 午夜不卡av在线| 久久久www免费人成精品| 91豆麻精品91久久久久久| 美日韩一区二区三区| 国产精品午夜春色av| 欧美在线一区二区三区| 国产美女在线观看一区| 亚洲精品国产视频| 久久在线观看免费| 在线观看亚洲专区| 国产成人免费在线| 同产精品九九九| 国产精品美女www爽爽爽| 欧美日韩mp4| 99re热这里只有精品视频| 蜜桃视频在线一区| 1区2区3区国产精品| 精品卡一卡二卡三卡四在线| 91免费小视频| 国产精品资源网| 日本亚洲免费观看| 一区二区三区高清在线| 国产亚洲一区字幕| 日韩一级大片在线观看| 欧亚一区二区三区| 波多野结衣中文字幕一区| 久久99国产精品免费| 亚洲福利一区二区三区| 国产精品亲子伦对白| 久久久一区二区三区捆绑**| 欧美日韩大陆在线| 91伊人久久大香线蕉| 成人97人人超碰人人99| 成人午夜激情片| 国产一区二区成人久久免费影院| 日本人妖一区二区| 亚洲第一在线综合网站| 夜夜嗨av一区二区三区网页| 中文字幕一区av| 欧美激情一区在线| 欧美韩日一区二区三区四区| 欧美精品一区二区不卡| 日韩免费在线观看| 日韩一级免费一区| 欧美一级理论片| 精品免费视频.| 欧美zozozo| 久久女同精品一区二区| 久久―日本道色综合久久| 久久久久国产免费免费| 久久九九久久九九| 国产亚洲欧美激情| 欧美国产成人精品| 国产精品免费久久久久| 亚洲欧洲无码一区二区三区| 国产精品第一页第二页第三页| 国产精品亲子乱子伦xxxx裸| 国产精品久久久久久久午夜片| 久久久久9999亚洲精品| 国产精品美女久久久久久| 亚洲女同ⅹxx女同tv| 一区二区三区色| 日本三级韩国三级欧美三级| 紧缚捆绑精品一区二区| 国产91精品在线观看| 99久久精品情趣| 91久久国产综合久久| 91精品国产综合久久久久久漫画| 欧美一级二级三级蜜桃| 国产视频在线观看一区二区三区| 中文字幕精品一区| 一区二区三区加勒比av| 麻豆一区二区三| av成人免费在线| 欧美日韩国产高清一区二区三区| 欧美大片在线观看| 日韩美女啊v在线免费观看| 亚洲444eee在线观看| 国产精品一区二区x88av| 色av成人天堂桃色av| 欧美一区二区三区在| 国产精品久久久一本精品| 亚洲成av人影院| 国产精品一区二区你懂的| 欧美在线三级电影| 久久久青草青青国产亚洲免观| 亚洲人吸女人奶水| 精品一区二区精品| 欧美亚洲尤物久久| 国产色产综合色产在线视频| 亚洲午夜久久久久久久久电影网| 久久成人羞羞网站| 日本丶国产丶欧美色综合| 精品美女在线播放| 国产精品影视天天线| 欧美性受极品xxxx喷水| 国产亚洲精品aa午夜观看|