草庐IT

Cucumber-JVM

全部标签

Grafana展示k8s中pod的jvm监控面板/actuator/prometheus

场景    为保障java服务正常运行,对服务的jvm进行监控,通过使用actuator组件监控jvm情况,使用prometheus对数据进行采集,并在Grafana展现。     基于k8s场景prometheus数据收集配置service的lable,便于prometheus使用lable进行数据采集,本案例使用prometheus=jvm为标签kubectleditservicelizz-test-server-nlizz#输出修改...apiVersion:v1kind:Servicemetadata:creationTimestamp:"2022-05-05T08:16:46Z"la

JVM导出内存映像(dump)文件

JVM导出内存映像(dump)文件什么是dump文件一般来说,使用jmap指令生成dump文件的操作算得上是最常用的jmap命令之一,将堆中所有存活对象导出至一个文件之中HeapDump又叫做堆存储文件,指一个Java进程在某个时间点的内存快照。HeapDump在触发内存快照的时候会保存此刻的信息如下:●All0bjectsClass,fields,primitivevaluesandreferences●AllClassesClassLoader,name,superclass,staticfields●GarbageCollectionRoots|objectsdefinedtoberea

objective-c - 在 Yosemite 上与 Frank 进行的 cucumber 测试导致段错误

我正在尝试让Frank/CucumberFramework使用XCode6.1在Yosemite上运行。我已按照有关如何安装和frankify项目的说明进行操作:gem安装frank-cucumberfrank设置(在项目文件夹中)坦率的构建正式发布只有最后一部分因段错误而失败:LAUNCHINGAPP...sh:line1:15828Trace/BPTtrap:5/Library/Ruby/Gems/2.0.0/gems/sim_launcher-0.4.13/lib/sim_launcher/../../native/ios-sim"showsdks"2>&1sh:line1:15

java - 大多数 JVM 是否为未使用的方法分配内存?

假设我们有以下类:classDoubleOhSeven{publicstaticvoiddoSomethingClassy();publicstaticvoidneverDoThisClassy();}classDude{publicvoiddoSomething();publicvoidneverDoThis();}publicclassParty{publicstaticvoidmain(String[]args){DoubleOhSeven.doSomething();Dudeguy=newDude;guy.doSomething();}}当然,所有的方法都会被编译成各自的.cl

java - Elasticsearch 安装 : Error missing 'server' JVM at . ..jvm.dll

按照此链接中的步骤下载elasticsearch并解压缩后:InstallElasticSearchonWindows我收到以下错误:Error:missing'server'JVMat'C:\ProgramFiles(x86)\Java\jre1.8.0_131\bin\server\jvm.dll'.PleaseinstallorusetheJREorJDKthatcontainsthesemissingcomponents.注意:我还必须按照resolution中的建议安装JDK8我应该更改.config文件中的某些内容吗?也许这条线?#forcetheserverVM(remo

java - 将 Launch4J 配置为仅使用 32 位 JVM

我正在使用Launch4J启动我的Java应用程序,如果系统上存在x64JRE,Launch4J似乎更喜欢它。不幸的是,我的应用程序无法在64位JVM上运行,因为我正在加载32位DLL,这是不可能的,并且会导致UnsatisfiedLinkError。有没有办法强制/欺骗Launch4J仅使用32位JVM? 最佳答案 我有完全相同的问题:进入64位环境,如果安装了32位和64位JDK/JRE,此工具始终检测64位版本。我已经修补了源代码(java+C++)来制作我自己的版本并重新编译所有。我添加了一个复选框以强制将32位JDK/JR

java - 如何以编程方式获取特定 JVM 实例的系统属性?

我希望获得为第三方java进程/JVM设置的系统属性。我需要以编程方式执行此操作。例如获取“java.class.path”属性。我该怎么做?我知道我们可以使用System.getProperty()获取我们编写的Java程序的属性。但是我需要获取第三方JVM的系统属性。我怎样才能得到相同的? 最佳答案 如果您所说的第三方JVM只是指另一个JVM,那么您应该尝试jinfo。这不适用于所有JVM实现,但很可能有它或类似的东西。jinfo将进程ID作为参数(或远程系统,请参阅manjinfo)。要查找进程ID,请使用jps或jps-v。

java - 在 Mac 上运行 Eclipse - 需要 JVM 版本 1.7 或更高版本

我下载了运行OSXMavericks的Mac版Eclipse(特别是用于C/C++编程的)。当我尝试启动Eclipse时,它​​显示以下消息:“JVM版本1.6.0_65不适合此产品。需要版本1.7或更高版本”,并且无法打开。我安装了Java版本7,但没有任何变化。我不知道如何更新JVM(我对Java不太了解)。如果重要的话,我为我的MacBookAir下载了64位版本。 最佳答案 只需安装JDK7或JDK8,而不仅仅是最新的JRE。 关于java-在Mac上运行Eclipse-需要JV

java - 附加到进程 : sun. jvm.hotspot.debugger.DebuggerException 时出错:无法打开二进制文件

当我使用jmap获取有关进程的堆信息时,出现如下错误:$jmap-heapprocess_idAttachingtoprocessIDprocess_id,pleasewait...Errorattachingtoprocess:sun.jvm.hotspot.debugger.DebuggerException:cannotopenbinaryfilesun.jvm.hotspot.debugger.DebuggerException:sun.jvm.hotspot.debugger.DebuggerException:cannotopenbinaryfile操作系统:Ubuntu1

java - 假设我知道我将在 x64 cpus 上运行,我可以忽略哪些 JVM 同步实践?

我知道JVM内存模型是为CPU的最低公分母设计的,因此它必须假设JVM可以在其上运行的cpu的最弱模型(例如ARM)。现在,考虑到x64具有相当强大的内存模型,假设我知道我的程序将仅在64位x86CPU上运行,我可以忽略哪些同步实践?当我的程序通过虚拟化运行时,这也适用吗?示例:众所周知,JVM的内存模型需要同步对long和double的读/写访问,但可以假设其他32位基元(如int、float等)的读/写是原子的。但是,如果我知道我在64位x86机器上运行,我是否可以忽略在longs/double上使用锁,因为我知道cpu将自动读/写64位值并且只是让它们保持volatile(就像我