摘要:
官网地址 1. JVM 参数选项 类型一:标准参数选项 特点 比较稳定,后续版本基本不会变化 以 - 开头 各种选项 直接在 DOS 窗口中运行 java 或者 java -help 可以看到所有的标准选项 补充内容:-server 与 -client 区别 官网地址 Hotspot JVM 有两种 阅读全文
摘要:
1. GC 日志参数 常用参数 -XX:+PrintGC <==> -verbose:gc 打印简要日志信息 -XX:+PrintGCDetails 打印详细日志信息 -XX:+PrintGCTimeStamps 打印程序启动到GC发生的时间,搭配-XX:+PrintGCDetails使用 -XX: 阅读全文
摘要:
1. 概述 性能诊断是软件工程师在日常工作中需要经常面对和解决的问题,在用户体验至上的今天,解决好应用的性能问题能带来非常大的收益。 Java 作为最流行的编程语言之一,其应用性能诊断一直受到业界广泛关注。可能造成 Java 应用出现性能问题的因素非常多,例如线程控制、磁盘读写、数据库访问、网络 I 阅读全文
摘要:
1. 工具概述 使用上一章命令行工具或组合能帮您获取目标 Java 应用性能相关的基础信息,但它们存在下列局限: 无法获取方法级别的分析数据,如方法间的调用关系、各方法的调用次数和调用时间等(这对定位应用性能瓶颈至关重要) 要求用户登录到目标 Java 应用所在的宿主机上,使用起来不是很方便 分析数 阅读全文
摘要:
1. 大厂面试题 支付宝: 支付宝三面:JVM性能调优都做了什么? 小米: 有做过JVM内存优化吗? 从SQL、JVM、架构、数据库四个方面讲讲优化思路 蚂蚁金服: JVM的编译优化 jvm性能调优都做了什么 JVM诊断调优工具用过哪些? 二面:jvm怎样调优,堆内存、栈空间设置多少合适 三面:JV 阅读全文
摘要:
4.1. 概述 类加载器是 JVM 执行类加载机制的前提。 ClassLoader 的作用: ClassLoader 是 Java 的核心组件,所有的 Class 都是由 ClassLoader 进行加载的, ClassLoader 负责通过各种方式将 Class 信息的二进制数据流读入 JVM 内 阅读全文
摘要:
3.1. 概述 在 Java 中数据类型分为基本数据类型和引用数据类型。基本数据类型由虚拟机预先定义,引用数据类型则需要进行类的加载。 按照 Java 虚拟机规范,从 class 文件到加载到内存中的类,到类卸载出内存为止,它的整个生命周期包括如下 7 个阶段: 其中,验证、准备、解析 3 个部分统 阅读全文
摘要:
1.1. 概述 1. 字节码文件的跨平台性 Java 语言:跨平台的语言(write once,run anywhere) 当 Java 源代码成功编译为字节码后,如果想在不同的平台上运行,则无须再次编译 **这个优势不再那么吸引人了。**Python、PHP、Perl、Ruby、Lisp 等有强大 阅读全文
摘要:
2.1. 概述 Java 字节码对于虚拟机,就好像汇编语言对于计算机,属于基本执行指令 Java 虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为 操作码, Opcode )以及跟随其后的零至多个代表此操作所需参数(称为 操作数, Operands )而构成。由于 Java 虚拟机采 阅读全文