JVM从入门到精通(尚硅谷宋红康)

不动笔墨不读书,先把书读厚,再把书读薄是我学习方式。
所以等理解了再整理一次笔记,目前笔记和视频一一对应。
笔记连载中
《尚硅谷2020最新版宋红康JVM》

第1章:JVM与Java体系结构

01-JVM内存与垃圾回收篇概述

对 Java 程序员来说,Java 虚拟机(JVM )可以说是既熟悉又神秘,很少有 Java 程序员能够抑制自己探究它的冲动。可惜透彻讲解 JVM 的书籍(尤其是国内出版的)简直少之又少,这里就更不要说能系统讲解 JVM 的视频教程了。尚硅谷的这套 JVM 从入门到精通,绝对可谓是研究 JVM 的程序员及广大 JVM 爱好者的福音。

课程内容分为四个篇章

  1. 内存与垃圾回收篇
  2. 字节码与类的加载篇
  3. 性能监控与调优篇
  4. 大厂面试篇

本套视频使用到的软件

# JDK1.8	目前企业用的比例最高的JDK,本课程基于java8
# JClassLib_windows.zip 	用它读懂字节码文件
# MemoryAnalyzer-1.9.0.20190605-win32.win32.x86_64.zip	内存分析工具
# PXBinaryViewerSetup.exe	读取字节码的软件

使用到的资料

java虚拟机规范可以去官网下载,也可以去买jvm相关的书。

image-20200528170536898

内存与垃圾回收篇目录

image-20200528172515403

02-如何看待Java上层技术与JVM

作为 Java 工程师的你曾被 JVM 伤害过吗?你是否也遇到过这些问题?

  • 运行着的线上系统突然卡死,系统无法访问,甚至直接OOM!
  • 想解决线上 JVM GC 问题,但却无从下手。
  • 新项目上线,对各种 JVM 参数设置一脸茫然,直接默认吧,然后就 JJ了
  • 每次面试之前都要重新背一遍 JVM 的一些原理概念性的东西,然而面试官却经常问你在实际项目中如何调优 JVM 参数,如何解决 GC、OOM 等问题,一脸懵逼。

大部分Java开发人员,除了会在项目中使用到java平台相关的高精尖技术,对与Java技术的核心Java虚拟机了解很少

image-20200528175615725

开发人员如何看待上层框架?

一些有一定工作经验的开发人员,打心底觉得SSM,微服务等上层技术才是重点,基础技术并不重要,这其实是一种本末倒置的“病态”。

如果我们把核心类库的API比作数学公式的话,那么Java虚拟机的知识就好比公式的推导过程

计算机系统体系对我们来说越来越远,在不了解底层实现方式的前提下,通过高级语言很容易编程程序代码。但事实上计算机并不认识高级语言

image-20200528181329984

架构师每天都在思考什么?

  • 应该如何让我的系统更快?
  • 如何避免系统出现瓶颈?

03-为什么要学习JVM

为什么要学习JVM?

  • 面试的需要(面试爱问)
  • 中高级程序员必备技能
    • 项目的管理,调优的需要
  • 追求极客的精神(更高追求)
    • 理解垃圾回收算法,JIT(即时编译),底层原理

Java对比C++

java抛弃了C/C++的两大缺点,Java可以内存动态分配,有垃圾回收技术;

自动分配的内存要想再次使用就需要用到垃圾回收技术

image-20200617220057686

垃圾回收机制为我们打理了很多繁琐的工作,大大提高开发的效率,但是垃圾回收机制不是万能的,

懂得JVM内部的内存结构,工作机制,是设计高扩展性应用和诊断运行时问题的基础,

也是java开发工程师进阶的必备能力。

04-面向人群和课程特点

本课程面向人群

  • 拥有一定开发经验的 Java 平台开发人员
  • 虚拟机爱好者,JVM 实践者
  • 有一定的 Java 编程基础并希望进一步理解 Java 的程序员
  • 软件设计师,架构师
  • 系统调优人员

先学习怎么使用,再去了解原理是什么!别一开始就打消了积极性。

调优在课程第三篇会讲,会用到很多具体的监控工具

调优:代码层面、内存层面

代码层面i++,++i有何区别?

我们需要把代码编译成字节码文件,然后再反编译才能解释区别。

课程特点

  1. 讲理论的时间>讲代码的时间
  2. 通俗易懂说人话
  3. 图解

05-官方规范下载与参考书目

Java语言规范和JVM规范,推荐看8或者11,可以去官网下载https://docs.oracle.com/javase/specs/index.html

英语薄弱者请无视。

image-20200528170536898

不推荐买Java虚拟机规范这本书,规范未必能看得懂。推荐买深入理解Java虚拟机,我们要买的是规范的解读。

image-20200528204109488

JVM规范是Oracle公司发布的标准,随着JDK的不断更新,JVM规范也在不断迭代。规范是虚的,属于天上飞的理念,落地的实现是具体不同版本的Java虚拟机。JVM规范有很多版本,java虚拟机也有很多版本,我们要学的是官方正统的HotSpot虚拟机.

06-跨平台的语言Java和跨语言的平台JVM

跨平台的语言Java

世界上没有最好的语言,只有最适用于具体应用场景的编程语言。Java目前仍是世界上最流行的编程语言。

Java 不再是简简单单的一门计算机语言了,它更是一个平台,一种文化,一个社区,形成了庞大的生态。

java的特点之一:跨平台

image-20200528211245141

Java的官网介绍

The Java Virtual Machine is the cornerstone of the Java platform. It is thecomponent of the technology responsible for its hardware- and operating system-independence, the small size of its compiled code, and its ability to prote

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值