随着Java技术的不断发展,它被应用于愈来愈多的领域之中。其中一些领域,如电力、金融、通讯等,对程序的性能、稳定性和可扩展性方面都有极高的要求。一个程序极可能在10我的同时使用时彻底正常,可是在10000我的同时使用时就会变慢、死锁甚至崩溃。毫无疑问,要知足10000我的同时使用须要更高性能的物理硬件,可是在绝大多数状况下,提高硬件效能没法等比例地提高程序的性能和并发能力,有时甚至可能对程序的性能没有任何改善做用。mysql
这里面有Java虚拟机的缘由:为了达到为全部硬件提供一致的虚拟平台的目的,牺牲了一些硬件相关的性能特性。更重要的是人为缘由:开发人员若是不了解虚拟机的一-些技术特性的运行原理,就没法写出最适合虚拟机运行和可自优化的代码。git
而这个缘由也就是为何如今再市面上,若是你去面试,对于jvm虚拟机以及jvm调优等内容为何会问得这么多的缘由面试
Java虚拟机是Java语言底层实现的基础,对Java语言感兴趣的人都应对Java虚拟机有个大概的了解。这有助于理解Java语言的一些性质,也有助于使用Java语言。因此,不管是刚开始学习Java的小新或者已经工做好久最近正在提高找工做的,我想,这张图会对你有不小的帮助sql
内容主要有如下几点多线程
而这些知识点的整理,我主要是从下面这份文档中总结出来的架构
在本章,除了对于Java内存区域与内存溢出异常的介绍以外,还详细的介绍了垃圾收集器、虚拟机性能监控、故障处理以及调优实战,对于JVM在“运行”过程当中会产生的相关问题进行介绍并发
本章主要是对于类的处理,其中包括:类加载器、字节码执行,而且在最后以一个案例进行贯穿,可以更好的对于虚拟机执行子系统进行理解和学习jvm
Java编译器、Hotspot。。。不知道这些东西你是否是据说过,或者本身在这方面学习的还比较透彻的,尤为是一个Hotspot源码,真的是面一个问一个,不是为了难为你,主要是为了可以对你的能力进行一个断定,知道你属于哪个能力级别,除了安排工做以外,也是对于公司的一我的才储备过程,天知道何时会用到这些知识呢高并发
jvm的学习,或者说面试的时候问到了jvm的相关问题,怎么可能会缺乏了多线程与高并发的相关问题,在这里,也单独拿出来一部分,对于高并发的相关内容进行整理,对于这方面以前没有了解的朋友,在这里就能够认真的了解一下性能
须要这份文档资料的,关注+转发后,私信“资料”便可查看获取方式
字节码指令表
Hotspot虚拟机参数
除了jvm以外,就像这份文档最后一章说的,多线程、高并发等知识点,可能在平时用不到,或者说根本接触不到,可是随着你平台的提高以及互联网的发展,这些可能忽然在某一天就会跟mysql同样,成为必须的产品,你不会就只能等着被淘汰,因此想要更好的平台和提高,你只有在平时不断地学习和积累,除此以外没办法
须要这份资料的,添加小助手:msbxq2020免费获取,备注博客园
关注公众号:Java架构师联盟,每日更新技术好文
部分资料已经上传到个人git仓库中:有须要的能够下载