Tag: 分析

Java中是否有用于文本分析/挖掘的API?

我想知道是否有一个API在Java中进行文本分析。 可以提取文本中的所有单词,单独的单词,表达式等的东西。如果找到的单词是数字,日期,年份,名称,货币等,则可以通知。 我现在开始进行文本分析,所以我只需要一个API来启动。 我做了一个网络爬虫,现在我需要一些东西来分析下载的数据。 需要方法来计算页面中的单词数,类似的单词,数据类型和与文本相关的其他资源。 Java中是否有用于文本分析的API? 编辑:文本挖掘,我想挖掘文本。 提供此function的Java API。

在生产中分析Web应用程序的性能成本

我试图用大而复杂的tomcat java Web应用程序解决性能问题。 目前最大的问题是,内存使用量不时出现峰值,应用程序无响应。 我已经修复了我可以使用日志分析器和日志文件的贝叶斯分析修复的所有内容。 我正在考虑在生产tomcat服务器上运行一个分析器。 温和敏感度的读者注意事项: 我知道有些人可能会发现将生产应用程序分析为冒犯的概念。 请放心,我已经用尽了大部分其他选择。 我考虑这个的原因是我没有资源在我的测试服务器上完全复制我们的生产设置,并且我无法在我的测试服务器上引起感兴趣的失败。 问题: 我正在寻找能够在tomcat上运行的java Web应用程序的解决方案,或者以语言无关的方式回答这个问题。 分析的性能成本是多少? 在生产中远程连接和分析Web应用程序(奇怪的故障模式,安全问题等)是一个坏主意的任何其他原因? 分析对内存占用的影响有多大? 特别是那些具有非常低的性能成本的java分析工具? 用于分析Web应用程序的任何Java分析工具? 有没有人对使用visualVM进行性能分析的性能成本进行基准测试? visualVM可以扩展到什么尺寸的应用程序和数据集?

程序计数器Java程序的寄存器值

是否有可能获得正在运行的Java应用程序的程序计数器(PC)寄存器值,尤其是在Android模拟器中运行的应用程序? 例如,gprof随机采样PC寄存器值,以便找出哪个函数正在消耗程序的运行时间。 这样的概念对JVM有意义吗? 为了澄清,我想要程序计数器的实际值。 另外,有什么方法可以衡量代码在内存中“散布”的程度吗? 通过查看objdump返回的地址范围,可以在常规程序中对此进行测量。 但是,这种方法不处理共享库的地址,这也是我在JVM上下文中无法理解的概念。

Java调用图的静态分析

我想要做的是扫描一组Java类,并从抽象类的特定方法跟踪所有方法调用,并在该上下文中,构建执行某些操作的所有代码的列表(在这种情况下,实例化)某个类的实例)。 我想知道,行号和提供的参数。 我已经开始关注BCEL,但它似乎没有内置调用图形跟踪? 我犹豫要写自己的,因为获得重载,类型签名和多态分派权可能是棘手的。 我一半期望存在一个工具或示例代码,但我还没有找到任何东西。 我真的觉得我要重新发明一个轮子。 但是,如果我这样做将是一个开源轮,可在GitHub上使用;-) PS:你会发现现有的问题“ 如何生成Java调用图 ”,因为它听起来完全相同,但它根本不是我需要的。

如何在Android Google Analytics V4中获取clientId?

我想在Android中自动设置Analytics clientId。 (设置它在Android API文档中解释为setClientId() ) 当我尝试使用tracker.get(“clientId”)它返回空。 有人在想吗? 提前致谢!

为什么堆内存使用量和加载类的数量不断增加?

我正在使用JVM Explorer – 链接到JVM资源管理器 ,以分析我的Spring应用程序。 我有以下问题。 为什么即使在应用程序启动并且尚未收到任何请求后,“使用堆内存”仍在不断增加? (图1) 为什么即使在垃圾收集之后和收到任何请求之前’使用堆内存’仍在不断增加? (图像2) 为什么在垃圾收集之后,通过向应用程序发送一些请求来加载类的数量正在增加? 应用程序不应该使用以前的类吗? 为什么它只是增加几乎所有东西(堆,加载类的数量)? (图像3) 应用程序启动后 – 放大图像 单击“运行垃圾收集器”按钮后。 – 放大图像 在完成垃圾收集程序后向应用程序发送一些请求后 – 放大图像

用Java测量时间

所以我试图测量两个不同的算法实现完成给定任务所花费的时间,结果如下: i alg1 alg2 4 0.002 0.0 5 0.001 0.0 6 0.003 0.002 7 0.023 0.01 8 0.055 0.041 9 0.056 0.0 10 0.208 0.101 11 1.767 0.694 12 18.581 7.784 i只是一些输入参数。 我已经使用以下(幼稚)函数测量了算法的性能: private double getDuration() { return (double)(System.currentTimeMillis() – startTime) / (double)1000; } 获得更多真实结果(除了0.0,显然不是真的!)比使用System.currentTimeMillis()更好的方法是什么? 我知道我可以一遍又一遍地运行算法并总结他们的结果,但我有这种直觉,可能有一些更健壮的方法来测量Java中的传递时间(如果可能的话, real , user和sys !)。 谢谢

在Java VisualVM中看不到我自己的应用程序方法

我正在尝试描述我的java应用程序,只是为了找出花费大部分时间的方法。 鉴于TPTP的反应不佳,我想我会给Java VisualVM一个机会。 这一切似乎都很简单 – 除了我似乎无法从中得到任何一致或有用的东西。 我似乎无法看到任何与我自己的代码相关的内容 – 我得到的是对java。*方法等一大堆调用。 我已经尝试将检测限制在我自己的软件包中,这似乎减少了检测方法的数量,但我似乎还没有看到自己的方法。 每次运行时,我都会获得不同数量的方法,范围从10到1000。 我已经尝试在我的应用程序开始时进入睡眠状态,以确保在应用程序开始执行任何有趣操作之前启动并运行VisualVM,以确保在有趣的内容运行时进行分析。 我有什么必须做的,以确保我的课程得到检验吗? 有时间问题吗? .. like,必须等待类加载等? 我也试过两次运行代码的内容,以确保所有代码都得到了运行… 我刚从Eclipse运行一个带有main的应用程序。 我尝试使用Eclipse集成,以便VisualVM在启动应用程序时启动 – 结果是相同的。 我也尝试将应用程序导出为可运行的应用程序,并从命令行独立运行它,而不是通过Eclipse运行 – 结果相同。 我的应用程序不是一个长期运行的Web应用程序等 – 只是一个主要调用我自己的其他类来进行一些处理,然后退出。 对于我可能做错的任何建议,我将不胜感激! 🙂 谢谢 !

Android – 通过DDMS分析特定线程(UI线程)

我试图在某些条件下在我的应用程序中找到UI线程冻结的原因。 我通过DDMS分析运行了应用程序。 但是在底部的树表视图中,我看到所有线程都调用了所有方法,而我只想关注主线程。 有没有办法过滤DDMS中底层树表的方法列表,只包括所选线程的统计信息(在我的情况下是UI线程)? 一个子问题:那里有一些优秀的Android分析器吗?

Java桌面应用程序的内存分析

我的应用程序加载大约的数据集。 每次85bm到100mb。 应用程序的内存限制设置为512mb,从理论上讲,这已经足够了。 但是,我发现,如果在应用程序的单次运行中,我打开并关闭数据集5次,则总内存消耗会稳定增加,直到出现内存不足错误: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6882 bguiz 20 0 679m 206m 19m S 30 13.7 0:30.22 java 6882 bguiz 20 0 679m 259m 19m S 9 17.2 0:55.53 java 6882 bguiz 20 0 679m 301m 19m S 9 20.0 1:20.04 java 6882 bguiz 20 […]