Java基础知识

本文详细介绍了Java的主要特性,包括安全性、体系结构中立性、编译与解释并存、高性能及原生的多线程支持。此外,讨论了Java的面向对象特性,如封装、继承和多态,并强调了其健壮性和跨平台性。文章还深入讲解了Java的两大核心机制——Java虚拟机(JVM)和垃圾回收(GC)机制。最后,阐述了JDK、JRE和JVM之间的关系,明确了它们在Java开发和运行中的角色。
摘要由CSDN通过智能技术生成

1. Java主要特性

  1. Java语言是安全的:Java通常用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。例如:安全防范机制(类加载器ClassLoader),分配不同名字空间防止替代本地的同名类,字节码检查。
  2. Java语言是体系结构中立的:Java程序在Java平台上被编译为体系结构中立的字节码文件,然后可以在实现这个Java平台的任何系统上运行。
  3. Java语言是编译与解释并存的:如前所述,Java程序现在Java平台上被编译为字节码,然后再在实现这个Java平台的任何系统的解释器中运行。
  4. Java语言是性能略高的:与其他解释型高级脚本语言对比,Java是性能较优的。
  5. Java语言是原生支持多线程的:在Java语言中,线程是一种特殊的对象。必须由Thread类或者其子类来创建。

2. Java语言的特点

  1. 面向对象:
    1. 两个基本概念:类、对象
    2. 三大特征:封装、继承、多态
  2. 健壮性:吸收了C、C++语言的优点,去掉了其中影响程序健壮性的部分(如:指针、内存的申请和释放等),提供了一个相对安全的内存管理和访问机制
  3. 跨平台性:通过Java语言编写的程序可以在不同的系统平台上运行。
    1. 原理:只需要在运行Java程序的操作系统上,安装一个Java虚拟机JVM即可,由JVM来负责Java程序在该系统的运行。

3. Java的两种核心机制

  1.  Java虚拟机
    • JVM是一个虚拟的计算机,具有指令集并使用不同的内存区域,负责执行指令、管理数据、内存、寄存器。不同的平台有不同的虚拟机。只有某平台提供了对应的Java虚拟机,Java程序才可以在此平台上运行,Java虚拟机机制屏蔽了底层运行平台的差别。
  2. 垃圾回收机制GC
    • 在C、C++中,由程序员决定回收哪些无用内存
    • Java语言消除了程序员回收无用内存的责任,提供了一种系统级线程跟踪存储空间的分配清空。并在JVM空闲时,检查并释放哪些可被释放的存储空间。
    • 垃圾回收在Java程序运行过程中自动运行(有一个专门用于垃圾回收的线程,gc线程),程序员无法准确的控制和干预。
    • 需要注意:Java程序仍然会出现内存泄漏和内存溢出的问题,内存泄漏(内存中存在对象,不能被回收)

4. JDK、JRE、JVM之间的关系

  1. JDK是Java Development Kit的缩写,意思是Java开发工具包,其中包括JRE和一些开发工具,例如javac、jar、javadoc等
  2. JRE是Java Runtime Environment的缩写,意思是Java运行环境,包括了Java虚拟机JVM和Java核心类库,如果想要运行Java程序,只需要安装JRE即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值