Java入门指南:基础概述

栗筝i
• 阅读 526

在这个日新月异、信息化浸透的时代,编程技术已然成为一项至关重要的技能。Java,这门被广大开发者所采纳的编程语言,凭借其强大的功能和无视平台差异的特性,在业界赫赫有名。无论你是身处计算机专业的学堂,还是对编程怀揣浓厚兴趣的初探者,精通 Java 都将对你的学术研究和职业道路产生深远的影响。

本次 Java 入门指南系列旨在为你展现一个 Java 的基础全景,内容涵盖 Java 的基本语法、数据类型、运算符、控制流程等诸多方面。我们将从最基础的部分出发,深入浅出,助你筑建坚实的 Java 基础。无论你是编程领域的新手,还是已经有所积累的学者,都可以从本文中受益匪浅。

期望通过本文,你能对 Java 有一个全方位的理解,为你的 Java 学习之旅垒砌坚实的基石。让我们共同踏上这个旅程吧!


1.1、Java语言简介

1.1、Java语言概述

Java 是由 Sun 公司的 James Gosling 团队于 1991 年研发的一门面向对象的编程语言。最初命名为 Oak,于 1995 年更名为 Java 并开始推广。随着互联网的崛起,Java 逐渐成为最重要的 Web 应用开发语言之一。

Java入门指南:基础概述

Java 是一门面向对象的高级编程语言,它吸收了 C 语言的优点,同时摒弃了 C 语言中难以理解的多继承、指针等概念,使得 Java 语言既功能强大又简单易用。作为静态面向对象编程语言的代表,Java 极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java 具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。它可以编写桌面应用程序、Web 应用程序、分布式系统和嵌入式系统应用程序等。

如今,Java 不仅仅是一门编程语言,更是由一系列计算机软件和规范组成的技术体系,成为了开发和提供嵌入式和移动应用程序、游戏、基于 Web 内容和企业软件的全球标准。

从笔记本电脑到数据中心,从游戏控制台到科学超级计算机,从手机到互联网,Java 无处不在,它是几乎所有网络应用程序的基础,深受全球开发者的喜爱。

Java 语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

1.2、Java语言的命名

Java语 言的命名源于印度尼西亚的爪哇岛,因其盛产咖啡而闻名。Java 语言中的许多类库名称,如 JavaBeans、NetBeans 和 ObjectBeans 等,也都与咖啡有关。Java 的创始人 James Gosling 最初将其命名为 Oak,但由于 Oak 已被其他公司注册,因此不得不更名。在一次命名征集会上,大家提出了许多名字,最终选择了排名第四的 Java。如今,Java 已经成为全球知名的企业级应用平台,其语言如同咖啡一般醇香动人。

1.3、Java在互联网领域的应用

Java 在互联网领域的应用非常广泛,主要体现在以下几个方面:

  1. Web 开发:Java 提供了大量的库和框架(如 Spring、Struts、Hibernate 等)用于 Web 开发,可以快速构建出功能强大的 Web 应用。

  2. 企业级应用:Java EE(Java Enterprise Edition)提供了一套完整的企业级应用解决方案,包括分布式计算、Web 服务、消息服务等。

  3. 大数据处理:Java 是 Hadoop、Spark 等大数据处理框架的主要开发语言。

  4. 云计算:许多云服务提供商(如 Amazon AWS、Google Cloud Platform 等)都提供了 Java SDK,开发者可以使用 Java 开发云应用。

  5. 移动应用开发:Android 系统的应用主要使用 Java 开发。

  6. 物联网:Java 由于其跨平台的特性,被广泛应用于物联网设备的开发。

  7. 游戏开发:Java 也被用于开发一些桌面游戏和网络游戏。

总的来说,Java 由于其强大的功能、优秀的跨平台性以及丰富的开发框架和库,使其在互联网领域得到了广泛的应用。


2、Java语言演进

2.1、Java 各版本特点

Java 语言自 1995 年由 Sun Microsystems 公司发布以来,已经经历了多次重要的版本更新和语言特性的改进。以下是 Java 语言的一些主要演进阶段:

版本 发布日期 版本特性
JDK1.0 1996 年 01 月 Java 的首个正式版本,伟大的一个里程碑,提供了基本的对象导向编程能力和网络处理能力
JDK1.1 1997 年 02 月 引入了 Java Beans, JDBC, RMI 等新特性
JDK1.2 1998 年 12 月 引入了 集合框架、Swing 包、内存映射文件 I/O、NIO、断言、正则表达式等新特性
JDK1.3 2000 年 05 月 增加了 HotSpot JVM、JavaSound、Java Naming and Directory Interface (JNDI) 等特性
JDK1.4 2002 年 02 月 增加了 XML 解析、正则表达式、Java Web Start、Java Print Service 等特性
JDK5 2004 年 09 月 引入了泛型、自动装箱/拆箱、枚举、可变参数、for-each 循环等特性
JDK6 2006 年 12 月 增加了 JDBC 4.0、Java Compiler API、Pluggable Annotations 等特性
JDK7 2011 年 07 月 引入了 switch 对字符串的支持、自动资源管理、改进的类型推断、多异常捕获等特性
JDK8 2014 年 03 月 引入了 Lambda 表达式、函数式接口、方法引用、Stream API、默认方法和静态方法等特性
JDK9 2017 年 09 月 引入了模块系统,可以将 JDK 划分为多个模块,便于开发大型应用。同时还引入了 JShell、改进了 Javadoc、增强了 Stream API 等
JDK10 2018 年 03 月 引入了局部变量类型推断,可以使用 var 关键字声明局部变量,无需显式指定其类型
JDK11 2018 年 09 月 引入了新的垃圾收集器 ZGC,可以处理 TB 级别的堆内存,且停顿时间不超过 10ms。同时还引入了新的字符串方法、HTTP 客户端 API 等
JDK12 2019 年 03 月 引入了新的 switch 表达式,可以使用更简洁的方式编写 switch 语句
JDK13 2019 年 09 月 引入了文本块功能,可以方便地编写多行字符串
JDK14 2020 年 03 月 引入了 instanceof 的模式匹配,可以在 instanceof 操作符后面声明一个变量,如果类型匹配,该变量就会被自动赋值
JDK15 2020 年 09 月 引入了密封类和接口,可以限制哪些其他类或接口可以继承或实现它们
JDK16 2021 年 03 月 引入了 Records,可以方便地创建只包含数据的类,无需编写大量模板代码
JDK17 2021 年 09 月 引入了模式匹配的第二阶段,可以在 switch 表达式中使用模式匹配。同时还引入了新的垃圾收集器 Shenandoah
JDK18 2022 年 03 月 默认 UTF-8、简单的网络服务器、弃用 finalize
JDK19 2022 年 09 月 模块化编程、本地类型推断、文本块、嵌套注解、改进的 Garbage Collection
JDK20 2023 年 03 月 模式匹配、Sealed Classes、Records、Text Blocks、ZGC
JDK21 2023 年 09 月 引入虚拟线程、结构化并发、顺序集合、记录模式、外部函数和内存 API、向量 API
2.2、Java发展简史

1991 年:Sun Microsystems 的 Patrick Naughton、Mike Sheridan 和 James Gosling 在这一年启动了 Green 项目,这个项目的目标是为数字设备(如电视机、电话机等)开发编程语言。这个项目最终导致了 Java 语言的诞生。

1995 年 5 月:Sun Microsystems 正式发布了 Java 语言。Java 的设计目标是 "一次编写,到处运行",这使得 Java 语言具有很好的跨平台性。

1996 年 1 月:Sun Microsystems 发布了 JDK 1.0,这是 Java 的第一个正式版本。

1997 年 2 月:Sun Microsystems 发布了 JDK 1.1,这个版本引入了 Java Beans, JDBC, RMI 等新特性。

1998 年 12 月:Sun Microsystems 发布了 JDK 1.2,也被称为 Java 2。这个版本引入了 Swing 包、内存映射文件 I/O、NIO、断言、正则表达式等新特性。

1999年:Sun Microsystems 发布了 J2SE(Java 2 Platform Standard Edition),J2EE(Java 2 Platform, Enterprise Edition)和 J2ME(Java 2 Platform, Micro Edition)。这标志着 Java 平台的分化,以满足不同类型的设备和应用需求。

2000 年 5 月:Sun Microsystems 发布了 JDK 1.3,这个版本引入了 HotSpot JVM、JavaSound、Java Naming and Directory Interface (JNDI) 等新特性。

2002 年 2 月:Sun Microsystems 发布了 JDK 1.4,这个版本增加了 XML 解析、正则表达式、Java Web Start、Java Print Service 等特性。

2004 年 9 月:Sun Microsystems 发布了 Java SE 5.0,这个版本引入了泛型、自动装箱/拆箱、枚举、可变参数、for-each 循环等特性。

2006 年 12 月:Sun Microsystems 发布了 Java SE 6,这个版本增加了 JDBC 4.0、Java Compiler API、Pluggable Annotations 等特性。

2011 年 7 月:Oracle(已经收购了 Sun)发布了 Java SE 7,这个版本引入了 switch 对字符串的支持、自动资源管理、改进的类型推断、多异常捕获等特性。

2014 年 3 月:Oracle 发布了 Java SE 8,这个版本引入了 Lambda 表达式、函数式接口、方法引用、Stream API、默认方法和静态方法等特性。

2017 年 9 月:Oracle 发布了 Java SE 9,这个版本引入了模块系统,可以将 JDK 划分为多个模块,便于开发大型应用。同时还引入了 JShell、改进了 Javadoc、增强了 Stream API 等。

2018 年 3 月:Oracle 发布了 Java SE 10,这个版本引入了局部变量类型推断,可以使用 var 关键字声明局部变量,无需显式指定其类型。

2018 年 9 月:Oracle 发布了 Java SE 11,这个版本引入了新的垃圾收集器 ZGC,可以处理 TB 级别的堆内存,且停顿时间不超过 10ms。同时还引入了新的字符串方法、HTTP 客户端 API 等。

2019 年 3 月:Oracle 发布了 Java SE 12,这个版本引入了新的 switch 表达式,可以使用更简洁的方式编写 switch 语句。

2019 年 9 月:Oracle 发布了 Java SE 13,这个版本引入了文本块功能,可以方便地编写多行字符串。

2020 年 3 月:Oracle 发布了 Java SE 14,这个版本引入了 instanceof 的模式匹配,可以在 instanceof 操作符后面声明一个变量,如果类型匹配,该变量就会被自动赋值。

2020 年 9 月:Oracle 发布了 Java SE 15,这个版本引入了密封类和接口,可以限制哪些其他类或接口可以继承或实现它们。

2021 年 3 月:Oracle 发布了 Java SE 16,这个版本引入了 Records,可以方便地创建只包含数据的类,无需编写大量模板代码。

2021 年 9 月:Oracle 发布了 Java SE 17,这个版本引入了模式匹配的第二阶段,可以在 switch 表达式中使用模式匹配。同时还引入了新的垃圾收集器 Shenandoah。

2022 年 3 月:Oracle 发布了 Java SE 18,这个版本引入了默认 UTF-8、简单的网络服务器、弃用 finalize。

2022 年 9 月:Oracle 发布了 Java SE 19,这个版本引入了模块化编程、本地类型推断、文本块、嵌套注解、改进的 Garbage Collection。

2023 年 3 月:Oracle 发布了 Java SE 20,这个版本引入了模式匹配、Sealed Classes、Records、Text Blocks、ZGC。

2023 年 9 月:Oracle 发布了 Java SE 21,这个版本引入了引入虚拟线程、结构化并发、顺序集合、记录模式、外部函数和内存 API、向量 API。


3、Java白皮书的关键术语

3.1、Java白皮书介绍

Java 白皮书是由 Java 的创造者 Sun Microsystems 公司发布的一份官方文档,主要介绍了 Java 语言的设计理念、核心特性和应用领域。白皮书详细阐述了 Java 的跨平台性、面向对象、网络编程、安全性、多线程等特性,以及 Java 的运行环境模型等内容。

Java 白皮书是理解 Java 语言设计初衷和主要特性的重要参考资料,对于 Java 开发者和学习者来说具有很高的参考价值。

Oracle 官网 Java 白皮书参考链接:https://www.oracle.com/java/technologies/language-environment.html

3.2、Java白皮书内容

Java 的设计者已经编写了颇有影响力的"白皮书",用来解释设计的初衷以及完成的情况,并且发布了一个简短的摘要。这个摘要用了 11 个关键术语进行组织:①、简单性;②、面向对象;③、分布式;④、健壮性;⑤、安全性;⑥、体系结构中立;⑦、可移植性;⑧、解释型;⑨、高性能;⑩、多线程;⑪、动态性。

这 11 个关键术语是 Java 设计哲学的核心:

  1. 简单性:Java 的设计目标之一是要简单易用。Java 的语法与 C++ 相似,但去除了一些容易引起错误的特性,如指针和多重继承;

  2. 面向对象:Java 是一种纯面向对象的编程语言。在 Java 中,所有的代码都必须位于类中;

  3. 分布式:Java 提供了丰富的 API,支持 TCP/IP 协议,使得在网络中创建和访问远程对象变得容易;

  4. 健壮性:Java 语言的设计目标之一是健壮性,即程序能够可靠地运行。Java 语言强制进行类型检查,有助于在编译时发现错误;

  5. 安全性:Java 提供了许多特性来保证程序的安全性,包括类加载机制、异常处理、垃圾回收等;

  6. 体系结构中立:Java 语言的一个重要特性是“一次编写,到处运行”,这是通过 Java 虚拟机实现的;

  7. 可移植性:Java 程序(字节码)可以在任何支持 Java 的平台上运行,无需进行任何修改;

  8. 解释型:Java 程序在运行时需要通过 Java 虚拟机解释执行,这使得 Java 程序具有很好的跨平台性;

  9. 高性能:虽然 Java 是一种解释型语言,但通过即时编译技术,Java 程序的运行速度可以接近 C++ 程序;

  10. 多线程:Java 语言内建对多线程的支持,提供了一套简单易用的 API 来创建和管理线程;

  11. 动态性:Java 语言是动态的,可以在运行时加载类,这使得 Java 程序可以适应不断变化的环境。

点赞
收藏
评论区
推荐文章
推荐学java 推荐学java
2年前
推荐学Java——应该了解的前端内容
导读本文是推荐学Java系列第四篇,通过前三篇内容已经搞定了JavaSE的内容,接下来是真正进入Java后端开发的视界。先来了解基本学习路线,可能你会有这样的疑问:前端的内容到底该不该学?Java开发需不需要会前端?下面就来一一剖析。Java正则表达式在开始之前,先带大家学习一下Java中的正则表达式,这块内容既可以放到Java基础部分学习,也可以放
Wesley13 Wesley13
3年前
java基础学习 了解这些很有必要
对于java初学者来说,入门才是关键。而入门的关键就在于,需要先熟悉大环境,然后对java基础理论知识进行学习,不要着急实践,相对于实践,你更需要对技术的整体把控!在具体谈论Java知识点之前,我们先聊聊Java技术语言自身的一些特点、生态系统以及适用的场景,这有助于我们更好的学习语言本身。!java基础学习了解这些很有必要(https://o
MySQL系列:2021Java高级进阶学习资料
阶段一:筑基Java基础掌握不牢,对于一个开发人员来说无疑是非常致命的。学习任何一个技术知识无疑不是从基础开始;在面试的时候,面试官无疑不是从基础开始拷问。内容包括:Java概述、Java基本语法、Java执行控制流程、面向对象、访问控制权限、接口和抽象类、异常、内部类、集合、泛形、反射、枚举、I/O、关于null的几种处理方式、思维导图。1、Jav
Wesley13 Wesley13
3年前
java架构师之路:推荐的15本书
一对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。在有了一定的Java编程经验之后,你需要“知其所以然”了。这个时候《Java编程
Wesley13 Wesley13
3年前
java编程学习入门
java编程学习入门    自java出来之后,就被很多人欢迎,虽然开始的时候有点麻烦,但是发展到现在很多人企业都在使用java做一些应用,包括了一些政府部门,因此java工程师需求也越来越大了。那么下面小编给大家说说java编程学习入门,希望能对你有些帮助。    java编程学习入门    首先肯定要明白自己为什么学习
Jack Jack
3年前
Java学习路线
阶段一(夯实基础)Java基础语法学习目标:1.熟悉Java等基本概念2.掌握Eclipse/IDEA集成开发工具的安装、配置和应用3.熟悉Java基本语法、基本类型、运算符和表达式4.掌握分支、循环逻辑语句、数组等知识的应用知识点列表:JDK、JRE、JVM基本概念Java环境搭建和配置安装和使用Eclipse/IDEA开发环境Java基本数据类型变量,
Wesley13 Wesley13
3年前
Java多线程面试问题集锦
如果你即将去一家从事大型系统研发的公司进行Java面试,不可避免的会有多线程相关的问题。下面是一些针对初学者或者新手的问题,如果你已经具备良好的基础,那么你可以跳过本文,直接尝试针对进阶水平的Java多线程编程问题及解答。关联链接: Javamultithreading1(https://www.oschina.net/action/GoToL
Wesley13 Wesley13
3年前
Java学习流程图(学习路线、书籍、教程推荐)
Java的火爆袭来,吸引了大批的初学者涉猎,想入行Java,却苦于自己没有基础,担心学不好。我告诉你,这些担心都是浮云,你只是惧怕走进一个新天地,人都是一样的,面对自己不熟悉的领域总会有莫名的恐惧感。不是不可以,只是你缺乏的是勇敢迈出去的勇气。最近整理了一份关于Java自学的学习路线图、书籍推荐、视频教程,希望帮助每一位想学习Java的小伙伴快速成长为J
Wesley13 Wesley13
3年前
Java该如何从入门到精通?
《Java从入门到精通(第4版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。全书分为28章,包括初识Java,熟悉Eclipse开发工具,Java语言基础,流程控制,字符串,数组,类和对象,包装类,数字处理类,接口、继承与多态,类的高级特性,异常处理,Swing程序设计,集合类,I/O(输入/
栗筝i
栗筝i
Lv1
海到无边天作岸,山登绝顶我为峰。期待更好的自己
文章
2
粉丝
0
获赞
0