1.复习-Java概念

1.Java概念

1、java语言是跨平台性的,是解释型的

解释性语言:JavaScript、PHP、java

编译型语言:c/c++

区别:解释性语言,编译后的代码,不能直接被机器执行,需要解释器来执行;编译性语言,编译后的代码,可以直接被机器执行,c/c++

JVM(java virtual machine虚拟机)实现了java程序的跨平台性。

.class文件是给电脑看的

Java是如何实现跨平台性的?

  • Java实现跨平台性的关键在于JVM虚拟机,Java语言编写的程序会被编译成与平台无关的字节码文件,因为Java字节码不针对特定的操作系统或硬件,而是设计成一种中间代码,可以在不同平台上被解释执行。

JVM是Java跨平台的核心组件。它作为一个运行时环境,负责加载字节码并将其解释或编译为特定平台的机器代码。每个操作系统都有其专用的JVM实现

Java源码只需编译一次,将java文件编译成class文件,就可以通过安装在Windows或Linux中的JVM中运行。

2、JDK 和 JRE 有什么区别?

JDK 全称 java Development Kit(java开发工具包)

JDK = JRE+ java的开发工具(java、javac、javadoc、javap等)

JRE(java Runtime Environment)java运行环境

JRE = JVM+java的核心类库

若想运行一个开发好的.class文件,计算机内只需要安装JRE即可。

  • JDK是Java开发工具包,它包含了JRE和开发工具(如javac编译器和java程序运行工具等)

3、Java开发注意事项和细节说明

1.Java语言严格区分大小写。

2.java每个语句以“;”结束。

3.一个源文件中最多只能有一个public类。其他类的个数不限。

4.编译后,每一个类都对应一个.class

5.如果源文件包含一个public类,则文件名必须按该类命名!

4、Java都有哪些特性?

  • 1.简单性

    • Java剔除了C++中很多少用、难以理解、容易混淆的特性
  • 2.面向对象

    • 面向对象是一种程序设计规范,其基本思想是使用对象、类、继承、封装、多态等基本概念来进行程序设计。
  • 3.分布式

    • Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。
  • 4.健壮性

    • Java非常强调进行早期的问题检测、后期动态的(运行时)检测,以及消除容易出错的情况,能够检测许多在其他语言中尽在运行时才能够检测出来的问题
  • 5.安全性

    • Java取消了强大但又危险的指针,而代之以引用。其他措施:垃圾回收机制、异常处理机制、强制类型转换、字节码的传输使用了公开密钥加密机制(PKC)等
  • 6.体系结构中立

    • Java编译器通过生成与特定的计算机体系结构无关的字节码指令来实现这一特性。
  • 7.可移植性

    • Java虚拟机是一个由软件和硬件模拟出来的计算机,所有的程序只要有Java虚拟机的支持,那么就可以实现程序的执行,并且不同的操作系统上会有不同版本的JVM存在,这样就可以实现移植性。
  • 8.解释型

    • Java解释器可以在任何抑制了解释器的机器上直接执行Java字节码
  • 9.高性能

    • 即时编译器可以监控哪些代码频繁执行,并优化这些代码以提高速度
  • 10.多线程

    • 一个进程运行时产生了不止一个线程
  • 11.动态性

    • Java本质为静态语言,而不是动态语言。动态语言显著的特点是在程序运行时,可以改变程序结构或变量类型。Java不是动态语言,但Java具有一定的动态性,表现在以下几个方面:

反射机制;
动态字节码操作;
动态编译;
执行其他脚本代码;

5、Java属于什么语言?

  • 高级语言

    • 高级语言是一种与具体硬件和操作系统无关的编程语言,它更接近于自然语言和数学语言,具有更高的可读性和可维护性。

    • 特点

      • 有更强的可读性和可维护性,因为它的语法结构和自然语言更为接近,可以更容易地被人类理解。
      • 有更高的抽象能力,可以更容易地表达复杂的算法和逻辑结构,同时也更容易被程序员理解和维护。
      • 指令系统通常更为复杂,需要编译器将高级语言代码转换为机器码,因此高级语言的代码通常比较大。
      • 可以提供更多的功能和特性,例如变量、函数、数组、对象等,使得程序编写更加方便和灵活。
      • 可以更好地支持面向对象编程(OOP)的特性,例如封装、继承、多态等,这使得程序更加模块化和可扩展。