首页 > 其他分享 >jvm 初识

jvm 初识

时间:2023-04-14 09:56:32浏览次数:32  
标签:java jdk 跨平台 初识 内存 jvm 机器指令

总结

  • jvm 是一套规范,只要实现了相关规定就可以视为是一个 jvm,jdk 的是 hotSpot,不同 jdk 版本的 jvm 也有细微差异
  • jvm 不仅可以作为 java 的运行环境,还能作为别的语言的运行环境,比如 kotlin、 groovy 等
  • java 能跨平台是因为不同平台都有对应的 jvm,jvm 能把同样的 java 文件生成对应系统的机器指令,从而达到跨平台的目的
  • jvm 的根本作用就是生成机器指令、内存分配和垃圾处理

JVM、JRE、JDK

jvm:1,读取 class 文件,并解释为机器指令;2,内存分配
jre:运行机器指令;包含 jvm 和一些基础类库(String、Object 等)
jdk:包含 jre 和 编译工具(javac、javap 等)

类加载

看这里

内存分配

看这里

垃圾回收

看这里

标签:java,jdk,跨平台,初识,内存,jvm,机器指令
From: https://www.cnblogs.com/hangychn/p/17317348.html

相关文章

  • jvm
    1.什么情况下会发生栈内存溢出。  2.详解JVM内存模型思路:给面试官画一下JVM内存模型图,并描述每个模块的定义,作用,以及可能会存在的问题,如栈溢出等。我的答案:JVM内存结构   3.JVM内存为什么要分成新生代,老年代,持久代。新生代中为什么要分为Eden和Survivor。4.JVM......
  • JVM:内存结构上
    !点击代码高亮化!jvm内存结构·上程序计数器虚拟机栈(线程私有栈-方法的栈帧\FILO)当前线程的压入的方法的栈帧-Xss"SIZE":设置线程栈大小栈内存溢出SO:StackOverflowErrorat'错误代码处'递归调用有时第三方库也会导致SO:ObjectMapper/@JsonIgnore线程安全方法的......
  • jvm
    java内存模型与分区:本地方法栈:native方法调用本地其他语言接口;程序计数器:记录当前线程的运行位置;栈:存放运行时的方法,包括:局部变量表、操作数栈、动态链接(指向常量池)和方法返回地址。堆:初始化的对象、成员变量。方法区:类型信息(加载类的类型(Class)、类的完整名称、类型修饰符等......
  • JVM 内存
    简述JVM内存模型  从宏观上来说JVM内存区域分为三部分线程共享区域、线程私有区域、直接内存区域。1.1、线程共享区域1.1.1、堆区堆区Heap是JVM中最大的一块内存区域,基本上所有的对象实例都是在堆上分配空间。堆区细分为年轻代和老年代,其中年轻代又分为Eden、S0、S1......
  • 细读JVM日志--01
    七种垃圾收集器具体每一种的详情见以下是垃圾回收日志中的一块:0.150:[GC(System.gc())[PSYoungGen:5161K->931K(74752K)]5161K->939K(245760K),0.0007762secs] [Times:user=0.00sys=0.00,real=0.00secs]0.151:[FullGC(System.gc())[PSYoungGen:931K->0K(74752K)]......
  • JVM基础一
    目录一、JVM基本认识1、虚拟机与JVM2、JVM整体结构Java文件编译过程图JVM结构图JVM分类JVM生命周期简述简单了解几个虚拟机二、类加载子系统(ClassLoaderSubSystem)介绍1、类加载子系统作用、流程作用工作流程2、加载(Loading)3、连接(Linking)——验证(Verification)4、连接(Lin......
  • JVM:并发的可达性分析
    当前主流编程语言的垃圾收集器基本上都是依靠可达性分析算法来判定对象是否存活的,可达性分析算法理论上要求全过程都基于一个能保障一致性的快照中才能够进行分析,这意味着必须全程冻结用户线程的运行。在根节点枚举这个步骤中,由于GCRoots相比起整个Java堆中全部的对象毕竟......
  • 初识爬虫
    初识爬虫一、预备知识协议:就是两个计算机之间为了能够流畅的进行沟通而设置的一个君子协定,常见的协议有TCP/IP,SOAP协议,HTTP协议,SMTP协议等等。HTTP协议,中文名为“超文本传输协议”,是用万维网(WWW)服务器传输超文本到本地浏览器的传送协议。1、请求1请求行->请求方式(get/post......
  • JVM 堆内存大小查看
    JVM堆内存大小查看在默认不配置JVM堆内存大小的情况下,JVM根据默认值来配置当前内存大小,可通过如下命令进行查看:java-XX:+PrintFlagsFinal-version|grepHeapSize  上图表示启动的JVM默认最大堆内存约为2.9G,初始化大小为195MB。 ......
  • Spring Security系列教程-初识Spring Security
    前言在开始学习SpringSecurity系列教程之前,小千先带大家来了解一下SpringSecurity,看看它到底是什么,有哪些功能,有什么特点,以及它与别的同类框架相比,有什么不同,我们以后学习任何一个新技术,其实都可以遵循"3W1H"法则,这样学习起来才能更有条理。一.SpringSecurity概念首先请各位跟......