背景提要 很久没有亲自动手部署代码了,命令行的亲切感越来越低。放飞了键盘,习惯了鼠标操作的windows环境。冷不丁实操部署也是不错的。 常常在部署时,运维同学对于[hs_err_pid]文件视而不见。殊不知这是Java 虚拟机崩溃日志。 这次是如何分析问题的? 一、首先查看 日志头文件 日志头文件 ...
分类:
编程语言 时间:
2018-05-12 00:09:25
阅读次数:
502
类型装载、连接与初始化 Java虚拟机通过装载、连接和初始化一个Java类型,使该类型可以被正在运行的Java程序所使用。其中装载就是把二进制形式的Java class文件读入Java虚拟机中去;连接把读入虚拟机的二进制形式的Java class文件合并到虚拟机的运行时的状态中去。连接可以分为三个子 ...
分类:
编程语言 时间:
2018-05-10 15:47:46
阅读次数:
213
1、标记-清除算法 标记-清除(Mark-Sweep)算法是一种基础的收集算法。 1、算法思路 "标记-清除"算法,分为两个阶段: (A)、标记 首先标记出所有需要回收的对象; 标记过程如《Java虚拟机垃圾回收(一) 基础》"2-4、判断对象生存还是死亡"中所述--分为两个标记过程(详细请参考前文 ...
分类:
编程语言 时间:
2018-05-10 12:13:10
阅读次数:
159
1、垃圾收集器概述 垃圾收集器是垃圾回收算法(标记-清除算法、复制算法、标记-整理算法、火车算法)的具体实现,不同商家、不同版本的JVM所提供的垃圾收集器可能会有很在差别,本文主要介绍HotSpot虚拟机中的垃圾收集器。 1-1、垃圾收集器组合 JDK7/8后,HotSpot虚拟机所有收集器及组合( ...
分类:
编程语言 时间:
2018-05-10 12:13:04
阅读次数:
183
转自:https://blog.csdn.net/a503921892/article/details/39048737 配置tomcat服务器内存大小中的Xms、Xmx、PermSize、MaxPermSize 详解 转自:https://blog.csdn.net/starwind_/artic ...
分类:
编程语言 时间:
2018-05-09 20:54:38
阅读次数:
759
一。在linux服务器上 top :找到cup或者内存占用过高的那个进程pid 二。top -Hp 【进程pid】 可以继续跟踪该进程中的所有线程信息,找到cup或者内存过高的那个线程,将该线程id转化为16进制,以便在后面的线程堆栈信息中用该关键字查看 三。jstack 【进程pid】> jsta ...
分类:
编程语言 时间:
2018-05-09 14:42:29
阅读次数:
205
垃圾收集器是内存回收的具体实现,Java 虚拟机规范中对其实现没有具体规定,不同的厂商、不同版本的虚拟机提供的垃圾收集器都会有很大差别。本文主要介绍 HotSpot 虚拟机中的垃圾收集器。 各种垃圾收集器 上图展示了不同的垃圾收集器,每个收集器都作用于特定的分代。如果两个收集器直接存在连线,那么说明 ...
分类:
编程语言 时间:
2018-05-09 14:38:40
阅读次数:
153
ref:https://blog.csdn.net/ithomer/article/details/6252552 一、Java内存模型 按照官方的说法:Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。 JVM主要管理两种类型内存:堆和非堆,堆内存(Heap Me ...
分类:
其他好文 时间:
2018-05-09 12:08:46
阅读次数:
181
Java优点: 一次编写,到处运行 安全的内存管理和访问机制 热点代码检测和运行时编译及优化 完善的应用程序接口 无数的第三方类库等 广义上讲,能够运行于Java虚拟机上的语言及相关程序都属于Java技术体系。 传统意义上讲,Sun定义的Java技术体系包括: Java程序设计语言 各种硬件平台上的 ...
分类:
编程语言 时间:
2018-05-08 16:41:26
阅读次数:
238
NoClassDefFoundError错误的发生,是因为Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。例如在运行时我们想调用某个类的方法或者访问这个类的静态成员的时候,发现这个类不可用,此时Java虚拟机就会抛出NoClassDefFoundError错误。这个错误发 ...
分类:
其他好文 时间:
2018-05-08 14:36:24
阅读次数:
149