为什么要深入学习jvm?
从事java开发有几年的时间了,以前对jvm了解不够深入。项目中遇到一些问题,深刻体会到不是代码层级可以解决的。很多问题难以解决之处在于你发现不了问题源头。例如服务器的tps上不去,瓶颈在哪里?程序内存溢出,什么原因造成的?如何监控程序运行的状况?为此,特意抽出时间,系统学习了jvm的相关原理,希望更深刻得了解java运行的机制。总之,学习jvm,能让你站更高处看问题。
主要看了几本书
1.《深入java虚拟机》是jvm领域的经典图书,已经绝版了,里面的内容很详细,深入到每条指令的执行过程
2.《深入理解java虚拟机》国内最近出版的一本书。写得非常好,将jvm的各个方向都叙述很详细,虽然某些方面是参考了第一本书。作者还在书里分享了自己多年jvm调优的经验,非常值得学习,在此强烈推荐
3.《Java虚拟机规范》是官方的规范文档,结合上面的书籍来看非常有用
4.《编译原理》第二版,传说中的龙书。重新翻出当年的课本,更加深刻了
关于这些blog
这几篇blog,写得比较仓促,基本上算是一些读书笔记了,可惜篇幅有限,少了很多例子讲解,不太适合入门,只适合对jvm有初步了解的同学借鉴。希望大家还是看我上面推荐的书,再结合我的这几篇blog总结。
接下来
等有时间了,希望能在以下一些方面跟大家一起做点探索
1.字节码方面的动态生成和修改,做一些模板,让开发者写更精简的代码
2.热部署。这方面的研究还比较肤浅,借鉴tomcat的源码
3.javac的源代码
4.jdk源码
希望大家也能推荐上述主题的相关资料 ken@iamcoding.com
谢谢!
分享到:
相关推荐
jvm自己学习总结,对JVM的工作原理进行记录学习笔记
这个资料包不仅涵盖了理论知识,还包含个人的学习笔记,对于学习和掌握JVM的各个方面都将大有裨益。无论是初学者还是经验丰富的开发者,都可以从中找到提升自己技能的宝贵资源。通过深入学习和实践,可以更好地理解...
Java虚拟机(JVM)是Java程序运行的核心,...总结来说,这篇JVM学习笔记涵盖了对象声明、内存分配的方法以及虚拟内存的基本原理。理解这些概念对于深入理解Java程序的运行机制、性能优化以及解决内存相关问题至关重要。
### JVM学习笔记核心知识点整理 #### 一、引言与背景 随着软件开发技术的不断发展,Java作为一种广泛应用的编程语言,其背后的核心技术——Java虚拟机(JVM)的重要性日益凸显。掌握JVM不仅可以帮助开发者更好地理解...
### JVM中篇笔记知识点 #### 一、Class 文件结构 ##### 1. 概述 - **字节码文件的跨平台性** - Java 的跨平台性体现在 "Write Once, Run Anywhere" (WORA),即一次编写,到处运行。Java 语言编写的源代码在编译...
本文将深入探讨JVM中的访问控制器,并通过分析"java之jvm学习笔记十一(访问控制器) -源码"中的`MySecurityManager`来进一步理解其工作原理。 访问控制器的主要任务是对类、方法和字段的访问进行限制,防止恶意代码...
《JVM学习笔记》 Java虚拟机(JVM)是Java平台的核心组成部分,它负责运行所有的Java应用程序。这篇笔记将深入探讨JVM的工作原理、内存管理、类加载机制以及优化策略,帮助读者全面理解JVM并提升Java程序的性能。 ...
这篇文档是个人的Java学习笔记总结,旨在帮助0基础的学习者从零开始掌握Java基础知识,并逐步成为专业的Java开发者。以下是笔记中涉及的一些关键知识点: 1. **Java开发环境的设置**: 要开始Java编程,首先需要...
在JVM的学习过程中,策略文件是一个重要的环节,它主要用于安全管理,控制不同代码的权限。本篇笔记将深入探讨Java策略文件的概念、结构以及如何使用。 策略文件是Java安全模型的一部分,它定义了哪些代码可以执行...
本文将根据"JVM性能学习笔记思维导图"的主题,详细阐述JVM的主要组成部分,性能调优的关键点以及相关的工具与实践策略。** 1. **JVM结构与内存模型** - **类装载器(ClassLoader)**:负责加载类文件,确保类在运行...
### 深入解析 JVM 内存区域 #### 一、Java内存区域概述 Java虚拟机(JVM)作为Java程序的运行环境,负责管理和分配内存...理解这些区域对于深入学习JVM原理至关重要,也有助于开发者编写更加高效和可靠的Java应用程序。
《JVM内存管理学习笔记》 在Java世界中,JVM(Java Virtual Machine)是运行所有Java应用程序的核心。深入理解JVM内存管理对于优化程序性能、预防和解决内存泄漏问题至关重要。本文将从JVM内存模型、内存区域划分、...
总结,学习JVM对于深入理解Java应用程序的运行机制至关重要。通过掌握类加载、内存管理、执行引擎的工作原理,以及垃圾回收和性能优化的方法,开发者能更好地编写高效、稳定的Java程序。同时,熟练运用JVM监控工具,...
### Java分布式应用学习笔记02再谈JVM 在深入探讨Java虚拟机(JVM)时,我们再次聚焦于这个核心组件,它不仅是Java运行环境的心脏,也是构建分布式应用的关键技术之一。JVM作为Java语言的核心执行环境,其设计与...
【Java分布式应用学习笔记-谈JVM】 在Java分布式应用中,JVM(Java虚拟机)扮演着至关重要的角色。虽然有些人可能认为分布式系统与JVM的关系并不密切,但事实上,尤其是在大型分布式环境,如云计算服务平台,对Java...
《Java JDK7学习笔记》是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习java时遇到的概念、操作、应用或认证考试等问题及解决方案。《Java JDK7学习笔记》针对java se 7新功能全面改版,无论是章节架构...
《Java JDK7学习笔记》是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习java时遇到的概念、操作、应用或认证考试等问题及解决方案。《Java JDK7学习笔记》针对java se 7新功能全面改版,无论是章节架构...
Java学习笔记总结 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(后被Oracle公司收购)于1995年推出。它的设计目标是具备“一次编写,到处运行”的特性,这使得Java代码能够在各种操作系统上运行,...
总结以上知识点,Java学习笔记及心得主要涵盖了Java的环境配置、基本语法、面向对象编程的概念和实践等方面的内容。这些知识是Java编程入门和进一步学习的基础,为深入学习Java语言和理解其面向对象的特性提供了扎实...
【Java 知识大全】 Java 是一种广泛使用的...综上所述,Java 学习涵盖了从基础语法、JVM 内存模型到高级的并发控制、分布式服务协调以及流行框架的应用。深入理解这些知识点,有助于开发者构建高效、稳定的大型系统。