jdk和jvm基本介绍
一、JDK和JRE?
在刚入门java开发的时候,第一步都要从官网下载JDK来帮助开发,下载下来安装之后看到安装目录结构如下

bin目录:存放Java的编译器、解释器等工具(可执行文件)。
db目录:JDK7附带的一个轻量级的数据库,名字叫做Derby。
include目录:存放的调用系统资源的接口文件。
jre目录:存放Java运行环境文件。
lib目录:存放Java的类库文件。
src.zip文件:JDK提供的类的源代码。
总结:
JRE: java运行环境。 JRE = java虚拟机 + 核心类库(辅助java虚拟机运行的文件)
JDK:java开发工具集。 JDK = JRE + JAVA开发工具
二、java虚拟机的种类
java出来的时候就号称一次编译处处运行,具有良好的跨平台性。就得益于java虚拟机的存在。通过在不同的平台安装不同的虚拟机,在虚拟机上运行编译好的二进制文件,达到一次编译处处运行的效果。
市面上用的最多的两种java虚拟机:
1.HotSpot JVM 市面上用的最多的一款JVM,也是官网下载jdk默认的JVM。如果没有特殊强调java虚拟机说得就是HotSpot版本。
2.J9 JVM 这款java虚拟机是由IBM开发的商用虚拟机,基本只限于IBM的一些产品使用。
通过 java -version 命令可以查看当前系统的java虚拟机版本

三、java虚拟机的体系结构
1.类加载器:ClassLoader用来加载编译好的class文件
2.执行引擎:执行字节码和本地方法
3.运行时数据区:jvm运行时的内存区域
基本结构如下图:

jdk和jvm基本介绍的更多相关文章
- 9.Java三大版本以及JDK,JRE,JVM简单介绍
Write Once,Run Anywhere. JavaSE:标准版(桌面程序,控制台开发...),是Java的基础和核心. JavaME:嵌入式开发(手机,小家电...),现在基本不用已经过时. ...
- Java开发介绍之JDK JRE JVM 和 环境变量配置
一.JDK>JRE>JVM JDK(Java Development Kit):Java开发工具包 JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和 ...
- JVM监控工具介绍
JVM监控工具介绍 VisualVM是一种集成了多个JDK命令行工具的可视化工具,它能为您提供强大的分析能力.所有这些都是免费的!它囊括的命令行工具包括jps,jstat,jmap,jinfo,jst ...
- JDK,JRE,JVM区别与联系
JDK : Java Development ToolKit(Java开发工具包).JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工 ...
- Java内存泄露监控工具:JVM监控工具介绍【转】
jstack?-- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程 ...
- 十二、jdk工具之jcmd介绍(堆转储、堆分析、获取系统信息、查看堆外内存)
目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...
- JDK,JRE,JVM的区别与联系?
概念区别 JDK: Java Develpment Kit java 开发工具JRE: Java Runtime Environment java运行时环境JVM: ...
- JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta
JVM监控工具介绍 jstack - 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程 ...
- 细分java环境中的JDK、JVM、JRE
细分java环境中的JDK.JVM.JRE 近来小看了下Android,扑面而来一堆概念JDK.JVM.JRE.SDK.NDK.ADT.缕了一下,其中JDK.JVM.JRE是java环境的东西,而SD ...
随机推荐
- 微服务配合docker使用
1.docker 安装 rabbitmq 启动脚本: docker run -d --name rabbitmq --publish : \ --publish : --publish : --pub ...
- U盘快速启动热键
各个品牌电脑U盘快速启动热键如下:
- BZOJ5475 WC2019数树(prufer+容斥原理+树形dp+多项式exp)
因为一大堆式子实在懒得写题解了.首先用prufer推出CF917D用到的结论,然后具体见前言不搭后语的注释. #include<iostream> #include<cstdio&g ...
- Matplotlib学习---用matplotlib画雷达图(radar chart)
雷达图常用于对多项指标的全面分析.例如:HR想要比较两个应聘者的综合素质,用雷达图分别画出来,就可以进行直观的比较. 用Matplotlib画雷达图需要使用极坐标体系,可点击此链接,查看对极坐标体系的 ...
- GGS-DDU HDU - 4966
GGS-DDU Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total S ...
- MT【260】单调函数
设$f(x)$是定义在$(0,+\infty)$上的单调函数,且对定义域内的任意实数$x$,都有$f(f(x)-\log_2 x)=3$, 求$f(x)-f^{'}(x)=2$的解所在的区间.____ ...
- Hdoj 1160.FatMouse's Speed 题解
Problem Description FatMouse believes that the fatter a mouse is, the faster it runs. To disprove th ...
- 牛客小白月赛12J(序列自动机)
题目链接:https://ac.nowcoder.com/acm/contest/392/J 题目大意:给一个字符串s,然后在给出n个其他的字符串,判断每个字符串是否为s的子序列. 例: 输入: no ...
- XML学习入门
很久没更新博客了.来一发! 关于XML,当时没学过感觉难吧?其实XML还是蛮好学的,这里留下一些入门级别的内容. XML中dtd(文档类型定义)的主要用处是约束xml,也可以去约束html,xhtml ...
- Python使用import导入相对路径的其他py文件
假如有如下的目录结构 . ├── setup.py ├── main.py ├── mod/ │ └── mod.py └── sub/ └── sub.py 情况1:setup.py导入main ...