Java基础八股

本文总结了Java语言的特点,如简单易学、面向对象、平台无关性、多线程支持等,并阐述了JDK、JRE和JVM之间的关系。Java代码编译成字节码,通过JVM运行,结合解释器和JIT编译器实现高效执行。字节码的存在提升了移植性和执行效率。

八股推荐看JavaGuide

本文采自网上八股,个人理解并总结之后发布博客,方便个人后期复习,如有侵权立刻删除!


Java语言特点

  1. 简单易学;

  2. 面向对象(封装,继承,多态);

  3. 平台无关性( Java 虚拟机实现平台无关性)(一次编译,随处运行,但是现在虚拟化技术较为成熟,如Docker、K8S、Mesos);

  4. 支持多线程( C++ 语言没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序设计,而 Java 语言却提供了多线程支持);

  5. 可靠性(具备异常处理和自动内存管理机制);

  6. 安全性(Java 语言本身的设计就提供了多重安全防护机制如访问权限修饰符、限制程序直接访问操作系统资源);

  7. 高效性(通过 Just In Time 编译器等技术的优化,Java 语言的运行效率还是非常不错的)

  8. 支持网络编程并且很方便;

  9. 编译与解释并存;

JDK、JRE、JVM之间联系

JDK是(Java Development Kit)的缩写,它是功能齐全的 Java SDK(Source  Development Kit)。它是JRE+JDT(Java Development Tools):比如编译 java 源码的编译器 javac 以及一些其他工具比如 javadoc(文档注释工具)、jdb(调试器)、jconsole(基于 JMX 的可视化监控⼯具)、javap(反编译工具。

JRE是Java Runtime Environment缩写,它是运行已编译 Java 程序所需的所有内容的集合,包括 Java 虚拟机(JVM),Java 类库,java 命令和其他的一些基础构件。包含 Java 应用程序的运行时环境和必要的类库。

JDK包含JRE,JRE包含JVM。

 什么是字节码?采用字节码的好处是什么?

字节码:.class文件,能被JVM理解的代码叫字节码,所以对于java代码,在编译之后能够随处运行;

好处:1.解决了传统解释型语言执行效率低的问题

​            2.拥有可移植性特点

这里着重说一下源代码到运行过程

 对于.class文件--》机器码,JVM加载字节码文件,通过解释器进行逐行解释运行,但是由于效率不高,引入了JIT编译,JIT(just-in-time compilation),JIT属于运行时编译,第一次编译之后会把字节码对应的机器码保存,所以下一次相同的字节码就直接使用机器码能提高效率,所以这个也是为什么Java是编译与解释共存的语言

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值