返回顶部

随笔分类 -  Java虚拟机

摘要:回顾一下类加载过程 类加载过程:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。 一个非数组类的加载阶段(加载阶段获取类的二进制字节流的动作)是可控性最强的阶段,这一步我们可以去完成还可以自定义类加载器去控制字节流的获取方式(重写一个类加载器的 loadClass() 方法)。数 阅读全文
posted @ 2020-01-12 12:56 不懒人 阅读(331) 评论(0) 推荐(0) 编辑
摘要:类加载过程 Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚拟机是如何加载这些 Class 文件呢? 系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。 加载 类加载过程的第一步,主要完成下面3件事情: 通过全类名获取定义此类的 阅读全文
posted @ 2020-01-12 12:19 不懒人 阅读(272) 评论(3) 推荐(0) 编辑
摘要:类文件结构 一 概述 在 Java 中,JVM 可以理解的代码就叫做字节码(即扩展名为 .class 的文件),它不面向任何特定的处理器,只面向虚拟机。Java 语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可移植的特点。所以 Java 程序运行时比较 阅读全文
posted @ 2020-01-12 11:46 不懒人 阅读(682) 评论(0) 推荐(0) 编辑
摘要:JDK 监控和故障处理工具总结 JDK 命令行工具 这些命令在 JDK 安装目录下的 bin 目录下: jps (JVM Process Status): 类似 UNIX 的 ps 命令。用户查看所有 Java 进程的启动类、传入参数和 Java 虚拟机参数等信息; jstat( JVM Stati 阅读全文
posted @ 2020-01-11 23:19 不懒人 阅读(273) 评论(0) 推荐(0) 编辑
摘要:JVM 垃圾回收 写在前面 本节常见面试题 问题答案在文中都有提到 如何判断对象是否死亡(两种方法)。 简单的介绍一下强引用、软引用、弱引用、虚引用(虚引用与软引用和弱引用的区别、使用软引用能带来的好处)。 如何判断一个常量是废弃常量 如何判断一个类是无用的类 垃圾收集有哪些算法,各自的特点? Ho 阅读全文
posted @ 2020-01-11 22:55 不懒人 阅读(391) 评论(0) 推荐(0) 编辑
摘要:Java 内存区域详解 如果没有特殊说明,都是针对的是 HotSpot 虚拟机。 写在前面 (常见面试题) 基本问题 介绍下 Java 内存区域(运行时数据区) Java 对象的创建过程(五步,建议能默写出来并且要知道每一步虚拟机做了什么) 对象的访问定位的两种方式(句柄和直接指针两种方式) 拓展问 阅读全文
posted @ 2020-01-11 14:52 不懒人 阅读(234) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示