【JavaSE系列】Java概述

前言

  本文旨在介绍Java编程语言的历史背景、命名由来及其发展历程,并阐述Java语言的主要特点。此外,我们还将探讨Java生态系统中的几个关键概念——JDK、JRE以及JVM,解释它们各自的职责以及相互间的关系。通过本文,读者可以对Java有一个较为全面的认识,并理解为什么Java能够成为当今世界最流行的编程语言之一。

一、Java语言概述

  Java是一种面向对象的编程语言(Java底层是C++语言实现的),由Sun Microsystems公司于1995年推出。它是一种通用的、高级的、并发性强的、安全的、可移植的、解释性的、编译性的、动态的、跨平台的编程语言。Sun Microsystems公司于2010年1月被甲骨文(Oracle)公司以74亿美元的价格收购。甲骨文公司成为了Java语言的主要维护者和开发者之一。甲骨文公司官网地址:http://www.oracle.com

二、Java之父

  Java之父指的是詹姆斯·高斯林(James Gosling),在20世纪80年代末和90年代初,与Sun Microsystems公司的一些工程师一起开发了Java语言。出生于加拿大,1983年获得了卡尔加里大学的计算机科学博士学位。之后,他加入了Sun Microsystems公司,开始从事编程语言方面的研究工作。在Sun公司,他领导了一支团队,致力于开发一种新的编程语言,这就是后来的Java语言。 

三、Java名字来历与Logo

  在1990年代初,SUN公司的研发团队正在开发一种新的软件平台,该平台可以在各种不同的计算机系统上运行,并且能够处理各种多媒体文件。这种平台最初被称为“Oak”,以纪念SUN公司的首席科学家James Gosling喜欢的一棵橡树。 然而,在1995年,SUN公司发现该名称已经被一家电视机制造商使用了,因此他们需要一个新的名称。SUN公司的营销团队进行了一系列的市场调研,他们最终选择了Java这个名字。Java这个名字来源于印度尼西亚的爪哇岛,因为该岛是印度尼西亚咖啡的主产区。SUN公司的营销团队认为这个名字可以带来一些独特的品牌价值,并且可以与咖啡文化相关联,因此他们决定将这个名字用于新的软件平台。 

 四、Java语言发展史

  1. 1995年:Java语言诞生,由Sun Microsystems的James Gosling等人开发。
  2. 1996年:发布Java 1.0版本。
  3. 1998年:发布Java 2(也称为Java SE)版本,引入了重要的新特性,如Swing图形界面工具包、JavaBeans组件技术等。
  4. 2004年:发布Java SE 5.0版本,引入了自动装箱/拆箱、泛型、枚举、注解等重要特性。
  5. 2006年:Sun Microsystems发布Java SE 6版本,引入了更多的新特性,如JDBC 4.0、JAX-WS 2.0等。
  6. 2010年:Oracle公司收购了Sun Microsystems,成为Java语言的主要维护者。
  7. 2011年:发布Java SE 7版本,引入了重要的新特性,如Switch语句的字符串支持、NIO 2.0等。
  8. 2014年:发布Java SE 8版本,引入了Lambda表达式、Stream API、新的日期/时间API等重要特性。(长期支持的版本)
  9. 2017年:发布Java SE 9版本,引入了模块化系统、REPL工具等新特性。
  10. 2018年3月:发布Java SE 10版本,引入了局部变量类型推断、G1垃圾收集器等新特性。以后每6个月发布一个新版本。11、12、...21...
  11. 2018年9月:发布Java SE 11版本,成为长期支持版本,移除了一些过时的API,引入了新的HTTP Client API等新特性。(长期支持的版本)
  12. 2021年9月:发布Java SE 17版本,增加了Sealed类、Pattern Matching for switch、Records等功能。(长期支持的版本)
  13. 2023年9月:发布Java SE 21版本,该版本也是长期支持的版本。

五、Java语言特点

  1. 简单易学:Java语言的语法和C语言很相似,但是它去掉了C中的复杂的指针和多重继承等特性,使得Java语言更加简单易学。
  2. 面向对象:Java语言是一种纯面向对象的编程语言,它支持对象的封装、继承和多态等面向对象的特性。
  3. 平台无关性(跨平台性:一次编译到处运行):Java语言的程序可以在不同的操作系统和硬件平台上运行,这是因为Java程序被编译成字节码,而不是机器码,字节码可以在任何支持Java虚拟机的平台上运行。 实现原理:不同的操作系统上安装属于自己的Java虚拟机,而Java虚拟机屏蔽了各个操作系统之间的差异,从而做到跨平台。
  4. 安全性:Java语言具有很高的安全性,它提供了一系列的安全措施来保护程序不受恶意攻击和病毒侵害。
  5. 高性能:Java语言具有很高的性能,它采用了一系列优化措施来提高程序的执行速度和内存使用效率。 多线程支持:Java语言具有很好的多线程支持,它提供了一系列的线程控制机制,使得程序可以更好地利用计算机的多核处理能力。
  6. 自动垃圾回收机制:Java语言采用的是垃圾回收机制(Garbage Collection,简称GC),也就是自动内存管理机制。在传统的编程语言中,程序员需要手动分配和释放内存,容易出现内存泄漏和悬挂指针等问题。而Java语言采用的垃圾回收机制可以自动分配和释放内存,避免了这些问题。 

六、Java的加载与执行

  需要注意的是:

  1. 包含两个阶段:编译阶段和运行阶段。
  2. 编译阶段和运行阶段可以在不同的操作系统上完成。
  3. 编译后删除java源程序,不会影响程序的执行。
  4. 生成的class文件如果是A.class,则类名为A。如果是Hello.class,则类名为Hello。
  5. javac是负责编译的命令。java是负责运行的命令。
  6. class文件不是机器码,操作系统无法直接执行。只有JVM才能看懂。
  7. JVM会把class字节码解释为机器码,这样操作系统才能看懂。
  8. JDK、JRE、JVM分别是什么?他们的关系是什么? 

 七、环境变量CLASSPATH

  • classpath环境变量是隶属于Java语言的。不是windows操作系统的。和PATH环境变量完全不同。
  • classpath环境变量是给classloader(类加载器)指路的。
  • java A。执行后。先启动JVM,JVM启动classloader,classloader去硬盘上通过classpath找A.class文件。找到则执行,找不到则报错。
  • 如果classpath没有配置的话,默认从当前路径下找class字节码文件。
  • 如果classpath配置了,例如配置到桌面上了:C:\Users\Administrator\Desktop,那么classloader以后就只会去桌面上找字节码文件了,不再从当前路径下找了。
  • 注意,如果classpath配置为:classpath=.;C:\Users\Administrator\Desktop 是什么意思呢?先让类加载器从当前路径下找,如果找不到的话,去C:\Users\Administrator\Desktop找。

总结

   Java作为一种面向对象的编程语言,自1995年由Sun Microsystems公司推出以来,便以其简单易学、平台无关性、安全性、高性能和自动垃圾回收等特点赢得了广泛的应用。从最初的Oak项目到如今的Java SE 21版本,Java经历了多个重要版本的迭代,引入了许多增强特性和改进,持续推动着软件开发的进步。本文不仅回顾了Java的发展历程,还深入探讨了其核心组件JDK、JRE和JVM之间的联系,帮助读者理解Java程序是如何从编写、编译到运行的全过程。Java的成功不仅仅体现在技术层面,它还塑造了一种文化,影响了数百万开发者的职业生涯。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

边城仔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值