作业7:常用java命令(一)
一、Javac(java compiler)
1、功能:javac是一种前端编译器,负责将源代码转换为字节码。
2、例子
(1)代码
public class TestJavac {
static class Person{
private String name;
private Integer age;
public Person() {
}
public Person(String name, Integer age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
public static void main(String[] args) {
System.out.println("Test Javac");
Person javac = new Person("Javac", 14);
System.out.println(javac.getName());
System.out.println(javac.getAge());
}
}
(2)执行javac命令
C:\Users\HBKJ\Desktop\TestJavac>javac TestJavac.java
C:\Users\HBKJ\Desktop\TestJavac>dir
C:\Users\HBKJ\Desktop\TestJavac 的目录
2018/07/21 12:30 <DIR> .
2018/07/21 12:30 <DIR> ..
2018/07/21 12:26 774 TestJavac$Person.class // 内部类
2018/07/21 12:26 783 TestJavac.class
2018/07/21 12:26 842 TestJavac.java
3 个文件 2,399 字节
2 个目录 13,931,593,728 可用字节
二、javap
1、功能:javap是Java字节码文件分解器,能够反编译javac生成的字节码;也能够查看java编译器生成的字节码,用于分解class文件。
2、例子
(1)命令:javap -p
C:\Users\HBKJ\Desktop\TestJavac>javap -p TestJavac.class
Compiled from "TestJavac.java"
public class TestJavac {
public TestJavac();
public static void main(java.lang.String[]);
}
(2)命令:javap -c
C:\Users\HBKJ\Desktop\TestJavac>javap -c TestJavac.class
Compiled from "TestJavac.java"
public class TestJavac {
public TestJavac(); // 构造器
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: return
public static void main(java.lang.String[]);
Code:
0: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream;
3: ldc #3 // String Test Javac
5: invokevirtual #4 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
8: new #5 // class TestJavac$Person
11: dup
12: ldc #6 // String Javac
14: bipush 14
16: invokestatic #7 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
19: invokespecial #8 // Method TestJavac$Person."<init>":(Ljava/lang/String;Ljava/lang/Integer;)V
22: astore_1
23: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream;
26: aload_1
27: invokevirtual #9 // Method TestJavac$Person.getName:()Ljava/lang/String;
30: invokevirtual #4 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
33: getstatic #2 // Field java/lang/System.out:Ljava/io/PrintStream;
36: aload_1
37: invokevirtual #10 // Method TestJavac$Person.getAge:()Ljava/lang/Integer;
40: invokevirtual #11 // Method java/io/PrintStream.println:(Ljava/lang/Object;)V
43: return
}
三、jps(JVM Process Status Tool)
1、功能:列出正在运行的虚拟机进程,并显示虚拟机执行主类的名称和这些进程的唯一ID。
2、主要选项
| 选项 | 作用 |
|---|---|
| -q | 省略主类名称(java8默认参数) |
| -l | 输出主类名称(java10默认参数) |
| -v | 输出虚拟机进程启动时JVM参数 |
3、例子(Idea IDE进程)
PS C:\Windows\system32> jps
9024 Jps
9796 Launcher
9860
PS C:\Windows\system32> jps -l
9796 org.jetbrains.jps.cmdline.Launcher
9860
8540 jdk.jcmd/sun.tools.jps.Jps
PS C:\Windows\system32> jps -v
8404 Jps -Dapplication.home=E:\develop\software\java10\jdk -Xms8m -Djdk.module.main=jdk.jcmd
9796 Launcher -Xmx700m -Djava.awt.headless=true -Djdt.compiler.useSingleThread=true -Dpreload.project.path=E:/develop/project/AlgorithmsLearning -Dpreload.config.path=C:/Users/HBKJ/.IntelliJIdea2018.1/config/options -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Djava.net.preferIPv4Stack=true -Dio.netty.initialSeedUniquifier=7903075717686063478 -Dfile.encoding=GBK -Duser.language=zh -Duser.country=CN -Didea.paths.selector=IntelliJIdea2018.1 -Didea.home.path=D:\software\IntelliJ IDEA 2018.1.1 -Didea.config.path=C:\Users\HBKJ\.IntelliJIdea2018.1\config -Didea.plugins.path=C:\Users\HBKJ\.IntelliJIdea2018.1\config\plugins -Djps.log.dir=C:/Users/HBKJ/.IntelliJIdea2018.1/system/log/build-log -Djps.fallback.jdk.home=D:/software/IntelliJ IDEA 2018.1.1/jre64 -Djps.fallback.jdk.version=1.8.0_152-release -Dio.netty.noUnsafe=true -Djava.io.tmpdir=C:/Users/HBKJ/.IntelliJIdea2018.1/system/compile-server/algorithmslearning_af8be974/_temp_ -Djps.backward.ref.index.builder=true -Dkotlin.incremental.compilation=true -Dkotlin.
9860 -Xms128m -Xmx750m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -javaagent:D:/software/IntelliJ IDEA 2018.1.1/bin/JetbrainsCrack-2.7-release-str.jar -Djb.vmOptionsFile=D:\software\IntelliJ IDEA 2018.1.1\bin\idea64.exe.vmoptions -Didea.jre.check=true -Dide.native.launcher=true -Didea.paths.selector=IntelliJIdea2018.1 -XX:ErrorFile=C:\Users\HBKJ\java_error_in_idea_%p.log -XX:HeapDumpPath=C:\Users\HBKJ\java_error_in_idea.hprof
四、jstack(Stack Trace for java)
1、功能:生成JVM当前时间的线程快照(threaddump或javacore文件)。
- 线程快照:当前JVM内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是为了定位线程长时间停顿的原因。
- 线程长时间停顿情况:死锁、死循环、请求外部资源等
2、主要选项
| 选项 | 作用 |
|---|---|
| -l | 同时显示锁的附加信息 |
3、例子(Idea IDE进程)
PS C:\Users\HBKJ> jstack 9796
2018-07-14 14:33:38
Full thread dump Java HotSpot(TM) 64-Bit Server VM (10.0.1+10 mixed mode):
Threads class SMR info:
_java_thread_list=0x000001a3b0b585f0, length=14, elements={
0x000001a3aea36000, 0x000001a3aea37000, 0x000001a3aea3d800, 0x000001a3aea3e000,
0x000001a3af2c8800, 0x000001a3af2d1000, 0x000001a3af2d4000, 0x000001a3af2d8000,
0x000001a3af2e8800, 0x000001a3af47f800, 0x000001a3af484000, 0x000001a3afb2f000,
0x000001a38ff10000, 0x000001a3b0cb0800
}
"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x000001a3aea36000 nid=0x1e44 waiting on condition [0x0000008ea28ff000]
java.lang.Thread.State: RUNNABLE
at java.lang.ref.Reference.waitForReferencePendingList(java.base@10.0.1/Native Method)
at java.lang.ref.Reference.processPendingReferences(java.base@10.0.1/Reference.java:174)
at java.lang.ref.Reference.access$000(java.base@10.0.1/Reference.java:44)
at java.lang.ref.Reference$ReferenceHandler.run(java.base@10.0.1/Reference.java:138)
"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x000001a3aea37000 nid=0x1308 in Object.wait() [0x0000008ea29fe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@10.0.1/Native Method)
- waiting on <0x00000000d4e5e9c0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@10.0.1/ReferenceQueue.java:151)
- waiting to re-lock in wait() <0x00000000d4e5e9c0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@10.0.1/ReferenceQueue.java:172)
at java.lang.ref.Finalizer$FinalizerThread.run(java.base@10.0.1/Finalizer.java:216)
"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x000001a3aea3d800 nid=0x196c runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x000001a3aea3e000 nid=0x3210 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x000001a3af2c8800 nid=0xe08 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
"C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x000001a3af2d1000 nid=0x2a94 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
"C2 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x000001a3af2d4000 nid=0x724 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
"C1 CompilerThread3" #9 daemon prio=9 os_prio=2 tid=0x000001a3af2d8000 nid=0x20 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
"Sweeper thread" #10 daemon prio=9 os_prio=2 tid=0x000001a3af2e8800 nid=0x2810 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Service Thread" #11 daemon prio=9 os_prio=0 tid=0x000001a3af47f800 nid=0x23a8 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Common-Cleaner" #12 daemon prio=8 os_prio=1 tid=0x000001a3af484000 nid=0x29b0 in Object.wait() [0x0000008ea33ff000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(java.base@10.0.1/Native Method)
- waiting on <0x00000000d4e213d8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@10.0.1/ReferenceQueue.java:151)
- waiting to re-lock in wait() <0x00000000d4e213d8> (a java.lang.ref.ReferenceQueue$Lock)
at jdk.internal.ref.CleanerImpl.run(java.base@10.0.1/CleanerImpl.java:148)
at java.lang.Thread.run(java.base@10.0.1/Thread.java:844)
at jdk.internal.misc.InnocuousThread.run(java.base@10.0.1/InnocuousThread.java:134)
"JPS event loop" #13 prio=5 os_prio=0 tid=0x000001a3afb2f000 nid=0x1674 runnable [0x0000008ea45fe000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(java.base@10.0.1/Native Method)
at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(java.base@10.0.1/WindowsSelectorImpl.java:296)
at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(java.base@10.0.1/WindowsSelectorImpl.java:278)
at sun.nio.ch.WindowsSelectorImpl.doSelect(java.base@10.0.1/WindowsSelectorImpl.java:159)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(java.base@10.0.1/SelectorImpl.java:89)
- locked <0x00000000d4e620c8> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000000d4e620e0> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000000d4e62048> (a sun.nio.ch.WindowsSelectorImpl)
at sun.nio.ch.SelectorImpl.select(java.base@10.0.1/SelectorImpl.java:100)
at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:752)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:408)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.lang.Thread.run(java.base@10.0.1/Thread.java:844)
"DestroyJavaVM" #15 prio=5 os_prio=0 tid=0x000001a38ff10000 nid=0x2278 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"NettythreadDeathWatcher-2-1" #17 daemon prio=1 os_prio=-2 tid=0x000001a3b0cb0800 nid=0x2740 waiting on condition [0x0000008ea48fe000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(java.base@10.0.1/Native Method)
at io.netty.util.ThreadDeathWatcher$Watcher.run(ThreadDeathWatcher.java:152)
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
at java.lang.Thread.run(java.base@10.0.1/Thread.java:844)
"VM Thread" os_prio=2 tid=0x000001a3aea31800 nid=0x1de0 runnable
"GC Thread#0" os_prio=2 tid=0x000001a38ff2c000 nid=0x9c8 runnable
"GC Thread#1" os_prio=2 tid=0x000001a38ff2d800 nid=0x410 runnable
"GC Thread#2" os_prio=2 tid=0x000001a38ff30000 nid=0x28e4 runnable
"GC Thread#3" os_prio=2 tid=0x000001a38ff33800 nid=0x22a0 runnable
"GC Thread#4" os_prio=2 tid=0x000001a38ff35800 nid=0x16e4 runnable
"GC Thread#5" os_prio=2 tid=0x000001a38ff3a800 nid=0xfd8 runnable
"GC Thread#6" os_prio=2 tid=0x000001a38ff3e000 nid=0x21a0 runnable
"GC Thread#7" os_prio=2 tid=0x000001a38ff3f000 nid=0x1b88 runnable
"G1 Main Marker" os_prio=2 tid=0x000001a38ff7e800 nid=0x2cd4 runnable
"G1 Conc#0" os_prio=2 tid=0x000001a38ff81800 nid=0xe1c runnable
"G1 Conc#1" os_prio=2 tid=0x000001a38ff82800 nid=0x91c runnable
"G1 Refine#0" os_prio=2 tid=0x000001a38ffde800 nid=0x3350 runnable
"G1 Refine#1" os_prio=2 tid=0x000001a3ae8ce000 nid=0x2d74 runnable
"G1 Refine#2" os_prio=2 tid=0x000001a3ae8d0000 nid=0x59c runnable
"G1 Refine#3" os_prio=2 tid=0x000001a3ae8d0800 nid=0x2f50 runnable
"G1 Refine#4" os_prio=2 tid=0x000001a3ae8d5800 nid=0x2750 runnable
"G1 Refine#5" os_prio=2 tid=0x000001a3ae8d8800 nid=0xa18 runnable
"G1 Refine#6" os_prio=2 tid=0x000001a3ae8db000 nid=0x1c04 runnable
"G1 Refine#7" os_prio=2 tid=0x000001a3ae8ec000 nid=0x3220 runnable
"G1 Young RemSet Sampling" os_prio=2 tid=0x000001a3ae8ec800 nid=0x23cc runnable
"VM Periodic Task Thread" os_prio=2 tid=0x000001a3af485000 nid=0x1540 waiting on condition
JNI global references: 14
#################################################
# 使用-l选项将输出Locked ownable synchronizers 内容
#################################################
PS C:\Users\HBKJ> jstack -l 9796
2018-07-14 14:41:41
Full thread dump Java HotSpot(TM) 64-Bit Server VM (10.0.1+10 mixed mode):
Threads class SMR info:
_java_thread_list=0x000001a3b0b585f0, length=14, elements={
0x000001a3aea36000, 0x000001a3aea37000, 0x000001a3aea3d800, 0x000001a3aea3e000,
0x000001a3af2c8800, 0x000001a3af2d1000, 0x000001a3af2d4000, 0x000001a3af2d8000,
0x000001a3af2e8800, 0x000001a3af47f800, 0x000001a3af484000, 0x000001a3afb2f000,
0x000001a38ff10000, 0x000001a3b0cb0800
}
"Reference Handler" #2 daemon prio=10 os_prio=2 tid=0x000001a3aea36000 nid=0x1e44 waiting on condition [0x0000008ea28ff000]
java.lang.Thread.State: RUNNABLE
at java.lang.ref.Reference.waitForReferencePendingList(java.base@10.0.1/Native Method)
at java.lang.ref.Reference.processPendingReferences(java.base@10.0.1/Reference.java:174)
at java.lang.ref.Reference.access$000(java.base@10.0.1/Reference.java:44)
at java.lang.ref.Reference$ReferenceHandler.run(java.base@10.0.1/Reference.java:138)
Locked ownable synchronizers:
- None
"Finalizer" #3 daemon prio=8 os_prio=1 tid=0x000001a3aea37000 nid=0x1308 in Object.wait() [0x0000008ea29fe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(java.base@10.0.1/Native Method)
- waiting on <0x00000000d4e5e9c0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@10.0.1/ReferenceQueue.java:151)
- waiting to re-lock in wait() <0x00000000d4e5e9c0> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@10.0.1/ReferenceQueue.java:172)
at java.lang.ref.Finalizer$FinalizerThread.run(java.base@10.0.1/Finalizer.java:216)
Locked ownable synchronizers:
- None
"Signal Dispatcher" #4 daemon prio=9 os_prio=2 tid=0x000001a3aea3d800 nid=0x196c runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Attach Listener" #5 daemon prio=5 os_prio=2 tid=0x000001a3aea3e000 nid=0x3210 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"C2 CompilerThread0" #6 daemon prio=9 os_prio=2 tid=0x000001a3af2c8800 nid=0xe08 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
Locked ownable synchronizers:
- None
"C2 CompilerThread1" #7 daemon prio=9 os_prio=2 tid=0x000001a3af2d1000 nid=0x2a94 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
Locked ownable synchronizers:
- None
"C2 CompilerThread2" #8 daemon prio=9 os_prio=2 tid=0x000001a3af2d4000 nid=0x724 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
Locked ownable synchronizers:
- None
"C1 CompilerThread3" #9 daemon prio=9 os_prio=2 tid=0x000001a3af2d8000 nid=0x20 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
No compile task
Locked ownable synchronizers:
- None
"Sweeper thread" #10 daemon prio=9 os_prio=2 tid=0x000001a3af2e8800 nid=0x2810 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Service Thread" #11 daemon prio=9 os_prio=0 tid=0x000001a3af47f800 nid=0x23a8 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"Common-Cleaner" #12 daemon prio=8 os_prio=1 tid=0x000001a3af484000 nid=0x29b0 in Object.wait() [0x0000008ea33ff000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(java.base@10.0.1/Native Method)
- waiting on <0x00000000d4e213d8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(java.base@10.0.1/ReferenceQueue.java:151)
- waiting to re-lock in wait() <0x00000000d4e213d8> (a java.lang.ref.ReferenceQueue$Lock)
at jdk.internal.ref.CleanerImpl.run(java.base@10.0.1/CleanerImpl.java:148)
at java.lang.Thread.run(java.base@10.0.1/Thread.java:844)
at jdk.internal.misc.InnocuousThread.run(java.base@10.0.1/InnocuousThread.java:134)
Locked ownable synchronizers:
- None
"JPS event loop" #13 prio=5 os_prio=0 tid=0x000001a3afb2f000 nid=0x1674 runnable [0x0000008ea45fe000]
java.lang.Thread.State: RUNNABLE
at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(java.base@10.0.1/Native Method)
at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(java.base@10.0.1/WindowsSelectorImpl.java:296)
at sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(java.base@10.0.1/WindowsSelectorImpl.java:278)
at sun.nio.ch.WindowsSelectorImpl.doSelect(java.base@10.0.1/WindowsSelectorImpl.java:159)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(java.base@10.0.1/SelectorImpl.java:89)
- locked <0x00000000d4e620c8> (a io.netty.channel.nio.SelectedSelectionKeySet)
- locked <0x00000000d4e620e0> (a java.util.Collections$UnmodifiableSet)
- locked <0x00000000d4e62048> (a sun.nio.ch.WindowsSelectorImpl)
at sun.nio.ch.SelectorImpl.select(java.base@10.0.1/SelectorImpl.java:100)
at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62)
at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:752)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:408)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
at java.lang.Thread.run(java.base@10.0.1/Thread.java:844)
Locked ownable synchronizers:
- None
"DestroyJavaVM" #15 prio=5 os_prio=0 tid=0x000001a38ff10000 nid=0x2278 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
Locked ownable synchronizers:
- None
"NettythreadDeathWatcher-2-1" #17 daemon prio=1 os_prio=-2 tid=0x000001a3b0cb0800 nid=0x2740 waiting on condition [0x0000008ea48fe000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(java.base@10.0.1/Native Method)
at io.netty.util.ThreadDeathWatcher$Watcher.run(ThreadDeathWatcher.java:152)
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
at java.lang.Thread.run(java.base@10.0.1/Thread.java:844)
Locked ownable synchronizers:
- None
"VM Thread" os_prio=2 tid=0x000001a3aea31800 nid=0x1de0 runnable
"GC Thread#0" os_prio=2 tid=0x000001a38ff2c000 nid=0x9c8 runnable
"GC Thread#1" os_prio=2 tid=0x000001a38ff2d800 nid=0x410 runnable
"GC Thread#2" os_prio=2 tid=0x000001a38ff30000 nid=0x28e4 runnable
"GC Thread#3" os_prio=2 tid=0x000001a38ff33800 nid=0x22a0 runnable
"GC Thread#4" os_prio=2 tid=0x000001a38ff35800 nid=0x16e4 runnable
"GC Thread#5" os_prio=2 tid=0x000001a38ff3a800 nid=0xfd8 runnable
"GC Thread#6" os_prio=2 tid=0x000001a38ff3e000 nid=0x21a0 runnable
"GC Thread#7" os_prio=2 tid=0x000001a38ff3f000 nid=0x1b88 runnable
"G1 Main Marker" os_prio=2 tid=0x000001a38ff7e800 nid=0x2cd4 runnable
"G1 Conc#0" os_prio=2 tid=0x000001a38ff81800 nid=0xe1c runnable
"G1 Conc#1" os_prio=2 tid=0x000001a38ff82800 nid=0x91c runnable
"G1 Refine#0" os_prio=2 tid=0x000001a38ffde800 nid=0x3350 runnable
"G1 Refine#1" os_prio=2 tid=0x000001a3ae8ce000 nid=0x2d74 runnable
"G1 Refine#2" os_prio=2 tid=0x000001a3ae8d0000 nid=0x59c runnable
"G1 Refine#3" os_prio=2 tid=0x000001a3ae8d0800 nid=0x2f50 runnable
"G1 Refine#4" os_prio=2 tid=0x000001a3ae8d5800 nid=0x2750 runnable
"G1 Refine#5" os_prio=2 tid=0x000001a3ae8d8800 nid=0xa18 runnable
"G1 Refine#6" os_prio=2 tid=0x000001a3ae8db000 nid=0x1c04 runnable
"G1 Refine#7" os_prio=2 tid=0x000001a3ae8ec000 nid=0x3220 runnable
"G1 Young RemSet Sampling" os_prio=2 tid=0x000001a3ae8ec800 nid=0x23cc runnable
"VM Periodic Task Thread" os_prio=2 tid=0x000001a3af485000 nid=0x1540 waiting on condition
JNI global references: 14
四、在线分析工具
作业7:常用java命令(一)的更多相关文章
- 作业8:常用java命令(二)
一.jinfo(Configuration Info for Java) 1.功能:jinfo可以实时地查看和调整虚拟机的各项参数. 2.参数: 选项 作用 -flag name 打印改名字的VM设置 ...
- 常用java命令
javap 反编译 javap xxx.class 查看大概 javap -v -p xxx.class 查看详细 jps 查看有哪些java进程 jinfo 查看或设置java进程的 vm 参数,只 ...
- 黑马程序员——JAVA基础之常用DOS命令和环境变量的配置
------- android培训.java培训.期待与您交流! ---------- 1.常用dos命令: dir 显示当前文件下目录 ...
- Java学习中,常用的命令管理(Java 学习中的小记录)
Java学习中,常用的命令管理 作者:王可利(Star·星星) 一.Window中常见的dos命令 在哪里操作dos命令: Win7 ---> 开始 ---->所有程序---& ...
- java基础基础总结----- 常用DOS命令(一)
常用DOS命令 dir(directory):列出当前目录下的文件以及文件夹 mkdir (make directory) : 创建目录 rd (remove directory): 删除目录 cd ...
- 常用 ADB 命令[ZZ]
https://blog.csdn.net/yang_zhang_1992/article/details/71404186 1. 显示当前运行的全部模拟器: adb devices 2. 对某一模拟 ...
- 掌握这些常用Linux命令,一起提升工作效率
开始上班了,新一年的奋斗的之路启程了,要继续[奔赴山海,奔赴热爱]. 汪国真在<热爱生命>这首诗中写到:既然选择了远方,便只顾风雨兼程.技术上还是持续精进和学习,远方虽远,要迈开脚步,一步 ...
- 常用Keytool 命令
常用Keytool 命令Keytool 是一个JAVA环境下的安全钥匙与证书的管理工具.它管理一个存储了私有钥匙和验证相应公共钥匙的与它们相关联的X.509 证书链的keystore(相当一个数据库, ...
- JAVA命令大全
1.java.exe:======================运行java程序,这个相信每一位用Java的人知道了. 2.javac.exe:======================编译的Ja ...
随机推荐
- web工程中添加自建userLibary与将jar包放到lib文件夹下的区别
纯 java项目 使用的本地自己的JRE,那么classLoader在加载jar和class时候是分开的,对于我们自己编写的class,会在 APP_HOME/bin下.导入的jar包或者user l ...
- Qt串口通信专题教程
查看以前的教程:Qt编写串口通信程序全程图文讲解 查看Wincom和Lincom介绍:Qt跨平台串口通信软件Wincom与Lincom 下载软件,文档和源码:资源下载 ——————————————20 ...
- Python —— sklearn.feature_selection模块
Python —— sklearn.feature_selection模块 sklearn.feature_selection模块的作用是feature selection,而不是feature ex ...
- pycharm中模块不能导入的问题
在pycharm中发现模块老是导入不成功 只能以这样的映射的方式 现在才知道: 模块的标志符可以由字母.数字.下划线组成,但是, 不能以数字开头,如果在给python文件起名时,以数字开头是无法在py ...
- pytorch-Resnet网络
残差网络:将输入层与输出层进行连接,保证了经过这层网路结构,网络的运算能力不会出现较大的改变 网络解析: 第一层网络: 输入网络经过一个卷积层,再经过一个batch_normalize, 再经过一个r ...
- Android中图片优化
1.对图片进行压缩:建议使用TinyPNG工具压缩 2.WebP格式(支持4.0以上)可减少文件大小 3.尽量使用NinePatch的PNG 4.图片缓存
- Handler注意事项
一. Handler与Thread的区别. Handler与调用者处于同一线程,如果Handler里面做耗时的动作,调用者线程会阻塞.Android UI操作不是线程安全的,并且这些操作必须在UI线程 ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_4-05 微服务调用方式之feign 实战 订单调用商品服务
笔记 5.微服务调用方式之feign 实战 订单调用商品服务 简介:改造电商项目 订单服务 调用商品服务获取商品信息 Feign: 伪RPC客户端(本质还是用http) ...
- SqlServer:SqlServer(服务器磁盘监控,创建管理员账号分配权,添加链接服务器,查询CPU,查询内存)
1.服务器磁盘监控 (1)总链接服务上开启所有链接服务器的RPC: ----------------------总链接服务器上面,开启每个服务器的RPC --exec sp_serveroption ...
- 树莓派搭建bt下载机、即是安装transmission
Transmission是一种BitTorrent客户端, 安装:sudo apt-get install transmission-daemon 给用户授权:sudo usermod -a -G p ...