jdk 编译、运行、排障组件

简介: 1.编译javac 编译 .java源文件。 javah 产生相关的 JNI header file 2.运行java 执行 .class、.jar 文件,命令行窗口运行。 javaw 执行 .class、.jar 文件,非命令行窗口运行。3.监控排障3.1 jps//输出java线程的完整启动参数jps -mlv3.2

1.编译

javac 编译 .java源文件。
javah 产生相关的 JNI header file

2.运行

java 执行 .class、.jar 文件,命令行窗口运行。
javaw 执行 .class、.jar 文件,非命令行窗口运行。

3.监控排障

3.1 jps

//输出java线程的完整启动参数
jps -mlv

3.2 jstat

//每隔1000毫秒输出一次gc信息,共输出3次
jstat -gc pid 1000 3

格式大概见下:

S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
8640.0 8640.0 3506.2 0.0 69248.0 67912.8 173036.0 99390.5 73856.0 73850.1 752 7.018 14 5.020 12.038
survivor_0 capacity (KB) survivor_1 capacity survivor_0 usage survivor_1 usage eden capacity eden usage old capacity old usage permanent capacity permanent usage young gc count yong gc time cost full gc count full gc time cost gc time cost
//关注内存占用百分比
jstat -gcutil pid 

格式大概见下:
数值表示占比(x%)

S0 S1 E O P YGC YGCT FGC FGCT GCT
0.00 35.47 42.63 57.44 99.99 753 7.025 14 5.020 12.045

3.3 jmap

//将pid=9406这个java进程的堆,dump到heapDump.hprof文件中。live表示只输出存活对象的信息  
jmap -dump:live,format=b,file=heapDump.hprof 9406  

详见 Heap Dump与Analyzer

3.4 jstack

jstack pid 可以查看当前时刻所有的线程调用堆栈及线程状态。
jstack pid > threadDump.file 将结果保存到文件中去。

目录
相关文章
|
3月前
|
Java Linux
java基础(3)安装好JDK后使用javac.exe编译java文件、java.exe运行编译好的类
本文介绍了如何在安装JDK后使用`javac.exe`编译Java文件,以及使用`java.exe`运行编译好的类文件。涵盖了JDK的安装、环境变量配置、编写Java程序、使用命令行编译和运行程序的步骤,并提供了解决中文乱码的方法。
73 2
|
4月前
|
存储 安全 Java
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别;什么是程序计数器,堆,虚拟机栈,栈内存溢出,堆栈的区别是什么,方法区,直接内存
JVM常见面试题(二):JVM是什么、由哪些部分组成、运行流程,JDK、JRE、JVM关系;程序计数器,堆,虚拟机栈,堆栈的区别是什么,方法区,直接内存
|
5月前
|
Java 编译器 程序员
JVM常见面试题(一):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别
JVM常见面试题(一):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别
JVM常见面试题(一):JVM是什么、由哪些部分组成、运行流程是什么,JDK、JRE、JVM的联系与区别
|
4月前
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
296 0
|
4月前
|
Java 编译器 开发工具
JDK vs JRE:面试大揭秘,一文让你彻底解锁Java开发和运行的秘密!
【8月更文挑战第24天】JDK(Java Development Kit)与JRE(Java Runtime Environment)是Java环境中两个核心概念。JDK作为开发工具包,不仅包含JRE,还提供编译器等开发工具,支持Java程序的开发与编译;而JRE仅包含运行Java程序所需的组件如JVM和核心类库。一个简单的"Hello, World!"示例展示了两者用途:需借助JDK编译程序,再利用JRE或JDK中的运行环境执行。因此,开发者应基于实际需求选择安装JDK或JRE。
62 0
|
4月前
|
安全 Java API
JDK版本特性问题之在aone编译机器上未安装相应的jdk导致发布编译报错,如何解决
JDK版本特性问题之在aone编译机器上未安装相应的jdk导致发布编译报错,如何解决
|
4月前
|
Oracle Java 关系型数据库
简单记录在Linux上安装JDK环境的步骤,以及解决运行Java程序时出现Error Could not find or load main class XXX问题
本文记录了在Linux系统上安装JDK环境的步骤,并提供了解决运行Java程序时出现的"Error Could not find or load main class XXX"问题的方案,主要是通过重新配置和刷新JDK环境变量来解决。
153 0
|
6月前
|
Java 编译器
Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数
Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数
57 1
|
6月前
|
Oracle Java 关系型数据库
Java入门——开发环境、入门程序(搭建Java开发环境、安装JDK 验证、JDK、编写代码、编译代码、运行代码)
Java入门——开发环境、入门程序(搭建Java开发环境、安装JDK 验证、JDK、编写代码、编译代码、运行代码)
69 3
|
7月前
|
Java
JDK环境下利用记事本对java文件进行运行编译
JDK环境下利用记事本对java文件进行运行编译
85 0