商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 【无标题】Java笔记——Java语言概述_java概述

【无标题】Java笔记——Java语言概述_java概述

  发布于2026-07-10 阅读(0)

扫一扫,手机访问

Ja va,由SUN(斯坦福大学网络公司)于1995年推出,是一门面向Internet的高级编程语言。它最初之所以能迅速走红,是因为Ja va程序可以在Web浏览器中运行——这些程序被称为Ja va小程式(applet),能够用现代图形界面与用户交互,直接嵌入在HTML代码里。随着Ja va技术在Web领域不断成熟,它已经成为Web应用开发的首选语言。2009年,Oracle公司以74亿美元收购了SUN。

Ja va的诞生

为什么会有Ja va?

Ja va之父James Gosling的团队在开发“Green”项目时,渐渐对C语言感到不满——缺少垃圾回收系统,可移植性、安全性、分布式编程和多线程支持也不够理想。更关键的是,他们希望创造一种能够轻松移植到各种设备上的平台。于是,Ja va应运而生。

Ja va与C/C++的关系

Ja va确实从C和C++那里继承了很多东西,甚至可以说它是类C语言家族的发展和衍生。变量声明、操作符形式、参数传递、流程控制等,几乎和C/C++一模一样。但它又是一个纯粹的面向对象语言,继承了C++面向对象技术的核心。同时,Ja va果断砍掉了C语言中容易引发问题的指针(用引用取代)、运算符重载、多重继承(改用接口),并加入了垃圾回收器来自动管理不再被引用的对象所占的内存。到了JDK 1.5,又引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱等特性。

Ja va技术体系平台

Ja va一共发展出了几个不同的平台版本:

  • Ja va SE(标准版):面向桌面级应用,提供完整的Ja va核心API,以前叫J2SE。
  • Ja va EE(企业版):专门为开发企业环境下的应用程序设计,包含Servlet、JSP等技术,主要针对Web应用,以前叫J2EE。
  • Ja va ME(小型版):支持Ja va程序运行在手机、PDA等移动终端上,API有所精简,并加入了针对移动终端的支持,以前叫J2ME。
  • Ja va Card:支持小程序运行在智能卡等小内存设备上。

Ja va的应用领域

从应用方向来看,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、机顶盒、汽车通信设备等。

里程碑式版本

2004年,JDK 1.5发布,为了突出其重要性,直接更名为JDK 5。2014年发布的JDK 8.0,是继JDK 5.0以来变化最大的版本。

Ja va语言的主要特性

  • 易学:语法与C/C++接近,大多数程序员能很快上手。
  • 强制面向对象:提供类、接口、继承等原语,只支持类的单继承,但支持接口间的多继承,以及类与接口的实现机制(implements)。
  • 分布式:从网络应用编程接口(ja va.net)到RMI(远程方法激活),都为分布式应用开发提供了强大支持。
  • 健壮:强类型机制、异常处理、自动垃圾收集,再加上抛弃了指针,这些都让Ja va程序更加稳定。
  • 安全:在网络环境中运行时,Ja va通过安全防范机制(ClassLoader)分配不同名字空间防止本地的同名类被替代,还进行字节代码检查。
  • 体系结构中立:源文件(.ja va)被编译成字节码(.class),在任何实现了Ja va平台的系统上都能运行。
  • 解释型:字节码格式由各平台上的解释器执行。
  • 性能适中:相比纯解释型的高级脚本语言,Ja va的性能还是要好一些的。
  • 原生多线程:线程是Thread类或其子类创建的特殊对象,语言层面就支持。

Ja va语言的特点

面向对象

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

健壮性

吸收了C/C++的优点,去掉了指针、内存申请与释放等容易出问题的部分,提供了相对安全的内存管理和访问机制。

跨平台性

“Write once, Run Anywhere”不是空话。原理很简单:在需要运行Ja va应用的操作系统上,先安装一个Ja va虚拟机(JVM),由JVM负责解释执行字节码。有了JVM,同一个Ja va程序在不同操作系统中都能正常运行。

Ja va基础知识图谱

在这里插入图片描述

Ja va的两种核心机制

Ja va虚拟机(JVM)

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

在这里插入图片描述

垃圾收集机制(GC)

① 不再使用的内存空间会被回收——这就是垃圾回收。在C/C++中,由程序员负责回收无用内存;Ja va则提供了一条系统级线程跟踪存储空间分配情况,在JVM空闲时检查并释放可被释放的存储空间。程序员完全不必操心。

② 垃圾回收在Ja va程序运行过程中自动进行,程序员无法精确控制和干预。

③ 不过,Ja va程序仍然可能出现内存泄漏和内存溢出问题——是的,你没听错!

Ja va语言的运行环境

什么是JDK和JRE?

JDK(Ja va Development Kit):Ja va开发工具包,提供给开发人员使用,包含开发工具(如ja vac.exe编译工具、jar.exe打包工具等),也包括JRE。安装JDK后就不必再单独安装JRE了。

JRE(Ja va Runtime Environment):Ja va运行环境,包括JVM和Ja va程序所需的核心类库。如果只是想运行一个开发好的Ja va程序,只需要安装JRE即可。

简单来说,用JDK开发的Ja va程序,交给JRE去运行。

JDK、JRE、JVM的关系

在这里插入图片描述在这里插入图片描述

Ja va程序编写-编译-运行过程

  1. 编写:将Ja va代码保存在以“.ja va”结尾的源文件中。
  2. 编译:使用ja vac.exe命令编译源文件,生成字节码文件“.class”。格式:ja vac 源文件名.ja va
  3. 运行:使用ja va.exe命令解析运行字节码文件。格式:ja va 类名

在这里插入图片描述

常见问题

如果配置了classpath环境变量,可能会导致运行ja va命令时找不到文件。

在这里插入图片描述在这里插入图片描述

环境变量path配置的作用

每次执行Ja va工具都要先进入bin目录,实在太麻烦。能不能在任意目录下直接执行Ja va工具呢?当然可以。根据Windows系统查找可执行程序的原理,只要把Ja va工具所在的路径添加到path环境变量中,系统就会自动帮我们找到程序。

配置方法

  1. 我的电脑 → 属性 → 高级系统设置 → 环境变量。
  2. 编辑path环境变量,在变量值开头加上Ja va工具所在目录。
  3. 打开DOS命令行,在任意目录下敲入ja vac,如果出现了ja vac的参数信息,说明配置成功。

在这里插入图片描述

Ja va的一些注意事项

  • 在一个Ja va源文件中可以声明多个class,但只能最多有一个类声明为public,且public类的类名必须与源文件名相同。例如下图:

在这里插入图片描述在这里插入图片描述

  • 程序的入口是main()方法,格式是固定的。
  • System.out.println():先输出数据,然后换行;System.out.print():只输出数据。
  • 每一行执行语句都以“;”结束。
  • 编译以后,会生成一个或多个字节码文件,文件名与源文件中的类名相同。
  • Ja va语言严格区分大小写。
  • 大括号都是成对出现的,缺一不可。

良好的编程风格

正确的注释和注释风格

  • 使用文档注释来注释整个类或整个方法。
  • 如果注释方法中的某一个步骤,使用单行或多行注释。

正确的缩进和空白

  • 使用一次tab操作实现缩进。
  • 运算符两边习惯性各加一个空格,比如 2 + 4 * 5

块的风格

Ja va API源代码选择了行尾风格。

在这里插入图片描述

本文转载于:https://blog.csdn.net/a25847a/article/details/145454564 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注