Java基础复习(一):JVM、JDK、JRE;Java与C++的区别

Java基础复习(一):JVM、JDK、JRE;Java与C++的区别

Java语言的特点

1、面对对象(封装、继承、多态)
2、多线程
3、解释与编译共存
4、安全性,可靠性
5、平台系统无关性(针对不同系统的不同Java虚拟机)
6、支持网络编程

JVM、JDK、JRE

JVM

JVM:能够运行字节码文件(.class文件)的虚拟机。Java针对不同的系统(Windows、Linux)有特定的JVM实现,保证了与平台系统无关性的特点,保证了如果使用相同的字节码文件,就会有相同的结果。
JVM详解

Java程序实现的步骤:.java文件(源代码)—>javac命令(JDK中的javac编译)编译成.class文件(JVM可以理解的字节码文件)—>JVM实现.class文件,并转换为二进制机器码。

编译器:JIT编译器、JDK9引入的AOT
  JIT编译器:当 JIT 编译启用时(默认是启用的),JVM 读入.class 文件解释后,将其发给 JIT 编译器,JIT 编译器将字节码编译成本机机器代码。原本JVM 通过解释字节码将其翻译成对应的机器指令,需要逐条读入,逐条解释翻译,执行速度必然会比可执行的二进制字节码程序慢很多。所以引入JIT,JIT在运行时,会把翻译过的机器码保存起来,以备下次使用,
JIT编译器详解

JRE

JRE:是Java运行时的环境,用来运行已编译好的Java程序。包括JVM,Java类库,Java命令和一些基础构件。只有JRE不能进行Java程序开发。

JDK

JDK:拥有JRE拥有的一切,加上编译器和其他工具。可以用来创建,编译Java程序。

Java与C++的相同和不同

相同:1、都是面向对象的一种语言,支持封装、继承、多态
不同:1、指针 :Java语言不提供指针来访问内存,并且增添了自动的内存管理功能,从而有效地防止了c/c++语言中指针操作失误。
   2、多重继承:C++支持多重继承;Java不支持多重继承,只能单继承,但对于接口可以多重实现。
   3、内存管理机制:Java有自动的内存管理机制,不需要程序员手动管理。
   4、数据类型及类 :Java是完全面向对象的语言,所有函数和变量部必须是类的一部分。对象将数据和方法结合起来,把它们封装在类中。而c++允许将函数和变量定义为全局的。
   5、操作符重载 :Java不支持操作符重载。操作符重载被认为是c十十的突出特征。
   6、预处理功能 :Java不支持预处理功能。c/c十十在编译过程中都有一个预编译阶段,即预处理器。
    7、字符串或字符数组:C/C++语言中字符串或字符数组的最后都会加上‘\0’表示结束的字符。Java中没有。详细解释
    8、异常处理: JAVA中的异常机制用于捕获例外事件,增强系统容错能力 。而C++则没有如此方便的机制。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值