分析是什么以及如何分析我的 Java 程序?

2023-12-02

我听说过很多关于剖析的事情。这是怎么回事?据我了解,这是某种绩效衡量,但有人可以更清楚地阐述这一点,以便新手能够掌握这个想法。另外,我将 Eclipse IDE 用于我的 Java 程序。我可以使用 Eclipse IDE 分析我的程序吗?分析时要考虑哪些因素(我的意思是最佳实践)?


分析基本上显示给定代码行的执行频率以及在其中花费的时间(与其他行相比)。这使得您可以轻松地查明代码大部分时间花费的位置。

它还可以找到您的代码花费大量时间而没有执行任何操作的地方:这是典型的标志缓存未命中这就是你应该活跃起来的地方。

通常,程序会在一个地方花费大量时间(例如 90%)。不幸的是,不进行分析就不可能找到这个地方。猜测常常会出错。因此,如果您在错误的地方进行优化,这根本没有帮助:如果该行花费的总时间仅为 10%,那么您的代码只会快 10%(最多!)。但是,如果您成功删除了占用 90% 时间的调用,您的程序将得到快十倍.

简而言之,这就是分析。

Eclipse 提供了内置的分析功能,有人告诉我它们非常好,但由于我不了解它们,所以让其他人来回答吧。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分析是什么以及如何分析我的 Java 程序? 的相关文章

  • 如何为 eclipse 添加更多语法元素

    我正在尝试添加更多语法元素Zend Studio为了日食 我想更改等号的颜色 但它没有列出 所以我可以更改它 您可能想投票给http bugs eclipse org 213992 http bugs eclipse org 213992因
  • egit:设置gitignore忽略所有eclipse项目文件

    我在 github 上有一个项目 我想从中删除所有与 eclipse 相关的文件 并允许克隆它的人使用他们想要的任何 ide 这是该项目 https github com vedi0boy Archipelo https github co
  • 除了前一个按钮意图之外,如何添加另一个按钮意图?

    这是我的代码 它包含一个名为的按钮button1A当我单击它时 它会打开一个名为的列表list1 如何为另一个名为 button2A 的按钮添加代码 该按钮将打开一个列表 List2 import android os Bundle imp
  • Eclipse 优化导入以包含静态成员和方法

    长期使用 eclipse 和 Java 我在 Eclipse 中发现的一个问题是 似乎没有一种简单的方法来导入静态成员和方法 即 jUnitfail 方法来自org junit Assert 我每天创建几个类 然后手动添加 import s
  • 如何为 eclipse PHP 调试设置正确的 URL

    我在使用非标准 URL 在 Eclipse 中设置 PHP 调试时遇到问题 我的应用程序的 URL 必须是http xxx index php http xxx index php 这是我无法轻易改变的 我在设置调试配置来调用此 URL 时
  • Eclipse 内容协助无法在枚举常量参数列表中工作

    使用 eclipse 当我输入以下内容时 public enum Foo A Integer private final Integer integer private Foo Integer integer this integer in
  • Android 模拟器问题

    当我启动模拟器时 我遇到很多问题 错误 HttpConnectionApp emulator 5554 disconnected Cancelling net paxcel http HttpConnectionApp activity l
  • 如何在 Windows Vista 命令提示符中检查端口 8080?

    我对编程和设置 Java 服务器非常陌生 其实这是我第一次尝试 但没有成功 我即将用 Java 测试我的第一个 Web 应用程序 但是每当我在 Eclipse 中单击 以调试模式启动服务器 按钮时 我总是收到有关 Tomcat 服务器的错误
  • 如何在 Eclipse 中获得完全限定的类名?

    有没有一种快速方法可以在 Eclipse 中单击 Java 类并获取其完全限定名称 或将其复制到剪贴板 2016年6月29日编辑 正如 Jeff 所指出的 您只需要执行以下第二步 1 Double click on the class na
  • Eclipse 在 Android SDK 内容加载器处挂起

    我已经在 OS X 10 8 2 上使用 Eclipse 4 2 Juno 版本 20120920 0800 几个星期了 为 Android 3 0 及更高版本构建应用程序 我有一台带 SSD 的四核 i7 MacBook Pro 因此性能
  • 无法在 Visual Studio 2012 中启动并发可视化工具。出现错误“无法启动 ETW 集合”

    当我尝试使用 Concurrency Visualzer 分析 WPF 应用程序时 尝试启动并附加到进程 弹出以下错误 无法启动 ETW 收集 ETW 显然意味着 Windows 事件跟踪 但我不明白为什么 VS 无法在分析会话期间启动它
  • Eclipse 在单独的窗口中打开代码

    我正在 eclipse 中编程 在两个显示器设置上运行 在其中一台显示器上 我只获得了项目资源管理器和编辑器作为自定义透视图 而在另一台显示器上 我获得了其他工具 例如控制台 调试 任务 变量 断点等 例如 当我单击任务视图中的任务时 这将
  • 如何从 Anaconda 更新 Pandas 以及最后是否可以使用 eclipse

    我已经使用以下文档通过 Anaconda 安装了 Python http www kevinsheppard com images 0 09 Python introduction pdf http www kevinsheppard co
  • 在java中打印阿拉伯字符串

    我试图在 java 中显示阿拉伯语文本 但它显示垃圾字符 示例 或有时在我打印时仅显示问号 我如何才能打印阿拉伯语 我听说它与unicode和UTF 8有关 这是我第一次使用语言 所以不知道 我正在使用 Eclipse Indigo IDE
  • 启动 AVD 时出现错误:“SDL 初始化失败,原因是:没有可用的视频设备”

    这简直要了我的命 每次我尝试在 Eclipse 中运行 Android 应用程序时 都会收到错误 2011 05 24 23 11 04 app Android Launch 2011 05 24 23 11 04 app adb is r
  • 需要 Java 源文件的依赖树

    我需要从大型遗留 Java 代码库中提取一些特定功能 以便将其转换为独立的命令行应用程序 这段代码根本没有文档记录 并且不是很模块化 甚至不是很清晰 所以我很难弄清楚我需要保留什么 基本上我需要的是一棵依赖关系树 列出了这个 java 文件
  • 将项目导入 Eclipse 后出现“必须重写超类方法”错误

    任何时候我必须将我的项目重新导入到 Eclipse 中 如果我重新安装了 Eclipse 或者更改了项目的位置 几乎全部我的重写方法的格式不正确 导致错误 该方法必须重写超类方法 值得注意的是 无论出于何种原因 Android 项目中方法参
  • Eclipse PTP:在本地计算机上运行并行(MPI)应用程序?

    必须如何配置 eclipse PTP 才能在本地计算机上使用 OpenMPI 运行 MPI 应用程序 使用 添加资源管理器 我可以选择 OpenMPI 并在 连接名称 中切换到本地主机 但仍然要求我提供一些用户名和密码 这是正确的方法吗 D
  • 为什么Eclipse不需要我配置JDK?

    我最近将 Eclipse 下载到 Windows 7 计算机上 该机器已经有 JRE 但我注意到它没有 JDK 我担心我必须下载 JDK 然后将 Eclipse 连接到它 当我能够在 Eclipse 中直接进行编码 编译和运行时 我感到 愉
  • Eclipse git checkout(又名恢复)

    是否可以做相当于git checkout在 Eclipse 中使用 Egit 插件 我有一个已修改的文件 我想放弃更改并将文件恢复到源存储库中的内容 在 Subversion 中 这称为恢复 在 git 中 相当于 checkout 我在团

随机推荐

  • 我想用Java获取格式化的日期

    我想买一个新的Date对象具有SimpleDateFormat应用于它 我想做这样的事情 SimpleDateFormat myFormat new SimpleDateFormat dd MMM yyyy kkmm Date today
  • 打开 renderDataTable 中的行名称

    我正在 Shiny 中显示一个表格并想要使用渲染数据表但它没有显示对我来说很重要的行名称 渲染表显示行名称很好 但看起来不太好 I have output tab lt renderDataTable tabplot 并尝试过 output
  • 内核中的native_write_msr是做什么的?

    我有一个 python 脚本 一开始有时会很慢 我跑了perf top前几天我看到的只是 PerfTop 2 irqs sec kernel 100 0 exact 0 0 4000Hz cycles target pid 1234 100
  • 64 位 ALU 输出在 TestBench 波上显示高阻抗

    我必须制作一个 64 位 ALU 它接受 A 和 B 64 位输入 进位输入输入并输出 64 位结果以及 1 位进位输出 还有一个 5 位功能选择 FS 其中 FS 0 控制 B 是否反转 使用 2to1 多路复用器 F 1 对 A 执行相
  • Java GUI 应用程序控制器中的 ActionListener 是个好主意吗?

    我不想遵循 MVC 模式 在互联网上 我看到最著名的例子是计算器 例如here 我开始使用MVC模式的这种实现 但现在我对控制器中的动作侦听器有一些疑问 因为它们倾向于移动到视图 主要原因是有很多与视图相关的变化 字体 颜色 边框等 此外还
  • 使用中心插件将 jQuery 中心元素置于视口

    我目前正在使用 jQuery center 插件来居中我的 div 元素 到目前为止 它的工作范围已经达到了将其居中到包含父容器的位置 我想要它做的是将其居中到当前浏览器视口中心 那怎么办呢 我的设置是一个简单的链接 单击时会弹出一个 di
  • 在 Spring Boot 项目中启用 Multimap 的 json 序列化

    我想在 Spring Boot 应用程序中序列化一些 google guava Multimap public class SomeDTO JsonProperty Multimap
  • 错误 - ListenerManager 无法初始化 httpstransport 侦听器 - WSO2

    我启动了 WSO2 API Manager 1 8 的新副本 但无缘无故地出现以下错误 ERROR ListenerManager Couldn t initialize the httpstransport listener 我怎样才能解
  • 如何使表单(html、jsp)中的文本字段仅接受 dd/mm/yyyy 格式而不单击提交按钮

    我在 jsp 表单页面中有一个字段 它接受 起始日期 和 截止日期 现在我知道了可用于使用提交按钮验证这一点的脚本代码 但我的字段目前接受任何形式的 10 个字符 例如 28 07 2000 或 2807 2 00 它接受数字和任意数量的
  • 将 LINQ 结果送入 DataROW

    这有效 var Result from e in actual Elements select new Key e Key ValueNumber e Value ValueNumber ValueString e Value ValueS
  • 是否有支持默认属性值的 XML Schema 验证库?

    如果我读到默认属性值的 XML 模式规范正确的是 验证过程实际上应该更改 DOM 以填充默认值 default 指定该属性无条件出现在 模式验证后信息集中 这是对规范的正确解读吗 更重要的是 是否有任何库 Java C Python 等 支
  • 如何使用 __doPostBack()

    我正在尝试使用 ASP NET 创建异步回发 doPostBack 但我不知道该怎么做 我想使用普通 JavaScript 像单击按钮这样简单的事情可能会导致 doPostBack 触发事件 我只是想了解这个机制是如何运作的 您可以在 We
  • 将数据帧索引转换为日期时间

    如何将 pandas 字符串索引转换为日期时间格式 我的数据框df是这样的 value 2015 09 25 00 46 71 925000 2015 09 25 00 47 71 625000 2015 09 25 00 48 71 33
  • XmlTypeAttribute 仅适用于类中的属性

    我正在尝试使用 webservice 将其解析为 XML System Xml Serialization XmlTypeAttribute Namespace http www xx com zz Domain Public class
  • 如何在 FastAPI 中使用带有表单数据的 Pydantic 模型?

    我正在尝试从 HTML 表单提交数据并使用 Pydantic 模型对其进行验证 使用此代码 from fastapi import FastAPI Form from pydantic import BaseModel from starl
  • ggmap 400 错误请求

    我以前用过这个 而且一直有效 library ggmap newmap2 lt get openstreetmap bbox c left 71 2612362452596 bottom 42 3308503846824 right 71
  • 如何使Google电子表格的所有工作表在左上角显示A1?

    我有一个 72 页的 Google 电子表格 我正在尝试重置每个工作表 以便当您单击其选项卡时 它会在左上角显示 A1 也就是说 如果向下滚动一张工作表以致您看不到 A1 我希望它向后滚动以便您可以看到 我已经尝试过以下谷歌脚本 但没有任何
  • 创建独立的jar文件

    我已经建立了一个jar使用 Netbeans 创建文件 它在我的系统中运行良好 但我想做jar能够在所有具有 JRE 的系统中运行的文件 即使是classpath没有在该系统中设置 package circle import java aw
  • 使用静态成员变量时出现链接器错误

    我已经在这里浏览了与静态成员变量相关的所有线程 但不幸的是这无法帮助我找出原因 这就是问题 定义一个类名dvd db 包括以下成员 数据成员 DVD 名称 私有字符数组 大小 10 价格 私有双变量 数量 私有 int 变量 一个私有静态
  • 分析是什么以及如何分析我的 Java 程序?

    我听说过很多关于剖析的事情 这是怎么回事 据我了解 这是某种绩效衡量 但有人可以更清楚地阐述这一点 以便新手能够掌握这个想法 另外 我将 Eclipse IDE 用于我的 Java 程序 我可以使用 Eclipse IDE 分析我的程序吗