• Java交互式分析器(杰普)一个较低的开销和高性能分析器,这是完全写。

    杰普给开发人员的能力,将探查和关闭而虚拟机运行。 你也可以筛选出的类和包装以及控制输出。

    这里是一些关键特征"Java交互式分析器":

    ■互动。 hprof不是一个交互式分析器。 它开始时,程序的开始和结束时JVM退出。 在许多情况下,这不会给你一个真正的测量的绩效以来的正是时候编译器没有编码的第一次通过。 此外,这种类型的分析器是不使用在所有的网络应用程序,因为你结束了分析网的容器以及网络应用程序。 杰普,另一方面,允许你打开探查和关闭而JVM运行。

    ■没有母代码。 大多数分析器有一些司机组成部分。 这是因为大多数分析器使用的JVMPI(Java虚拟机分析的接口),其中要求使用的司机组成。 杰普的,然而是纯粹的Java。 它利用的Java5™功能,它可以让你挂钩的类装入器。 杰普增加方面的每一个方法每一类要轮廓。 这些方面允许它捕获业绩的数据。

    ■非常低的开销。 大多数分析器都非常缓慢。 在许多情况下hprof将导致运行的程序的20倍的速度较慢。 杰普,另一方面,是重量轻。 VM与分析导有关的两倍缓慢,作为一个没有分析器。 当探查是关闭的,有的是几乎没有相关的开销用杰普的。

    ■表现的时间安排。 杰普收集业绩数据。 你不能使用最多的分析器来做计时应用程序。 hprof,例如,将向你展示的相对数量时间花在不同部分代码,但hprof有这么多的开销,你不能用它来获得真实世界的时测量。 杰普,另一方面,实际上轨道数额的时间用于收集业绩数据和因素时间的分析。 这可以让你得到接近于现实世界中的时间为每课在你的代码。 因此,没有需要垃圾你的代码系统。currentTimeMillis()!

    ■过滤器通过封装/类名称。 一个恼人的事情hprof是没有的方式筛选出类类别或包名。 杰普允许你这样做只是(更多的信息,看看档案。性文件)。 这并不是说,执行时间不包括在内。 它包括,但只能被看到在执行时间调用的程序。

  • जावा इंटरैक्टिव प्रोफाइलर (JIP) एक कम भूमि के ऊपर और उच्च प्रदर्शन प्रोफाइलर लिखा है कि जावा में पूरी तरह से है ।

    JIP देता है डेवलपर बारी करने की क्षमता प्रोफाइलर पर और बंद है, जबकि VM चल रहा है. आप भी कर सकते हैं बाहर फिल्टर वर्गों और संकुल के रूप में अच्छी तरह के रूप में उत्पादन नियंत्रण.

    यहाँ कुछ प्रमुख विशेषताएं हैं की "जावा इंटरैक्टिव Profiler":

    ■ अन्तरक्रियाशीलता है । hprof नहीं है एक इंटरैक्टिव प्रोफाइलर है. यह शुरू होता है जब अपने कार्यक्रम शुरू होता है और समाप्त होता है जब जेवीएम से बाहर निकालता है । कई मामलों में यह दे नहीं करता आप एक सही उपाय के प्रदर्शन के बाद से बस में समय संकलक नहीं है, संकलित कोड पर पहले से गुजारें. इसके अलावा, इस प्रकार के profiler नहीं है useable में सब पर वेब अनुप्रयोगों के बाद आप अंत रूपरेखा वेब कंटेनर के रूप में अच्छी तरह के रूप में वेब अनुप्रयोग है । JIP, दूसरे हाथ पर, आप की अनुमति देता है बारी करने के लिए profiler पर और बंद है, जबकि जेवीएम चल रहा है.

    ■ कोई देशी कोड । सबसे प्रोफाइलर के कुछ मूल घटक है । यह है क्योंकि ज्यादातर प्रोफाइलर का प्रयोग करें JVMPI (जावा वर्चुअल मशीन की रूपरेखा इंटरफेस) की आवश्यकता है, जो के उपयोग के मूल घटक हैं । JIP, हालांकि, शुद्ध जावा. इसे का लाभ लेता है Java5™ सुविधा की अनुमति देता है जो करने के लिए आप हुक classloader. JIP कहते हैं पहलुओं के लिए हर विधि के हर वर्ग के लिए चाहते हैं कि प्रोफ़ाइल की पहुंच है. इन पहलुओं की अनुमति यह पर कब्जा करने के लिए प्रदर्शन डेटा ।

    ■ बहुत कम भूमि के ऊपर है । सबसे profilers कर रहे हैं बहुत धीमी गति से. कई मामलों में hprof का कारण होगा करने के लिए एक कार्यक्रम चलाने के लिए 20 गुना धीमी है । JIP, दूसरे हाथ पर, हल्के है । एक VM के साथ रूपरेखा पर बदल गया है के बारे में दो बार के रूप में धीमी गति के रूप में एक के बिना एक profiler. जब profiler बंद कर दिया है, वहाँ लगभग कोई भूमि के ऊपर के साथ जुड़े का उपयोग कर JIP.

    ■ प्रदर्शन का समय है. JIP बटोरता प्रदर्शन डेटा । आप का उपयोग नहीं कर सकते सबसे profilers करने के लिए समय के अपने आवेदन. hprof, उदाहरण के लिए, आप के रूप में रिश्तेदार समय की राशि है कि खर्च किया जाता है के विभिन्न भागों में अपने कोड, लेकिन hprof इतना है भूमि के ऊपर है, कि आप का उपयोग नहीं कर सकते प्राप्त करने के लिए यह असली दुनिया समय माप. JIP, दूसरे हाथ पर, वास्तव में पटरियों समय की राशि इकट्ठा करने के लिए इस्तेमाल प्रदर्शन डेटा और कारक है कि समय के बाहर के अपने विश्लेषण है । यह अनुमति देता है आप करने के लिए करीब प्राप्त करने के लिए असली दुनिया समय के हर वर्ग के लिए अपने कोड में. वहाँ है तो कोई ज़रूरत नहीं है अपने कोड कूड़े के लिए प्रणाली.currentTimeMillis()!

    ■ द्वारा फिल्टर पैकेज/वर्ग के नाम है । एक कष्टप्रद चीजों के बारे में hprof है कि वहाँ कोई रास्ता नहीं है बाहर फिल्टर करने के लिए वर्ग से वर्ग या पैकेज के नाम से । JIP आप की अनुमति देता है कि बस करने के लिए (अधिक जानकारी के लिए, देखो प्रोफ़ाइल की पहुंच है.गुण फ़ाइल). इस में कहने के लिए नहीं है कि निष्पादन के समय शामिल नहीं है. यह शामिल है, लेकिन कर सकते हैं केवल में देखा जा सकता है के निष्पादन के समय बुला दिनचर्या है ।

  • Java Interactive Profiler (JIP) is a low overhead and high performance profiler that is written entirely in Java.

    JIP gives the developer the ability to turn the profiler on and off while the VM is running. You can also filter out classes and packages as well as control the output.

    Here are some key features of "Java Interactive Profiler":

    ■ Interactivity. hprof is not an interactive profiler. It starts when your program starts and ends when the JVM exits. In many cases this doesn't give you a true measure of performance since the Just In Time compiler doesn't compile code on the first pass. In addition, this type of profiler is not useable at all in web applications since you end up profiling the web container as well as the web application. JIP, on the other hand, allows you to turn the profiler on and off while the JVM is running.

    ■ No native code. Most profilers have some native component. This is because most profilers use the JVMPI (Java Virtual Machine Profiling Interface) which requires the use of native components. JIP, however, is pure Java. It takes advantage of the Java5™ feature which allows you to hook the classloader. JIP adds aspects to every method of every class that you want to profile. These aspects allow it to capture performance data.

    ■ Very low overhead. Most profilers are very slow. In many cases hprof will cause a program to run 20 times slower. JIP, on the other hand, is lightweight. A VM with profiling turned on is about twice as slow as one without a profiler. When the profiler is turned off, there is almost no overhead associated with using JIP.

    ■ Performance Timings. JIP gathers performance data. You cannot use most profilers to do timings of your application. hprof, for example, will show you the relative amount of time that is spent in different parts of your code, but hprof has so much overhead, that you cannot use it to get real world timing measurements. JIP, on the other hand, actually tracks the amount of time used to gather performance data and factors that time out of its analysis. This allows you to get close to real world timings for every class in your code. So there is no need to litter your code with System.currentTimeMillis()!

    ■ Filters by package/class name. One of the annoying things about hprof is that there is no way to filter out classes by class or package name. JIP allows you to do just that (for more information, look at the profile.properties file). This in not to say that the execution time is not included. It is included but can only be seen in the execution time of the calling routine.