认识Java

本文详细介绍了Java语言的十大特性,包括简单性、面向对象、分布式、健壮性、安全性等,并阐述了Java程序的运行过程,从源代码到字节码再到JVM的执行。此外,还解释了JVM在Java跨平台运行中的关键作用。
摘要由CSDN通过智能技术生成

——————Java不仅仅是一门编程语言,也是一个由一些计算机软件和规范组成的技术体系。


目录

Java语言特性

Java程序的运行

 什么是JVM?


开头为什么这样讲呢?

我们先来简单了解一下Java的语言特性:

Java语言特性

1.简单性
    Java语法是C++语法的一个“纯净版本”,相当于对C++做了一个减法。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等等。

2.面向对象
    在Java的世界里,一切皆对象。 Java的面向对象特性与C++旗鼓相当,与C++的主要不同点在于多重继承。在Java中,取而代之的是更简单的接口概念。而且与C++相比,Java提供了更丰富的运行时自省功能。

3.分布式(微服务)
    Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。

4.健壮性
    Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花费几个小时来检查由于指针bug而引起内存冲突的人来说,一定很喜欢Java的这一特性)。不仅如此,Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。

5.安全性
    Java适用于网络/分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用Java可以构建防病毒、防篡改的系统。

6.体系结构中立
    字节码的存在可以实现 Wrice once,Run anywhere, 而且其他语言编写的程序,在编译后如果能够严格按照字节码文件的规范生成.class文件,也可以在JVM上运行。

7.可移植性
    基本数据类型的大小以及有关运算都做了明确的说明。例如,Java中的int永远是32位的整数,而在C/C++中,int可能是16位整数、32位整数,也可能是编译器提供商指定的其他大小。

8.解释性
    之所以Java的实现可以与平台无关,是因为其自身维护着一套基于栈架构的指令集,源代码经过编译后字节码文件中的指令就是按照字节的指令集来组织的。

9.高性能
    边编译边执行。

10.多线程
     Java在当时很超前。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。

11.动态性
    Java与C/C++相比更加具有动态性。它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对客户端没有任何影响。


 Java程序的运行

 这里我们简单剖析一下Java程序运行的逻辑。

  • java是一门半编译型、半解释型语言。

  • 先通过java编译器(javac.exe)将源文件(xxx.java)进行编译,然后生成xxx.class文件(字节码文件)(由二进制编码),最后由java虚拟机中的JVM将字节码转换成平台的编码形式(平台能理解的形式)来运行

图解:


 什么是JVM?

 这里我们介绍一下JDK、JRE、JVM的关系你就会理解,同时也就能明白为什么初学Java时需要安装好JDK了。

  • JDK(Java Development Kit):开发工具包。
  • JRE(Java Runtime Environment):Java运行时环境,其中包含了JVM、Java基础类库,支撑Java程序运行所需环境。
  • JVM(Java Virtual Machine):Java虚拟机,是一种虚构出来的计算机,仿真模拟计算机各种功能,引入JVM后,Java语言在不同的平台上运行时不需要重新编译,这就是所谓的 “Wrice once Run anywhere”

图解:


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@糊糊涂涂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值