摘要: “Write Once,Run anywhere. ”这是Java刚诞生时的口号,于是Java通过虚拟机加+class文件实现了这个目标。另外,JVM设计者曾承诺过要让其它语言也能像Java一样在JVM运行。当Java发展到JDK1.7~1.8的时候,JVM设计者通过JSR-292基本兑现了这个承诺 阅读全文
posted @ 2022-03-23 17:27 方山客 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 定位问题,知识、经验是关键,数据是依据,工具是运用知识处理数据的手段。这里说的数据包括:运行日志、异常堆栈、GC日志、线程快照(threaddump/javacore文件)、堆转储快照(heapdump/hprof文件)等 一、工具 1. JDK命令行工具(大多是jdk/lib/tols.jar的封 阅读全文
posted @ 2022-03-23 10:32 方山客 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 一、垃圾回收机制 Java判断对象是否存活使用了可达性分析算法,也就是以一系列“GC Roots”对象作为起始点,从这些节点向下搜索,如果从GC Roots到这个对象不可达,则证明此对象不可用。 1. 可以作为GC Roots的对象包括: 虚拟机栈(栈帧中的本地变量表)中引用的对象 方法区中类静态属 阅读全文
posted @ 2022-03-23 01:49 方山客 阅读(43) 评论(0) 推荐(0) 编辑