JProfiler13.0破解版位用户带来了妥善的Java分析解决方案,JProfiler是在JVM上分析应用程序的首选。它旨在帮助用户更加方便快捷的进行JAVA操作。拥有简单的操作和强大的功能。它的配置会话非常简单,第三方集成使得入门变得轻而易举,并且以自然的方式呈现数据分析。在所有级别上,JProfiler都经过精心设计,可帮助您开始解决问题。JVM概要分析器实现为本机库,可在启动时或稍后的某个时刻加载。要在启动时加载它,请将VM参数-agentpath:<本机库的路径>添加到命令行。您很少需要手动添加此参数,因为JProfiler会为您添加该参数,例如在IDE集成,集成向导或直接启动JVM时。但是,重要的是要知道这是启用性能分析的原因。如果JVM成功加载本机库,它会调用库中的特殊函数,以使分析代理有机会初始化自身。然后,JProfiler将打印一些前缀为JProfiler的诊断消息,因此您知道分析是活动的。最重要的是,如果传递-agentpath VM参数,则成功加载概要分析代理或JVM无法启动。加载后,分析代理会要求JVMTI通知各种事件,例如线程创建或类加载。其中一些事件直接提供分析数据。使用类加载事件,分析代理在加载类时对类进行检测,并插入自己的字节码以执行其测量。JProfiler可以通过使用JProfiler UI或bin / jpenable命令行工具将代理加载到已经运行的JVM中。在这种情况下,可能必须重新转换大量已经加载的类以便应用所需的检测。JProfiler代理仅收集分析数据。 JProfiler UI单独启动,并通过套接字连接到配置文件代理。这意味着,如果已分析的JVM在本地计算机或远程计算机上运行,则实际上无关紧要。概要分析代理和JProfiler UI之间的通信机制始终相同。JProfiler提供对线程及其各种锁定情况的深入了解。许多性能问题发生在更高的语义级别上。例如,对于JDBC调用,您可能想要找出哪个SQL语句最慢。对于这样的子系统,JProfiler提供了将特定有效负载附加到调用树的“探测器”。JProfiler的UI作为桌面应用程序提供。您可以在不使用UI的情况下自动分析实时JVM或配置文件。分析数据保存在可以使用JProfiler UI打开的快照中。此外,命令行工具和构建工具集成可帮助您自动执行分析会话。本次小编带来最新破解版,含注册机,可生成有效的注册码以激活软件,有需要的朋友不要错过了!
安装破解教程
1、下载并解压,得到jprofiler_windows-x64_13_0.exe和32位安装程序和KeyGen.exe注册机
2、双击jprofiler_windows-x64_13_0.exe运行,如图所示,选择自定义安装
3、勾选我接受许可证协议条款,点击next
4、选择软件安装路径,点击next,中间的话会出现界面,有Yes,I would like to evaluate or enter my license information 和No,I just want to install如果勾选第一个的话,直接通过注册机生产序列号破解版,小编勾选的是No,I just want to install只安装选项,这个可随意选择,破解方法是一样的
5、安装完成,退出向导
6、运行软件和注册机,勾选enter license key 选项
7、在注册机中输入用户名shandian,用户名不要有中文,点击generate生成按钮
8、将注册机中的注册序列号复制到软件中,如图所示,点击ok
9、注册成功, 进入软件主界面
软件特色
1、非常易于使用
在配置文件时,您需要最强大的工具。同时,您不想花时间学习如何使用该工具。JProfiler就是这样:简单而强大的同时。配置会话非常简单,第三方集成使得入门变得轻而易举,并且以自然的方式呈现数据分析。在所有级别上,JProfiler都经过精心设计,可帮助您开始解决问题。
2、JDBC,JPA和NOSQL的数据库分析
数据库调用是业务应用程序中性能问题的主要原因。JProfiler的JDBC和JPA / Hibernate探针以及MongoDB,Cassandra和HBase的NoSQL探测器显示了数据库访问速度慢的原因以及代码调用语句的速度。从JDBC时间轴视图向您显示所有JDBC连接及其活动,通过热点视图向您显示各种遥测视图的慢速语句和单个事件列表,数据库探测是深入了解数据库层的重要工具。
3、对JAVA ENTERPRISE EDITION的出色支持
在JProfiler的大多数视图中都存在对JEE的专用支持。例如,在JEE聚合级别中,您可以根据应用程序中的JEE组件查看调用树。此外,为每个请求URI分割调用树。此外,JProfiler在低级别性能分析数据之上添加了语义层,例如在CPU性能分析视图中显示的JDBC,JPA / Hibernate,JMS和JNDI调用。凭借其JEE支持,JProfiler弥补了代码分析器和高级JEE监视工具之间的差距。
4、更高级别的分析数据
JProfiler有许多探测器,可以显示来自JRE中有趣子系统的更高级别的数据。除了JDBC,JPA / Hibernate,JSP / Servlets,JMS,Web服务和JNDI等Java EE子系统之外,JProfiler还提供有关RMI调用,文件,套接字和进程的高级信息。这些探针中的每一个都有自己的一组有用的视图,可以为您提供一般的洞察力,突出性能问题,并允许您跟踪单个事件。而且,所有这些视图也可用于您自己的自定义探针,您可以在JProfiler中即时配置。
5、内存泄漏的恒星分析
没有合适的工具,找不到内存泄漏是不可能的。JProfiler的堆walker为您提供了一个直观的界面来解决简单和复杂的内存问题。5个不同的视图和大量检查显示了当前对象集的不同方面。每个视图都为您提供有关所选对象的基本见解,并允许您切换到不同的对象集。只需单击鼠标即可回答诸如为什么对象不是垃圾回收的问题。
6、广泛的QA功能
JProfiler非常适合作为QA工具,无论是在开发期间还是在专门的QA团队中。快照比较的丰富功能可以轻松跟踪进度。JProfiler对命令行操作有很强的支持。这包括分析,导出快照数据和从命令行创建快照比较的功能。与JProfiler捆绑在一起的ant任务允许您从构建脚本执行所有命令行操作。
7、对平台,IDE和应用程序服务器的最广泛支持
JProfiler集成到您的环境中:我们为各种平台提供本机代理库 ,包括32位和64位JVM。集成到 所有流行的IDE中, 使开发过程中的分析与运行应用程序一样简单。市场上几乎所有应用服务器的大量集成向导确保您只需点击几下即可开始使用,而不是阅读文档。
8、低开销
JProfiler仅在您需要时记录数据。实际上,您可以使用JProfiler代理启动应用程序,并在以后附加JProfiler GUI。如果不记录任何数据,则开销非常小。这就是我们所说的需求分析。总是有一些你可以在高级探查器中调整的东西。JProfiler向您显示分析设置将如何影响性能,并为您提供模板以快速选择常见用例的分析设置。
9、功能强大的CPU分析器
修复性能瓶颈是分析器最常用的用例。但是,CPU数据的详细程度可能非常高,而且收集数据的方式可能会对可用性产生巨大影响。使用JProfiler,在尝试找出问题的原因时,您具有决定性的优势。调用树视图过滤器,聚合级别和线程状态选择器只是JProfiler在该领域的多功能性的一些示例。
10、集成的线程分析器
与线程相关的问题比人们想象的要频繁得多。没有线程分析器,您只有最小的机会来解决这些问题。使用JProfiler时可以解决一系列其他不透明的问题,例如在使用过多锁定的多线程应用程序中增加活跃度。线程分析不仅在JProfiler中有一个单独的视图部分,它还紧密集成到CPU分析视图中。
软件功能
一、JProfiler支持以下操作模式:
1、实时分析本地会话
一旦定义了应用程序的启动方式,JProfiler就可以对其进行概要分析,并立即从配置的JVM中查看实时数据。为了消除对会话配置的需要,您可以使用 众多IDE插件中的一个来从您喜欢的IDE中分析应用程序。
2、实时分析远程会话
通过修改java start命令的VM参数,您可以让任何Java应用程序从JProfiler GUI中侦听连接。配置文件应用程序不仅可以在本地计算机上运行,JProfiler还可以通过网络连接到配置文件应用程序。此外,JProfiler 为所有流行的应用程序服务器提供了 大量的集成向导,可帮助您设置应用程序以进行性能分析。
3、脱机分析和触发器
您不必将JProfiler GUI连接到配置文件应用程序以对其进行分析:使用 离线分析, 您可以使用JProfiler强大的触发系统或JProfiler API来控制分析代理并将快照保存到磁盘。稍后您可以在JProfiler GUI中打开这些快照,或使用命令行导出工具或导出ant任务以编程方式导出概要分析视图。
4、快照比较
在JProfiler中,您可以将所有当前性能分析数据的快照保存到磁盘。JProfiler提供了丰富的比较工具,可以查看两个或更多快照之间发生了哪些变化。或者,您可以使用命令行比较工具或比较ant任务以编程方式创建比较报告。
5、查看HPROF快照
JProfiler可以打开已使用jVMsole或jmap等JVM工具或由-XX:+ HeapDumpOnOutOfMemoryError JVM参数触发的HPROF快照。
6、请求跟踪
凭借创新的请求跟踪概念,JProfiler可以更轻松地分析并行和多线程编程。请求跟踪通过调用树视图中的超链接将呼叫站点与不同线程之间的执行站点连接起来。可以跟踪以下多线程系统:
来自java.util.concurrent包的执行程序
Kotlin协同程序
AWT活动
SWT活动
线程开始
此外,如果在JProfiler中分析和打开两个JVM,JProfiler可以跟踪跨JVM边界的调用。可以跟踪以下远程呼叫。
HTTP请求
RMI打电话
Web服务调用
远程EJB调用
轻松创建自定义探针
JProfiler提供了一个自定义探针向导,允许您直接在JProfiler GUI中定义自定义探针。您的自定义探针由JProfiler部署到配置文件应用程序,您甚至不必在更改或添加自定义探针时重新启动配置文件应用程序。
二、JProfiler中概要分析视图的高级概述:
1、内存分析
JProfiler的内存视图部分提供有关内存使用情况的动态更新视图,以及显示有关分配点的信息的视图。所有视图都有多个聚合级别,可以显示实时和垃圾回收对象
2、所有对象
显示堆上所有对象的类或包,包含实例计数和大小信息。您可以标记当前值并显示差异。
3、录制的对象
显示所有记录对象的类或包。您可以标记当前值并显示差异。
4、分配调用树
显示一个调用树或方法,类,包或Java EE组件,其中包含所选类的带注释的分配。
5、分配热点
显示分配所选类的方法,类,包或Java EE组件的列表。您可以标记当前值并显示差异。可以为每个热点显示回溯树。
6、类跟踪器
显示一个时间线,其中包含所选类的实例计数图。
三、walker
在JProfiler的堆walker中,您可以通过执行选择步骤获取堆的快照并深入查看感兴趣的对象。堆walker有五个视图:
1、类
显示所有类及其实例。
2、分配
显示记录对象的分配树和分配热点。
3、最大的对象
显示阻止堆的最大部分被垃圾收集的对象。可以扩展支配树以显示这些保留的对象。
4、参考
显示具有原始数据的单个对象的传出引用和带有“显示垃圾收集器根路径”功能的传入引用。还提供传入和传出引用的累积视图。在传出引用视图中,您可以应用筛选器。有两种不同的过滤器类型:按原始值过滤和使用脚本过滤。
5、数据
显示单个对象的实例和类数据。
6、时间
显示记录对象的时间分辨直方图。
7、检查
在检查视图中,您可以对当前对象集运行多个检查,以便以各种方式分析对象。
8、图形
在图中,您可以添加来自不同对象集的对象,并通过打开传入和传出引用,查找所选对象之间的路径以及显示垃圾收集器根的路径来探索它们之间的关系。
四、CPU分析
JProfiler提供了各种记录调用树的方法,以优化性能或细节。可以为所有视图选择线程或线程组以及线程状态。可以在方法,类,包或Java EE组件级别上聚合所有视图。CPU视图部分包含:
1、呼叫树
显示JVM中所有已记录调用序列的累积自上而下的树。JDBC,JMS和JNDI服务调用被注释到调用树中。可以将调用树拆分为不同的请求URL到servlet或JSP。您可以标记“异常方法运行记录”的方法,并分别查看最慢的调用。通过请求跟踪,您可以将呼叫站点连接到多线程应用程序中的执行站点。
2、热点
显示最耗时的方法列表。可以为每个热点显示回溯树。
3、调用图
显示从所选方法,类,包或Java EE组件开始的调用序列图。
4、方法统计
显示有关所有方法的呼叫时间分布的统计信息以及可用于发现异常值的呼叫时间分布图。
5、呼叫追踪器
显示按线程,包和类分组的方法调用的记录时间顺序跟踪。
五、线程分析
对于线程分析,JProfiler提供以下视图:
1、线程历史
显示具有线程活动和线程状态的时间线。
2、线程监视器
显示所有活动线程及其当前活动的列表。
3、线程转储
您可以在线程转储视图中进行多个线程转储并对其进行分析。
六、监控分析
对于监视器分析,JProfiler提供以下视图:
1、当前锁定图
显示JVM中所有等待和阻塞情况的图表。
2、电流监视器
显示当前使用的监视器及其关联的线程。
3、锁定历史图表
以图形形式显示记录的等待和阻止情况的历史记录。
4、监控历史记录
显示记录的等待和阻止事件的历史记录。
5、监控使用情况统计
显示按监视器,线程和监视器类分组的监视器的统计信息。
七、 VM遥测
为了观察JVM的内部状态,JProfiler提供了各种遥测视图:
1、堆
显示一个时间线,其中包含已使用堆和堆大小的图形。
2、录制的对象
显示一个时间线,其中包含已记录的活动对象和数组的图形。
3、记录的吞吐量
显示时间线,其中包含已记录对象的对象创建和垃圾回收率的图表。
4、GC活动
显示带有垃圾收集器活动图表的时间线。
5、类
显示带有已加载类图的时间线。
6、主题
显示带有活动线程图的时间线。
7、CPU负载
显示时间线,其中包含已配置应用程序生成的CPU负载的图表。
八、数据库
JProfiler支持以下数据库的特定探测:
JDBC
JPA /休眠
MongoDB的
卡桑德拉
HBase的
九、JEE和探针
JProfiler提供探针:
JDBC
JPA /休眠
JMS
JNDI
RMI
网页服务
Servlet的
档
套接字
流程
探针显示以下信息:
1、时间线
在时间线视图中,探针将其控制对象显示为沿时间轴的彩色条。控件对象是与单个探测事件关联的长寿命对象。例如,在JDBC探针中,控制对象是数据库连接。时间线条上的颜色对应于控制对象可以处于的不同状态。
2、控制对象
有关控制对象的表格详细信息显示在控制对象视图中。它显示有关控制对象的更多详细信息以及记录事件的统计信息,例如文件I / O的总吞吐量。通过过滤器控件和底部的总线,您可以对控件对象的子集进行快速求和。某些探针在嵌套表中显示其他详细信息,您可以在其中打开一个对话框,以更详细地显示有趣的多行值。例如,进程的命令行参数可能非常长。
3、热点
在热点视图中,探针显示由执行时间排序的探测事件发布的有效负载名称的热点。例如,文件探针显示文件名,JDBC探针显示SQL字符串,JNDI探针显示查询。每个热点都可以扩展,以显示有助于热点的背景痕迹。
4、遥测数据
在遥测视图>中,您可以看到探测器发布的各种遥测。
5、活动
事件视图显示探测器记录的单个事件。事件具有线程和堆栈跟踪信息,您可以轻松跳转到关联的控制对象。同样,过滤器和总行允许您对所选事件求和。
使用教程
一、记录数据
分析器的主要目的是记录来自各种源的运行时数据,这些数据对解决常见问题很有用。此任务的主要问题是正在运行的JVM以极高的速率生成此类数据。如果探查器始终记录所有类型的数据,则会产生不可接受的开销或快速耗尽所有可用内存。此外,您经常希望记录特定用例的数据,而不是看到任何不相关的活动。
这就是为什么JProfiler提供了细粒度的机制来控制您实际感兴趣的信息记录。
1、标量值和遥测
从分析器的角度来看,最不成问题的数据形式是标量值,例如活动线程数或打开JDBC连接数。 JProfiler可以用固定的宏观频率(通常每秒一次)对这些值进行采样,并向您展示随时间的演变。在JProfiler中,显示此类数据的视图称为遥测。由于测量开销和内存消耗很小,因此大多数遥测都会被记录下来。如果长时间记录数据,则会合并较旧的数据点,以便内存消耗不会随时间线性增长。
还有参数化遥测,例如每个类的实例数。 额外的维度使永久的时间顺序记录不可持续。 您可以告诉JProfiler记录多个选定类的实例计数的遥测,但不记录每个类的实例计数。
要继续前面的示例,JProfiler能够显示所有类的实例计数,但没有按时间顺序排列的信息。 这是“所有对象”视图,它将每个类显示为表中的一行。 更新视图的频率低于每秒一次,并且可以根据测量引起的开销自动调整。 确定所有类的实例计数相对昂贵,并且堆上的对象越多,所需的时间就越长。 JProfiler限制“所有对象”视图的更新频率,以便在极端情况下测量的开销不会超过10%。 您可以冻结视图以暂时停止录制。 此外,如果视图未处于活动状态,则不会记录数据,也不会产生相关的开销。
一些测量捕获类似枚举的值,例如线程当前所处的执行状态。这种测量可以显示为彩色时间线,并且比数字遥测消耗更少的内存。 在线程状态的情况下,“线程历史记录”视图显示JVM中所有线程的时间线。 就像具有数值的遥测数据一样,旧的值被合并并变得更粗粒度以减少内存消耗。
2、分配录音
如果您对在特定时间间隔内分配的实例计数感兴趣,则JProfiler必须跟踪所有分配。与“所有对象”视图相反,JProfiler可以迭代堆中的所有对象以获取按需信息,跟踪单个分配要求必须为每个对象分配执行其他代码。这使得它成为一种非常昂贵的测量,可以显着改变配置应用程序的运行时特性,例如性能热点,尤其是在分配许多对象时。这就是必须明确启动和停止分配记录的原因。
具有关联记录的视图最初显示带有录制按钮的空白页面。工具栏中也可以找到相同的录制按钮。
分配记录不仅记录分配的实例数,还记录分配堆栈跟踪。在内存中保留每个已分配记录的堆栈跟踪会产生过多的开销,因此JProfiler会将记录的堆栈跟踪累积到树中。这也有一个优点,您可以更轻松地解释数据。但是,按时间顺序丢失,无法从数据中提取某些时间范围。
3、记忆分析
分配记录只能测量对象的分配位置,并且没有关于对象之间引用的信息。需要引用的任何内存分析(例如解决内存泄漏)都是在堆walker中完成的。堆walker获取整个堆的快照并对其进行分析。这是一种侵入性操作,可能会暂停JVM - 可能需要很长时间 - 并且需要大量内存。
更轻量级的操作是在启动用例之前标记堆上的所有对象,以便在以后获取堆快照时可以找到所有新分配的对象。
JVM具有一个特殊的触发器,用于将整个堆转储到以旧HPROF概要分析代理命名的文件中。这与分析界面无关,并且不在其约束下运行。因此,HPROF堆转储速度更快,使用的资源更少。缺点是在查看堆walker中的堆快照时,您将无法与JVM建立实时连接,并且某些功能不可用。
4、方法通话录音
测量方法调用的时间长度是可选记录,就像分配记录一样。方法调用累积到树中,并且存在各种视图,其显示来自不同视角的记录数据,例如调用图。这种数据的记录在JProfiler中称为“CPU记录”。
在特定情况下,查看方法调用的时间顺序可能很有用,尤其是涉及多个线程时。对于这些特殊情况,JProfiler提供“呼叫跟踪器”视图。该视图具有单独的记录类型,与更一般的CPU记录无关。请注意,调用跟踪器会产生太多数据,无法用于解决性能问题,它仅适用于特殊形式的调试。
另一种分析方法调用的视图是“方法统计”视图。它引入了另一个测量轴,并记录了每种方法的执行时间直方图。除非您有兴趣调查某些方法的执行时间是否存在异常值,否则您不需要此数据,并且其记录会产生不可接受的开销。因此,您需要在关联视图中打开方法统计信息的单独记录。
呼叫跟踪器和方法统计信息都依赖于CPU记录,并在必要时自动打开它。
另一个有自己记录的专业视图是“复杂性分析”。它仅测量所选方法的执行时间,不需要启用CPU记录。其附加数据轴是可以使用脚本计算的方法调用的算法复杂度的数值。通过这种方式,您可以测量方法的执行时间如何取决于其参数。
5、监控录音
要分析线程正在等待或阻塞的原因,必须记录相应的事件。这类事件的发生率差异很大。对于线程经常协调任务或共享公共资源的多线程程序,可能存在大量此类事件。这就是默认情况下不记录此类时间顺序数据的原因。
当您打开监视器录制时,“锁定历史记录图表”和“监视历史记录”视图将开始显示数据。
为消除噪音并减少内存消耗,不会记录非常短的事件。视图设置使您可以调整这些阈值。
6、探测录音
探针显示JVM中的更高级子系统,例如JDBC调用或文件操作。默认情况下,不记录探针,您可以为每个探针单独切换记录。有些探针会增加很少或没有开销,有些会产生大量数据,具体取决于您的应用程序正在做什么以及如何配置探针。
就像分配记录和方法呼叫记录一样,探测数据被累积,并且除了时间线和遥测之外,时间信息被丢弃。但是,大多数探测器还具有“事件”视图,允许您检查单个事件。这会增加潜在的大量开销并具有单独的记录操作。记录操作的状态是持久的,因此当您切换探测记录时,如果您之前已将其打开,则也会切换相关的事件记录。
JDBC探针具有记录JDBC连接泄漏的第三个记录操作。只有在您实际尝试调查此类问题时才会发生查找连接泄漏的相关开销。就像事件记录动作一样,泄漏记录动作的选择状态是持久的。
新功能
此版本增加了•支持附加到在 Kubernetes 集群中运行的 JVM
•支持附加到在 Windows 和 macOS 上的 Docker Desktop 中运行的 JVM
•支持附加到 OpenJ9 JVM
•改进的连接功能
•支持对 OpenWebStart 的分析
•堆步车最大物体视图的旭日图
•支持 Reactor Netty Web 客户端
•支持Spring Webflux HTTP客户端
•弹簧部件检测
•用于文档的深色模式
有关新功能和 bug 修复的更