第一章之Java初体验

本文介绍了Java的发展历程,从起源到J2EE的划分,阐述了Java的跨平台原理和核心机制——JVM与垃圾回收器。接着,详细讲解了Java的基础语法,包括变量、引用类型、常量、自动类型转换和运算符等,为初学者提供了全面的学习概览。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java初学

了解Java发展史

起源: 20世纪90年代单片式计算机系统诞生(背景因素)

SUN公司为了抢占市场先机,在1991年成立了一个由詹姆斯·高斯林(James Gosling)领导的名为“Green”的项目小组。该小组在1992年开发了一种名为“Oak”的面向对象语言(软硬件结合),因为不被硬件商看好而被搁置。1994年项目小组看到了浏览器在未来的发展前景于是决定将Oak应用于万维网。1995 年, 他们用 Oak语言研发了一种能将小程序嵌入到网页中执行的技术——Applet,与此同时Oak正式更名为 Java。

演变:1996 年 1 月,SUN 公司推出了JDK 1.0。在 JDK 1.0 发布后,有很多程序员学习并运用 Java 来制作 网页,JDK 包括两大部分:开发工具和运行环境。运行环境包括核心 API、集成 API、用户界面 API、发布技术、Java 虚拟机(JVM)。JDK 1.0 的发布, 标志着 Java 成为一种独立的开发工具。

JDK 1.0 的代表性技术有:Java 虚拟机、Applet、AWT 等。

1997 年 2 月,SUN 公司紧接着推出了 JDK 1.1,JDK 1.1 的代表性技术有:JDBC、JavaBeans、RMI、JAR 文件格式、Java 语法中的内部类和反射。1998 年 12 月 8 日,JDK 1.2——第二代 Java 平台的企业版 J2EE 发布。

1999 年 6 月,Sun 公司把 Java 体系分为三个方向:

J2ME(Java 2 Micro Edition,Java 2 平台的微型版),应用于移动、无线及有限资源的环境;

J2SE(Java 2 Standard Edition,Java 2 平台的标准版),应用于桌面环境;

J2EE(Java 2 Enterprise Edition,Java 2 平台的企业版),应用于基于 Java 的应用服务器。

随着供应商的不同,Java 的 API 也分为三大类: Java Core API: Java 核心类库; Java Optional API:对之前 API 的扩充; 特殊 API:由特殊厂商或组织提供的 API。Java 2 平台的发布,是 Java 发展过程中最重要的一个里程碑,标志着 Java 的应用开始普及。JDK 1.2 的代表性技术有:Swing、Java IDL、EJB、Java Plug-in 等,在 API 文档中,添加了 strictfp 关键字和 Collections 集合类。

2005 年 6 月,在 Java One 大会上,Sun 公司发布了 Java SE 6。此时,Java 的各种版本已经更名, 已取消其中的数字 2,如 J2EE 更名为 JavaEE,J2SE 更名为 JavaSE,J2ME 更名为 JavaME。

2011 年 7 月 28 日,收购 Sun 公司的 Oracle 发布了 Java SE 7,引入了二进制整数、支持字符串的 switch 语句、棱形语法、多异常捕抓、自动关闭资源的 try 语言等新特性。

2014 年 3 月 18 日,Oracle 公司发布 Java SE 8,这次版本升级为 Java 带来了全新的 Lambda 表达 式、流式编程等大量新特性,这些新特性使得 Java 变得更加强大。

2017 年 9 月 22 日,Oracle 公司发布 Java SE 9,这次版本升级强化了 Java 的模块化系统,让 Java 语言更轻量化,且采用了更高效、更智能的 G1 垃圾回收器,并在核心类库上进行大量更新,可进一 步简化编程。

2018 年 3 月 21 日,Java SE 10 发布,Java 10 版本带来了很多新特性,其中最备受广大开发者 关注的莫过于局部变量类型推断。此外,还包垃圾收集器改善、GC 改进、性能提升、线程管控等新 特性。

2018 年 9 月 26 日,Java SE 11 发布。这是 Java 大版本周期变化后的第一个长期支持版本(LTS 版本持续支持到 2026 年 9 月)。Java 11 带来了 ZGC、Http Client 等重要特性,一共包含 17 个 JEP (JDK Enhancement Proposals,JDK 增强提案)。

Java体系与特点

JavaSE :Java Platform,Standard Edition 标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案。

JavaEE :Java Platform,Enterprise Edition 企业版:以企业为环境而开发应用程序的解决方案

JavaME :Java Platform, Micro Edition 微型版:致力于消费产品 和嵌入式设备的最佳解决方案

Java可以做什么?开发桌面应用程序 (银行软件、商场结算软件);开发面向 Internet 的 web 应用程序(门户网站(工商银行)、网上商城、阿里巴巴、电子商务网站);提供各行业的解决方案(金融,电信,电力…);嵌入式开发(移动电话、可视电话、数字机顶盒和汽车导航系统)。

Java特性

一种纯面向对象的编程语言。

一种与平台无关(跨平台)的语言。(它提供了在不同平台下运行的解释环境)

一种健壮的语言,吸收了 C/C++语言的优点。

有较高的安全性。(自动回收垃圾,强制类型检查,取消指针)

Java跨平台原理

Java源代码(.java文件)经过编译生成Java字节码(可跨平台,是.class文件),Java字节码通过在Java虚拟机上(JVM)运行再调动各个平台的操作系统比如Windows、Mac、Linux来实现具体操作。

Java技术的两种核心机制

Java虚拟机(Java Virtual Machine) JVM

在这里插入图片描述

JVM 可以理解成一个可运行 Java 字节码的虚拟计算机系统

它有一个解释器组件,可以实现 Java 字节码和计算机操作系统之间的通信

对于不同的运行平台,有不同 的 JVM。

JVM 屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。

垃圾回收器GC

不再使用的内存空间应当进行回收-垃圾回收。 在 C/C++等语言中,由程序员负责回收无用内存。 Java 语言消除了程序员回收无用内存空间的责任: JVM 提供了一种系统线程跟踪存储空间的分配情况。并在 JVM 的空闲时,检查并释放那些可以被释放的存储空间。 垃圾回收器在 Java 程序运行过程中自动启用,程序员无法精确控制和干预。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值