Java语言简介

Posted on 2020-03-24  504 Views


认识Java

Java语言发展史和平台概述

Java语言发展史

James Gosling 1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第一代工作站NeWS系统,但不受重视,后来转至Sun公司.1990年,与Patrick,Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java.

SUN(Stanford University Network,斯坦福大学网络公司) 

什么是跨平台?

平台:指的是操作系统(Windows,Linux,Mac)

跨平台:Java程序可以在任意操作系统上运行,一次编写到处运行

原理:实现跨平台需要依赖Java的虚拟机 JVM (Java Virtual Machine)

JVM,JRE,JDK概述

A:JVM(JVM Java Virtual Machine)

JVM是Java虚拟机,Java程序运行在虚拟机上,不同平台有自己的虚拟机,因此Java语言可以跨平台.

B:JRE(Java Runtime Environment)

包括Java虚拟机和Java程序所需的核心类库等,如果只是想要运行一个开发好的Java程序,计算机中只需要安装JRE即可.JRE等于JVM加上类库.

C:JDK(Java Development Kit)

JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE.安装了JDK,就不用再安装JRE了.其中编译工具(javac.exe) ,打包工具(jar.exe).JDK等于JRE加上开发的工具.

Java语言特点

  • Java是一个行业内通用的技术实现标准
    • Java本身算是半开源的产品,所以更多的厂商能够接触到Java的底层,使得开发更加透明
  • Java是一门面向对象的编程语言
    • 这样使得Java语法结构更加方便开发者接受,面向对象思想不断进行扩充
  • 提供有方便的内存回收机制
    • Java提供自动的内存回收操作,处理更方便(牵扯到优化方面)
  • 避免了复杂的指针的问题,使用更简单的引用来代替指针
    • 指针虽然是一种高效的内存处理模式,但是需要复杂的逻辑分析,Java在设计的时候充分考虑了这一点,所以开发者直接利用引用就可以简化指针的处理
  • Java支持多线程编程
    • 使得单位时间内,处理性能得到提升
  • Java提供高效的网络处理能力
    • 可以基于NIO实现更加高效的数据传输处理
  • Java具有良好的可移植性
    • 可以提升一个程序的适用范围

Java的可移植性

Java语言中最大的特点在于其可移植性的支持,所谓的可移植性指的是同一个程序可在不同的操作系统之间部署,这样减少了开发的难度.在Java中如果想要实现可移植性的控制,主要依靠的是Java虚拟机,其是由硬件和软件模拟出来的计算机,所有的计算机只要又饿Java虚拟机的支持,就可以实现程序的执行,不同的操作系统上有不同版本的JVM

Java应用程序运行机制

Java程序的解释都要求放在Java虚拟机上处理

所有的程序并不是直接运行在操作系统上,而是通过JVM执行,这样一来肯定要比在操作系统上执行程序速度慢,前期的确是一个问题,但是后来由于硬件技术的飞速发展,这些问题已经可以忽略了,但是仍然存在有JVM调优问题