JAVA基础部分 JDK和JRE以及JVM
第一部分:
一、dos命令
*快捷查看电脑ip:
Win + R进入cmd;输入ipconfig/all查看IPv4:192.168.0.xxx(首选);
基本命令:
cd进入目录;d: 直接进入盘符;. 当前目录;..上级;/根目录;md 创建目录;dir查看当前目录下所有文件;
rd + 文件夹名:删除文件夹;del+文件名:删除文件;cls:清屏;type nul>*.*;这里我们在前面创建的myfolder文件夹中进行展示,分别创建带有文件名的myfile.txt文件和不带文件名的.test两个文件,:创建空文件;
二、JDK与JRE以及JVM的区别
JVM:JAVA虚拟机,具有JIT(JUST IN TIME)即时编译,即时编译技术提高了运行效率,将一些”热点”字节码编译成本地机器码,并讲结果缓存起来,在需要的时候重新调用,使JAVA运行效率大大提高;JVM就是“一台虚拟机器”用于将字节码解释成二进制的机器语言,不同操作系统OS具有不同的JVM,JVM是跨平台的核心机制,源文件经过编译后成字节码文件就可以在不同的操作系统上进行解释运行(需按照对应操作系统的JVM),实现了一次编译随处运行。JVM也定义了指令集,垃圾收集堆,结构栈,寄存器,内存区域等。
JRE:JAVA运行环境,JRE包括了JVM和类库,如果只需要运行JAVA程序,不需要安装JDK,安装JRE就可以运行。源文件经过了编译器编译成了字节码文件后,字节码文件进入JRE里进行了类装载器(装载)、字节码校验器(校验)、解释器(解释)等成二进制机器码。
JDK:JAVA开发工具包,如果需要开发JAVA项目,需要安装JDK,JDK里包括了JRE,增加了编译器和调试器用于编译和调试。
三、javac、javaw、javap的区别
Javac存在于JDK中,用于编译JAVA源文件.java的,编译成字节码文件.class;
Javaw存在JRE中,用于运行字节码文件.class的
Javap反编译,可以用于帮助开发者深入了解Java编译器的机制,
四、path与classpath的区别
classpath是模仿path出现的,path是让所有exe结尾的文件在任意目录下都可以使用,
而classpath是为了在任意位置都能够执行后缀名为class的文件
五、JAVA跨平台的原理
java跨平台是通过JVM(java 虚拟机)实现的。
六、.Java程序执行的步骤以及工作原理
JAVA源文件.java经过JAVA编译器的编译后成字节码文件,进入JRE中,经过是类装载器的装载,字节码校验器的校验,JAVA解释器的解释,或者是即时代码发生器有选择的转换成机器码执行
七、Java的语言特点和原因
1、跨平台性(可移植性)
2、安全性
3、面向对象
4、简单性
5、高性能
6、分布式
7、多线程
8、健壮性
1、Java虚拟机的体系结构
·每个JVM都有两种机制:
①类装载子系统:装载具有适合名称的类或接口
②执行引擎:负责执行包含在已装载的类或接口中的指令
·每个JVM都包含:
方法区、Java堆、Java栈、本地方法栈、指令计数器及其他隐含寄存器
2、Java代码编译和执行的整个过程
也正如前面所说,Java代码的编译和执行的整个过程大概是:开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件),再然后字节码被装入内存,一旦字节码进入虚拟机,它就会被解释器解释执行,或者是被即时代码发生器有选择的转换成机器码执行。
(1)Java代码编译是由Java源码编译器来完成,也就是Java代码到JVM字节码(.class文件)的过程。 流程图如下所示:
(2)Java字节码的执行是由JVM执行引擎来完成,流程图如下所示:
Java代码编译和执行的整个过程包含了以下三个重要的机制:
·Java源码编译机制
·类加载机制
·类执行机制
https://blog.csdn.net/ancientear/article/details/79483592
JAVA基础部分 JDK和JRE以及JVM的更多相关文章
- JAVA基础之JDK、JRE、JVM关系
什么是JRE和JDK JDK(Java Development Kit Java开发工具包) JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE.所以安装了JDK,就不 ...
- 【Java】认识 JDK,JRE,JVM
JDK,JRE,JVM 今天我们讨论下这三个Java工具 JDK 全称Java Development ToolKit(Java 开发工具包). JDK是整个JAVA的核心,其包括了Java运行环境( ...
- Java学习2 - JDK和JRE和JVM的区别_JDK的下载安装_环境变量配置
一 JDK和JRE和JVM的区别 Jdk: Java Development kit - Java 开发工具 JRE: Java Runtime Environment - java运行环境 JVM: ...
- JDK,JRE,JVM三者之间的关系和作用
1,定义: JDK: Java Develpment Kit java 开发工具 bin:最主要的是编译器(javac.exe) include:java和JVM交互用的头文件 lib:类库 JRE: ...
- Java基础笔记(一)——JDK、JRE、JVM
JDK.JRE和JVM三者的关系 Java程序执行过程 JVM(java virtual machine) 注:由于各种操作系统(windows.linux等)支持的指令集(二进制可执行代码)不同,程 ...
- Java中JDK、JRE和JVM三者之间有什么区别和联系?Java基础!
任何语言或软件都需要一个运行环境.正如人想生活在空气中,鱼想生活在水中一样,喜荫植物不能暴露在阳光下,任何物体个体的存在都离不开其所需的环境,编程语言也是一样的. 接下来就详细描述一下Java中JDK ...
- Java基础知识 ——JDK,JRE和JVM
1.开发简单的Java程序过程: 名词解释: JDK:JDK是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心,它包含了JAVA的运行 ...
- Java基础系列(1)- JDK、JRE、JVM
Java三大版本(Write Once:Run Anywhere) JavaSE:标准版 JavaME:嵌入式开发 JavaEE:E企业级开发 JDK.JRE.JVM JDK是开发工具包 JRE是编译 ...
- java环境变量以及jdk、jre、jvm
一.jdk,jre,jvm的了解:jdk全称java development kit即java开发工具包,是整个java的核心,包含了java运行环境jre.java工具包和java的基础类库: jr ...
随机推荐
- cocos2d-js 遮挡层(禁止触摸事件传递层)
在游戏中,我们经常会碰到一些弹窗,这些弹窗禁止点透,也就是禁止触摸事件传递到底层,我们称之为遮挡层,这些遮挡层,需要开发遮挡层,我们首先得了解cocos2d-js的触摸传递机制,本文主要针对cocos ...
- python No tests were found问题解决方法
由于刚刚开始用python去写测试接口框架,在写的过程中遇到No tests were found问题 原因:python中unittest框架是以Test开头的方法,所以定义方法或类不能以Test开 ...
- ASP.Net Core 2.2 MVC入门到基本使用系列 (一)(转)
本教程会对基本的.Net Core 进行一个大概的且不会太深入的讲解, 在您看完本系列之后, 能基本甚至熟练的使用.Net Core进行Web开发, 感受到.Net Core的魅力. 本教程知识点大体 ...
- json_encode转义中文问题
默认情况下php的 json_decode 方法会把特殊字符进行转义,还会把中文转为Unicode编码形式. 这使得数据库查看文本变得很麻烦.所以我们需要限制对于中文的转义. 对于PHP5.4+版本, ...
- oracle中实现自增id
在一些数据库(例如mysql)中,实现自增id只要在建表的时候指定一下即可, 但是在oracle中要借助sequence来实现自增id, 要用上自增id,有几种方式: 1.直接在insert语句中使用 ...
- arm trustzone
arm的trustzone并不涉及到具体的crypto算法,只是实现: 1) 敏感信息的安全存储: 2) 控制bus和debug的安全访问,保证信息不被泄露: trustzone是system_lev ...
- mysqladmin -u root password
ERROR : Error appeared during Puppet run: 192.77.108.242_mysql.ppError: mysqladmin -u root password ...
- java.security.NoSuchAlgorithmException: AES KeyGenerator not available
异常信息 Caused by: Java.lang.IllegalStateException: Unable to acquire AES algorithm. This is required t ...
- JS神经网络deeplearn.js:浏览器端机器智能框架
JS神经网络deeplearn.js:浏览器端机器智能框架 通过 deeplearn.js,可以实现在浏览器中训练神经网络模型,也可在推理阶段运行预训练模型. deeplearn.js 以 TypeS ...
- spark机器学习笔记01
1)外部数据源 val distFile1 = sc.textFile("data.txt") //本地当前目录下文件 val distFile2 =sc.textFile(& ...