首页 > 其他分享 >JVM入门探究

JVM入门探究

时间:2023-01-12 17:35:30浏览次数:40  
标签:Java 入门 探究 JVM java 方法 Class 加载

JVM探究

面试常见:

  1. 请你谈谈你对JVM的理解?
  2. java8虚拟机和之前的变化更新?
  3. 什么是OOM,什么是栈溢出StackOverFlowError? 怎么分析?
  4. JVM的常用调优参数有哪些?
  5. 内存快照如何抓取,怎么分析Dump文件?
  6. 谈谈JVM中,类加载器你的认识

1.JVM的位置

在这里插入图片描述

JRE:java开发环境,包含了JVM

2.JVM的体系结构

在这里插入图片描述

图 .java->.class的变化

Java栈、本地方法栈、程序计数器不会有垃圾回收,否则程序会死掉

百分之99的JVM调优都是在方法区和堆(99%是堆)中调优,Java栈、本地方法栈、程序计数器是不会有垃圾存在的。

3. 类加载器

类是模板,是抽象的,类实例化得到的对象是具体的。所有的对象反射回去得到的是同一个类模板。

作用:加载Class文件~

在这里插入图片描述

类在经过Class Loader之后的变化

  1. 虚拟机自带的加载器
  2. 启动类(根)加载器 BootstrapClassLoader
  3. 扩展类加载器  ExtClassLoader
  4. 应用程序加载器  AppClassLoader
  5. 百度:双亲委派机制

4.双亲委派机制

双亲委派机制:安全  
APP–>EXC—B0OT(最终执行)  
// B0OT  
// EXC  
// APP

  1. 类加载器收到类加载的请求 Application
  2. 将这个请求向上委托给父类加载器去完成,一 直向上委托,直到启动类加载器  Boot
  3. 启动加载器检查是否能够加载当前这个类,能加载就结束, 使用当前的加载器,否则, 抛出异常,通知子加载器进行加载
  4. 重复步骤3
  5. Class Not Found异常就是这么来的
  6. Null:Java调用不到。Java早期的名字:C+± -  Java = C++:去掉繁琐的东西,指针,内存管理~

Java语言保留了C的接口,这些方法就是用native(本地)修饰的,java通过native方法调用操作系统的方法

标签:Java,入门,探究,JVM,java,方法,Class,加载
From: https://www.cnblogs.com/chengbb/p/17047306.html

相关文章

  • jvm调优
    jpsjstat-gcjava_pid  jstat命令jstat命令可以查看到很多的jvm信息,详细内容可以自行百度,本篇只介绍我们经常使用的命令。jstat-gcPID100010一般最常......
  • 【微信小程序入门到精通】— button 超详细讲解
    对于目前形式,微信小程序是一个热门,那么我们该如何去学习并且掌握之后去做实际项目呢?为此我特意开设此专栏,在我学习的同时也将其分享给大家!本文主要给大家介绍一下button......
  • 接口测试-第01天-万字教程带你入门接口测试
    更多功能测试以及全套学习路线图均在专栏~系列文章目录......
  • 【深入浅出Seata原理及实战】「入门基础专题」带你透析认识Seata分布式事务服务的原理
    分布式事务的背景随着业务的不断发展,单体架构已经无法满足我们的需求,分布式微服务架构逐渐成为大型互联网平台的首选,但所有使用分布式微服务架构的应用都必须面临一个十分棘......
  • leetcode_数据结构_入门_350. 两个数组的交集 II
    350.两个数组的交集II 给两个整数数组 nums1和nums2,请以数组形式返回两数组的交集(其在交集中出现的次数:等于该数字在两个数组中出现次数的最小值)。返......
  • springdata入门(纯赶货)
    ​入门初始化springboot依赖引入<!--springdata--><dependency><groupId>org.springframework.boot</groupId><artifactI......
  • 【LeetCode】学习计划——SQL入门
    Day1选择595.大的国家World表:+-------------+---------+|ColumnName|Type|+-------------+---------+|name|varchar||continent|varchar......
  • 快速入门前端图表插件E-chart
    在前端项目开发中,有很多地方会遇到绘制图表的需求,一般的图表可以通过canvas来绘制,但是遇到复杂一点的图表怎么办呢?而且黑马的课程大纲已经把canvas课程删掉了,既然canvas有用......
  • 1、amis-快速入门
    目录1、下载2、使用3、完整的代码1、下载打开网址amis网址:aims点击发行版,跳转至下载页面下载2、使用将下载下来的压缩包,解压到sdk的文件夹内,并在项目中......
  • Webpack 入门
    Webpack入门如果你不想一步一步的学习,也可以直接从头到尾的阅读一遍,然后直接去将案例下载下来,假设有不懂的可以再回来看一遍.前言什么是WebpackWebpack可以看......