如何获取thread dump和heap dump
@ 远程到主机上 12$ ssh bejond@192.168.1.95bejond@192.168.1.95's password: 输入登录密码,即可远程。 @ 获取服务器进程号: Note: 执行jps(下面jstack, jmap等命令相同)时需要用运行java应用的用户来执行。这些用户往往被创建为nologin。比如创建wildfly用户来运行java程序。 12[bejond
@ 远程到主机上 12$ ssh bejond@192.168.1.95bejond@192.168.1.95's password: 输入登录密码,即可远程。 @ 获取服务器进程号: Note: 执行jps(下面jstack, jmap等命令相同)时需要用运行java应用的用户来执行。这些用户往往被创建为nologin。比如创建wildfly用户来运行java程序。 12[bejond
As we know that we can implements Runnable to create a thread. And invoke run() to run it. If we extends class Thread, we need to call method start(). But how can we get a value from a thread? Like th
@ 枚举类型可以将一组具有名称的值的优先级和创建为一种新的类型。我们可以像创建类一样创建枚举类型。比如 1234567public enum Food { APPLE, ORANGE, CHOCOLATE, GRAPE} @ 枚举类型有几个常用的方法。 values(),返回该枚举类型所有的常量数组。 ordinal(),返回某个常量所在枚举类型的位置,从0开始。
Java Heap Memory(堆) 堆是用来存放java程序运行时的对象和jre的类的. 我们创建的对象总是存在堆里. GC就是清理堆中没有被引用的对象. 堆里的对象是全局可见可引用的. Java Stack Memory(栈) 栈用于线程运行时存放变量的, 包括临时变量, 指向存放在堆里的对象的引用等. 栈就像一个试管一样, 遵循后进先出(Last In First Out). 当程序调用一
原文地址: http://book.51cto.com/art/201011/235592.htm 除直接调用System.gc外,触发Full GC执行的情况有如下四种。 旧生代空间不足 旧生代空间只有在新生代对象转入及创建为大对象、大数组时才会出现不足的现象,当执行Full GC后空间仍然不足,则抛出如下错误: java.lang.OutOfMemoryError: Java heap sp
English Orignal Link: http://www.journaldev.com/2856/java-jvm-memory-model-and-garbage-collection-monitoring-tuning 我们可以通过命令行或者UI工具监测应用的内存使用情况. 这里我们用Java2Demo.jar作为测试应用. jstat 然后我们在Java2Demo.jar所在的目录打