当前位置:

首页 > 编程开发 > Java语言概述

Java语言概述

Ja va语言概述 这一节,我们会快速梳理Ja va的来龙去脉。从它的诞生背景、技术体系,到它在各领域的实际应用,再到语言的核心特性、工作机制(虚拟机、垃圾回收)、开发工具链——几乎是零基础入门Ja va必备的全景图。先看几个关键词:Ja va简史、技术体系平台、应用领域、语言特征、JVM与GC机制

Ja va语言概述

这一节,我们会快速梳理Ja va的来龙去脉。从它的诞生背景、技术体系,到它在各领域的实际应用,再到语言的核心特性、工作机制(虚拟机、垃圾回收)、开发工具链——几乎是零基础入门Ja va必备的全景图。先看几个关键词:Ja va简史、技术体系平台、应用领域、语言特征、JVM与GC机制、JDK/JRE/JVM的层级关系、注释规范、API文档,以及常用IDE。好,一个个展开。

Ja va语言概述

Ja va由Sun公司(Stanford University Network,斯坦福大学网络公司)于1995年推出,是一门高级编程语言。它天生就是为了互联网而生的——早期最吸引人的一点是,Ja va程序可以在Web浏览器里运行,这种程序叫作Ja va小程序(applet)。applet拥有现代图形用户界面,能与Web用户实时交互,并且直接嵌入在HTML代码中。随着Ja va在Web方向的不断成熟,它已经成了Web应用程序的首选开发语言。

后台开发的语言阵营里,Ja va与PHP、Python、Go、Node.js并列,但论企业级应用的占有率,Ja va长期稳居前列。

Ja va简史

  • 1991年:Green项目启动,最初语言命名为Oak(橡树)。
  • 1994年:开发团队意识到Oak非常适合互联网。
  • 1996年:发布JDK 1.0,当时约8.3万个网页使用Ja va技术制作。
  • 1997年:发布JDK 1.1,召开Ja vaOne会议,创当时全球同类会议规模之最。
  • 1998年:发布JDK 1.2,同年发布企业平台J2EE。
  • 1999年:Ja va分为J2SE、J2EE、J2ME,JSP/Servlet技术诞生。
  • 2004年:发布里程碑式版本JDK 1.5,为凸显重要性更名为JDK 5.0。
  • 2005年:J2SE → Ja vaSE,J2EE → Ja vaEE,J2ME → Ja vaME。
  • 2009年:Oracle公司以74亿美元收购Sun。
  • 2011年:发布JDK 7.0。
  • 2014年:发布JDK 8.0,是继JDK 5.0以来变化最大的版本。
  • 2017年:发布JDK 9.0,最大限度实现模块化。
  • 2018年3月:发布JDK 10.0(版本号18.3)。
  • 2018年9月:发布JDK 11.0(版本号18.9)。

Ja va技术体系平台

Ja va SE(Ja va Standard Edition,标准版):支持桌面级应用(如Windows下的应用程序),提供完整的Ja va核心API,以前称为J2SE。

Ja va EE(Ja va Enterprise Edition,企业版):为开发企业环境下的应用程序提供解决方案,包含Servlet、JSP等技术,主要面向Web应用,以前称为J2EE。

Ja va ME(Ja va Micro Edition,小型版):支持Ja va程序运行在移动终端(手机、PDA),对API有所精简,并加入了针对移动终端的支持,以前称为J2ME。

Ja va Card:支持小程序(Applets)运行在小内存设备(如智能卡)上的平台。

Ja va在各领域的应用

企业级应用:复杂的大企业软件系统、各类网站。Ja va的安全机制与跨平台优势,使其在分布式系统领域开发中广泛应用,覆盖金融、电信、交通、电子商务等行业。

Android平台应用:Android应用使用Ja va语言编写,Android开发水平高低很大程度上取决于Ja va核心能力是否扎实。

大数据平台开发:Hadoop、Spark、Storm、Flink等框架及中间件(Flume、Kafka、Sqoop等)大多用Ja va编写,同时提供Ja va、Scala、Python、R等语言API。

移动领域应用:主要体现于消费和嵌入式领域,包括手机、PDA、机顶盒、汽车通信设备等。

Ja va语言的诞生

Ja va之父詹姆斯·高斯林(James Gosling)团队在开发“Green”项目时,发现C语言缺少垃圾回收系统,也没有可移植的安全性、分布式和多线程功能。最终,他们想要一种易于移植到各种设备上的平台。

Ja va从C和C++继承了很多成分——变量声明、操作符形式、参数传递、流程控制等几乎完全相同。但同时,Ja va是纯粹的面向对象语言,继承了C++面向对象的核心。它舍弃了容易引起错误的指针(以引用取代)、运算符重载、多重继承(以接口取代),并增加了垃圾回收器自动回收不再被引用的对象所占据的内存。JDK 1.5又引入了泛型、类型安全的枚举、不定长参数和自动装/拆箱。

主要特性

易学:语法与C/C++接近,大多数程序员很容易上手。

强制面向对象:提供类、接口、继承等原语,只支持类之间的单继承,但支持接口间的多继承及类与接口的实现机制(关键字 implements)。

分布式:支持Internet应用开发,基本API中提供网络编程接口(ja va.net),包括URL、URLConnection、Socket、ServerSocket,RMI(远程方法激活)也是分布式开发的重要手段。

健壮:强类型机制、异常处理、垃圾自动收集保证了健壮性。丢弃指针是明智之举。

安全:常用于网络环境,提供安全机制防恶意代码攻击,如类加载器(ClassLoader)分配不同名字空间防止替代本地同名类,以及字节码检查。

体系结构中立:.ja va文件被编译为字节码(.class),可在任何实现了Ja va平台的系统中运行。

解释型:字节码在Ja va平台上的解释器中运行。

性能略高:相比解释型高级脚本语言,Ja va性能较优。

原生支持多线程:线程是一种特殊对象,须由Thread类或其子类创建。

Ja va语言的特点

特点一:面向对象
两个基本概念:类、对象。三大特性:封装、继承、多态。

特点二:健壮性
吸收了C/C++的优点,去掉了影响程序健壮性的部分(如指针、内存申请与释放),提供了相对安全的内存管理和访问机制。

特点三:跨平台性
“Write once, Run Anywhere”。原理:在需要运行Ja va应用程序的操作系统上先安装Ja va虚拟机(JVM),由JVM负责程序在该系统中的运行。

Ja va两种核心机制

Ja va虚拟机(Ja va Virtual Machine, JVM)

JVM是一个虚拟计算机,具有指令集并使用不同存储区域,负责执行指令、管理数据、内存和寄存器。不同平台有不同的虚拟机。只有某平台提供了对应的JVM,Ja va程序才能在此平台运行。JVM机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。

垃圾收集机制(Garbage Collection, GC)

不再使用的内存空间需要回收——这就是垃圾回收。在C/C++中由程序员负责回收无用内存,而Ja va消除了程序员回收无用内存的责任:它提供一个系统级线程跟踪存储空间的分配情况,并在JVM空闲时检查并释放可被释放的存储空间。垃圾回收在Ja va程序运行过程中自动进行,程序员无法精确控制和干预。需要注意的是:Ja va程序仍然可能出现内存泄漏和内存溢出问题。

JDK、JRE、JVM关系

JDK = JRE + 开发工具集(例如Ja vac编译工具等)

JRE = JVM + Ja va SE标准类库

注释(comment)

注释是用于注解说明程序的文字。Ja va中有三种注释类型:

  • 单行注释:格式 // 注释文字
  • 多行注释:格式 /* 注释文字 */(注意多行注释内不允许嵌套多行注释)
  • 文档注释(Ja va特有):格式 /** ... */,其中可包含 @author 指定作者,@version 指定版本。文档注释内容可被JDK提供的 ja vadoc 工具解析,生成网页形式的说明文档。

注释不仅提高了代码的阅读性,也是调试程序的重要方法。好的程序员习惯先通过注释整理思路,再用代码去体现。对于单行和多行注释,被注释的文字不会被JVM解释执行。

Ja va API文档

API(Application Programming Interface,应用程序编程接口)是Ja va提供的基本编程接口。Ja va语言提供了大量基础类,Oracle也为这些类提供了对应的API文档,告诉开发者如何使用这些类及类中的方法。可以从Oracle官网下载:
http://www.oracle.com/technetwork/ja va/ja vase/downloads/index.html,在“Additional Resources”中找到Ja va SE 8 Documentation下载。

常用的Ja va开发工具

文本编辑工具:记事本、UltraEdit、EditPlus、TextPad、NotePad++等。

集成开发环境(IDE):JBuilder、NetBeans、Eclipse、MyEclipse、IntelliJ IDEA等。其中IntelliJ IDEA是目前社区和企业级开发中最流行的选择。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发 Java
下一篇: java 版本含义
相关文章 更多
codex安装windows 命令行完整操作教程
codex安装windows 命令行完整操作教程

详解Windows环境下安装OpenAI Codex CLI的步骤,包括WSL环境检查、Node.js/npm配置、npm全局安装命令及首次启动验证,适合开发者快速上手。

NativeRest环境配置要求与完整操作教程
NativeRest环境配置要求与完整操作教程

学习如何配置 NativeRest REST API 客户端。涵盖 Windows/macOS/Linux 安装后的工作区创建、环境变量管理、请求编辑及响应查看步骤,帮助开发者快速完成基础环境搭建与连通性测试。

CSS设置透明度的注意事项有哪些?opacity属性详解
CSS设置透明度的注意事项有哪些?opacity属性详解

深入解析CSS中设置透明度的核心属性opacity,剖析子元素继承、事件穿透、层叠上下文等关键注意事项,并提供与rgba、hsla的实用选型对比。

flutter页面传值到后台的方法及示例代码
flutter页面传值到后台的方法及示例代码

flutter页面传值到后台的完整实现方法及示例代码,帮助读者快速掌握相关技术要点。

Java 8至21新特性代码写法对比:Lambda、Record与Switch
Java 8至21新特性代码写法对比:Lambda、Record与Switch

本文通过具体的旧版与新版代码对比,详细剖析Java 8引入的Lambda表达式、Java 14/16引入的Record类,以及Java 12至21逐步演进完善的Switch表达式与模式匹配,展示代码简化路径与避坑要点。

AI智能体开发培训课程学什么及实战内容介绍
AI智能体开发培训课程学什么及实战内容介绍

系统梳理AI智能体开发培训的核心知识模块、技术栈选型与典型实战项目,解析低代码平台与纯代码框架的差异,提供从零构建可落地智能体的完整学习与实施路径。

Java子类未实现抽象方法编译错误修复指南
Java子类未实现抽象方法编译错误修复指南

针对Java开发中常见的“子类未实现抽象方法”编译错误,深入分析报错原因,提供重写实现、声明抽象子类两种标准修复路径,并总结参数签名、访问修饰符等典型避坑要点。

解决PHP递归报错:max_nesting_level限制与内存溢出处理
解决PHP递归报错:max_nesting_level限制与内存溢出处理

遇到PHP递归报错时,不要盲目调大max_nesting_level。本文教你区分Xdebug限制、内存耗尽和正则递归错误,提供代码级的终止条件优化与迭代替代方案,彻底解决栈溢出问题。

PHP递归中static变量与引用传递的常见陷阱及调试
PHP递归中static变量与引用传递的常见陷阱及调试

本文分析PHP递归中static变量导致的状态污染及引用传递引发的共享数据修改问题。提供具体的代码复现、缓存键设计建议及调试打印技巧,帮助开发者避免隐蔽的逻辑错误。

PHP递归性能优化技巧与迭代替代方案
PHP递归性能优化技巧与迭代替代方案

解析PHP递归函数在树形数据处理中的性能瓶颈,提供预加载数据消除I/O、使用显式栈替代深层递归的实战方案,帮助开发者在代码可读性与执行效率间做出合理取舍。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件
macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

Mac软件 更多
photoshop
photoshop
Windows、macOS 、 iPad

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

Blender
Blender
Windows、macOS 和 Linux

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

WINDOWS 更多
3dmax(3ds max)
3dmax(3ds max)
Windows

Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

photoshop
photoshop
Windows、macOS 、 iPad

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

Blender
Blender
Windows、macOS 和 Linux

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。