标签: jvm

如何在JVM中查看JIT编译的代码?

有没有办法在JVM中看到JIT生成的本机代码?

java assembly jit jvm

77
推荐指数
5
解决办法
2万
查看次数

获取正在运行的JVM的参数

有没有办法获取正在运行的JVM的参数?是否有像jstat这样的命令行工具,它将JVM的pid作为输入并返回其起始参数?我对启动JVM时给出的-Xmx和-Xms值特别感兴趣.谢谢.

编辑:澄清我的约束.我们要检查的JVM正在生产服务器上运行.这就是为什么,我们更喜欢最小的破坏.我们可以使用jstat监视JVM,因此我们希望有一个类似的简单解决方案来访问参数.

编辑:我们还尝试使用jvisualvm获取参数.但为了连接到远程的JVM,我们需要运行jstatd和修改JVM,我们发现是非常具有破坏性和危险的生产服务器上的安全设置.

java jvm

76
推荐指数
8
解决办法
10万
查看次数

JVM是编译器还是解释器?

我有一个关于JVM的基本问题:它是编译器还是解释器?

如果它是一个解释器,那么JVM中存在的JIT编译器呢?
如果不是,那么JVM究竟是什么?(我不想要将字节码转换为机器特定代码等的jVM的基本定义)

java jvm

76
推荐指数
5
解决办法
7万
查看次数

运行jmap获取无法打开套接字文件

我必须运行jmap才能获取我的进程的堆转储.但jvm回来了:

Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding
Run Code Online (Sandbox Code Playgroud)

所以我使用了-F:

./jmap -F -dump:format=b,file=heap.bin 10330
Attaching to process ID 10331, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.51-b03
Dumping heap to heap.bin ...
Run Code Online (Sandbox Code Playgroud)
  1. 使用-F 是可以进行堆转储吗?
  2. 我等了20分钟还没完呢.有什么想法吗?

java linux jvm jvm-hotspot

76
推荐指数
4
解决办法
5万
查看次数

如何使用多个Java代理启动Java程序?

我知道如何使用java代理启动java程序:

java -javaagent:myAgent.jar MyJavaProgram
Run Code Online (Sandbox Code Playgroud)

但是,如果我想添加2个或更多java代理程序来检测我的程序呢?我不想重新调用java -javaagent:...我必须在JVM中加载每个代理.

我尝试过这样的事情:

java -javaagent:agentA.jar, agentB.jar MyJavaProgram
Run Code Online (Sandbox Code Playgroud)

或类似的东西:

java -javaagent:agentA.jar agentB.jar MyJavaProgram
Run Code Online (Sandbox Code Playgroud)

但没有成功.

有没有解决我的问题的答案?

谢谢.

jvm javaagents

75
推荐指数
2
解决办法
4万
查看次数

Android Studio Gradle项目"无法启动VM的守护进程/初始化"

Android Studio(Beta)0.8.4
操作系统版本:Windows 8
Java JRE/JDK版本:1.8.0_11

Error:Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at http://gradle.org/docs/1.12/userguide/gradle_daemon.html
-----------------------
Error occurred during initialization of VM
Could not reserve enough space for 1048576KB object heap
Java HotSpot(TM) Client VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
Run Code Online (Sandbox Code Playgroud)

java beta android jvm daemon

75
推荐指数
10
解决办法
18万
查看次数

在Java中使用break来退出循环是不好的做法吗?

我想知道使用break语句退出循环而不是满足循环条件是否是"不好的做法" ?

我对Java和JVM没有足够的了解来了解如何处理循环,所以我想知道我是否忽略了一些关键的东西.

这个问题的焦点:是否存在特定的性能开销?

java jvm loops break

73
推荐指数
4
解决办法
9万
查看次数

DVM和JVM有什么区别?

Java虚拟机和Dalvik虚拟机有什么区别?

java android jvm dvm

72
推荐指数
4
解决办法
6万
查看次数

Java GC:为什么两个幸存者区域?

对于Sun/Oracle的JVM,我读过GC algo将新一代划分为一个Eden区域和两个幸存区域.我想知道的是,为什么两个幸存者地区而不仅仅是一个?算法可以在伊甸园和一个幸存者区域之间保持乒乓(目前两个幸存者区域之间的方式); 或者这种方法有什么缺点吗?

java garbage-collection jvm

72
推荐指数
3
解决办法
3万
查看次数

VisualVM - 线程状态

有人可以解释我的区别Sleeping,Wait,Park,和Monitor线程状态中的VisualVM.

在此输入图像描述

这是我发现的:

Running:线程仍在运行.
Sleeping:thread正在休眠(在线程对象上调用方法yield())
Wait:线程被互斥锁或屏障阻塞,并且正在等待另一个线程释放锁
Park:挂起的线程被暂停,直到它们被给予许可.取消停放线程通常是通过在线程对象上调用方法unpark()来完成的
Monitor:线程正在等待条件变为true以恢复执行

我无法理解的是州立公园,实际上是什么暂停线程?如何在代码中检测到什么使线程暂停执行?

有人可以在这方面指导我.

谢谢.

java jvm visualvm jvisualvm

72
推荐指数
2
解决办法
3万
查看次数