本文整理汇总了Java中sun.jvm.hotspot.runtime.JavaThread类的典型用法代码示例。如果您正苦于以下问题:Java JavaThread类的具体用法?Java JavaThread怎么用?Java JavaThread使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
JavaThread类属于sun.jvm.hotspot.runtime包,在下文中一共展示了JavaThread类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: doit
import sun.jvm.hotspot.runtime.JavaThread; //导入依赖的package包/类
public void doit(Tokens t) {
if (t.countTokens() != 1) {
usage();
} else {
String name = t.nextToken();
boolean all = name.equals("-a");
Threads threads = VM.getVM().getThreads();
for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
thread.printThreadIDOn(new PrintStream(bos));
if (all || bos.toString().equals(name)) {
if (thread instanceof CompilerThread) {
CompilerThread ct = (CompilerThread)thread;
out.println(ct);
ciEnv env = ct.env();
if (env != null) {
Compile c = env.compilerData();
c.cfg().dump(out);
}
}
}
}
}
}
示例2: doit
import sun.jvm.hotspot.runtime.JavaThread; //导入依赖的package包/类
public void doit(Tokens t) {
if (t.countTokens() != 0) {
usage();
} else {
ArrayList nmethods = new ArrayList();
Threads threads = VM.getVM().getThreads();
HTMLGenerator gen = new HTMLGenerator(false);
for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) {
try {
for (JavaVFrame vf = thread.getLastJavaVFrameDbg(); vf != null; vf = vf.javaSender()) {
if (vf instanceof CompiledVFrame) {
NMethod c = ((CompiledVFrame)vf).getCode();
if (!nmethods.contains(c)) {
nmethods.add(c);
out.println(gen.genHTML(c));
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
示例3: doit
import sun.jvm.hotspot.runtime.JavaThread; //导入依赖的package包/类
public void doit(Tokens t) {
if (t.countTokens() != 1) {
usage();
} else {
String name = t.nextToken();
Threads threads = VM.getVM().getThreads();
boolean all = name.equals("-a");
for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
thread.printThreadIDOn(new PrintStream(bos));
if (all || bos.toString().equals(name)) {
out.println("Thread " + bos.toString() + " Address " + thread.getAddress());
if (!all) return;
}
}
out.println("Couldn't find thread " + name);
}
}
示例4: getJavaThreadsInfo
import sun.jvm.hotspot.runtime.JavaThread; //导入依赖的package包/类
/** this functions used for core file reading and called from native attach0,
it returns an array of long integers as
[thread_id, stack_start, stack_end, thread_id, stack_start, stack_end, ....] for
all java threads recorded in Threads. Also adds the ThreadProxy to threadList */
public long[] getJavaThreadsInfo() {
requireAttach();
Threads threads = VM.getVM().getThreads();
int len = threads.getNumberOfThreads();
long[] result = new long[len * 3]; // triple
JavaThread t = threads.first();
long beg, end;
int i = 0;
while (t != null) {
end = t.getStackBaseValue();
beg = end - t.getStackSize();
BsdThread bsdt = (BsdThread)t.getThreadProxy();
long uid = bsdt.getUniqueThreadId();
if (threadList != null) threadList.add(bsdt);
result[i] = uid;
result[i + 1] = beg;
result[i + 2] = end;
t = t.next();
i += 3;
}
return result;
}
示例5: doit
import sun.jvm.hotspot.runtime.JavaThread; //导入依赖的package包/类
public void doit(Tokens t) {
if (t.countTokens() != 1) {
usage();
} else {
String name = t.nextToken();
boolean all = name.equals("-a");
Threads threads = VM.getVM().getThreads();
for (JavaThread thread = threads.first(); thread != null; thread = thread.next()) {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
thread.printThreadIDOn(new PrintStream(bos));
if (all || bos.toString().equals(name)) {
if (thread instanceof CompilerThread) {
CompilerThread ct = (CompilerThread)thread;
out.println(ct);
ciEnv env = ct.env();
if (env != null) {
Compile c = env.compilerData();
c.root().dump(9999, out);
} else {
out.println(" not compiling");
}
}
}
}
}
}
示例6: threads
import sun.jvm.hotspot.runtime.JavaThread; //导入依赖的package包/类
public List threads() {
// Each element of this array is the Oop for a thread;
// NOTE it is not the JavaThread that we need to create
// a ThreadReferenceImpl.
Oop[] myThreads = OopUtilities.threadGroupOopGetThreads(ref());
ArrayList myList = new ArrayList(myThreads.length);
for (int ii = 0; ii < myThreads.length; ii++) {
JavaThread jt = OopUtilities.threadOopGetJavaThread(myThreads[ii]);
if (jt != null) {
ThreadReferenceImpl xx = (ThreadReferenceImpl)vm.threadMirror(jt);
myList.add(xx);
}
}
return myList;
}
示例7: getAllThreads
import sun.jvm.hotspot.runtime.JavaThread; //导入依赖的package包/类
private List getAllThreads() {
if (allThreads == null) {
allThreads = new ArrayList(10); // Might be enough, might not be
for (sun.jvm.hotspot.runtime.JavaThread thread =
saVM.getThreads().first(); thread != null;
thread = thread.next()) {
// refer to JvmtiEnv::GetAllThreads in jvmtiEnv.cpp.
// filter out the hidden-from-external-view threads.
if (thread.isHiddenFromExternalView() == false) {
ThreadReferenceImpl myThread = threadMirror(thread);
allThreads.add(myThread);
}
}
}
return allThreads;
}