Java语言的介绍
Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义。形成了规范的技术体系,用于软件开发等。
重要性
来自于TIOBE编程语言社区最新的排行榜,常年占据语言排行榜前4,是近些年最火的编程语言之一。由于现在技术在不断的发展,搞人工智能,大数据,语言易上手,Python位居榜一。
但是每一种语言都有自己应用的场景,并不能区分语言的好坏!
学好Java语言,可以从事 企业级系统,Web开发领域,android平台应用,大数据平台开发,Java在游戏领域、人工智能领域、科学计算领域、嵌入式领域也有一定的应用。因此学好Java,将来就业的选择也会非常广泛。
发展史
-
Java 语言起源于1991 年 4 月,Sun 公司 **James Gosling**博士 领导的绿色计划(Green Project) 开始启动,此计划最初的目标是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。
-
这个就是Java的前身: Oak (得名与Java创始人James Gosling办公室外的一棵橡树),但由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。
-
随着1995年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布,并提出“Write once, Run anywhere" 的口号。
-
随后Java平台也逐渐成熟。在随后的几年里,Java经历了多个版本的迭代和更新。1996年,JDK 1.0发布,标志着Java开始被广泛应用于网页开发。同年,约有8.3万个网页开始使用Java技术制作。1997年,JDK 1.1发布,同年召开了Java One会议,创下了当时全球同类会议规模之最。
-
进入21世纪后,Java的发展步伐更加迅速。2004年,JDK 1.5(后更名为JDK 5.0)发布,这一版本被认为是Java发展史上的里程碑。它引入了许多重要的特性,如自动装箱/拆箱、泛型、枚举、for-each循环等,使得Java语言更加易用和强大。
-
2005年,Java的命名规则发生了改变,J2SE更名为JavaSE,J2EE更名为JavaEE,J2ME更名为JavaME。这一变化反映了Java在不同领域的应用和发展。
-
在随后的几年里,Java继续推出了多个新版本,每个版本都在前一版本的基础上进行了改进和优化。其中,JDK 7.0和JDK 8.0是得到长期支持的版本,它们在Java社区中广泛使用。JDK 8.0引入了Lambda表达式和函数式接口等特性,使得Java在函数式编程方面有了更大的突破。
-
近年来,Java的发展依然保持着强劲的势头。JDK 11.0和JDK 17等版本相继发布,每个版本都带来了新的特性和改进。例如,JDK 11.0引入了全新的Date-Time API和Optional类,为处理时间和潜在空值提供了更为清晰、一致的工具。而JDK 17作为继Java 8之后最重要的LTS(长期支持)版本,更是凝聚了Java社区八年的努力成果。
加粗样式## 语言特性
Java语言具有多种显著特性,这些特性使Java成为广泛应用的编程语言之一。以下是对Java语言特性的简要概述:
- 简单性:Java语言相对简单,易于学习和使用。它丢弃了C++中一些难理解的特性,如运算符重载和多继承,同时拥有自动垃圾回收机制,使内存管理变得简单,无指针,结构。
- 面向对象:Java是一种纯粹的面向对象编程语言,支持封装、继承和多态等特性。这种面向对象的编程方式使得代码更加可重用和可维护。
- 跨平台性:Java语言具有“一次编写,到处运行”的特性,这得益于Java虚拟机(JVM)的存在。JVM提供了一个字节码到底层硬件平台及操作系统的屏障,使得Java程序可以在不同的操作系统上运行。
- 健壮性:Java语言具有强大的垃圾回收机制、强制类型转化机制、异常处理机制和安全性检查等重要机制,这些机制共同确保了Java程序的稳定性和可靠性。
- 安全性:Java语言设计之初就注重安全性,可以防止未经授权的访问和恶意代码的执行。
- 多线程支持:Java内置对多线程的支持,通过多线程技术,可以编写出高效且响应迅速的程序。
- 动态性:Java语言具有很好的动态性,支持在运行时加载和链接类库。
除此之外,Java语言还具有大量的开发库和框架,以及一个活跃的开源生态系统,这为开发者提供了丰富的资源和支持。
Java开发环境
安装Java开发环境主要包括下载和安装JDK(JDK17下一个长期版本)(Java Development Kit : Java开发工具包)以及配置环境变量path。
安装集成开发环境(IDE)IntelliJ IDEA,IDE提供了丰富的功能,可以帮助你更高效地编写、调试和运行Java程序。
初始Java main方法
public class test {
public static void main(String[] args) {
System.out.println("hello world!");
}
}
运行Java程序
代码写好,怎么运行起来呢?
以下不在集成环境中运行。
前提要安装好JDK,并配置好Path
Java是一门半编译型、半解释型语言。
先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的平台无关、面向JVM的文件。
最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。
1.在自己电脑上有一个Java文件
2.在文件所在路径,打开cmd窗口
3.执行命令! javac 编译Test.java源程序
4.生成字节码文件 Test.class
5.java Test 运行 Test.class字节码文件
讨论下main方法的参数 args
public class Test{
public static void main(String[] args){
System.out.println("hello world");
for(int i=0;i<args.length;i++){
System.out.print(args[i]+" ");
}
}
}
可知main发法的参数是在 用java运行字节码文件时传进来的参数。
JDK、JRE、JVM之间的关系?
JDK: Java Development Kit Java开发工具包
- 定义:JDK 是 Java 开发工具包,它包含了 JRE 和一系列用于开发 Java 程序的工具,如编译器(javac)、调试器(jdb)、文档生成器(javadoc)等。
- 用途:JDK 用于编写、编译和调试 Java 程序。
- 特点:JDK 是为 Java 开发人员提供的完整工具集,它使得开发人员能够创建、测试和优化 Java 应用程序。
JRE: Java Runtime Environment Java运行时环境
- 定义:JRE 是 Java 程序的运行环境,它包含了 JVM 和 Java 核心类库。这些类库是 Java 标准库的一部分,提供了 Java 程序所需的基本功能。
- 用途:JRE 用于运行已经编译好的 Java 程序(即 .class 文件或打包成 .jar 的文件)。
- 注意:虽然 JRE 包含了 JVM,但它并不包含编译器和调试器等开发工具。
JVM: Java Virtural Machine Java虚拟机
- 定义:JVM 是一个抽象计算机,它可以在特定的计算机硬件和操作系统上提供一个统一的平台,使 Java 程序能够在不同的硬件和操作系统上运行而无需修改。
- 功能:JVM 负责加载、验证、解释/执行 Java 字节码,并管理 Java 程序的内存分配和垃圾回收。
- 特性:由于 JVM 的存在,Java 实现了“一次编写,到处运行”的承诺。
JDK = JRE + 开发工具集(如:javac)
JRE = JVM + JavaSE标准类库