展开菜单
首页 精品内容 本月促销 装机必备 Windows macOS软件 IOS软件 Android AI PDF教程 专题
全部分类

当前位置:

首页 > 编程开发 > 【无标题】Java笔记——Java语言概述_java概述

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

Ja va,由SUN(斯坦福大学网络公司)于1995年推出,是一门面向Internet的高级编程语言。它最初之所以能迅速走红,是因为Ja va程序可以在Web浏览器中运行——这些程序被称为Ja va小程式(applet),能够用现代图形界面与用户交互,直接嵌入在HTML代码里。随着Ja va技术在W

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源代码选择了行尾风格。

在这里插入图片描述

本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
编程开发 Java
相关文章 更多
精品专题 更多
本月促销

正软商城本月促销专区,汇集办公、设计、安全、影音、系统工具及AI软件等正版软件优惠活动,提供限时折扣、特价授权和优惠购买信息,活动库存及价格以页面实时展示为准。

装机必备

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

Windows

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

macOS软件

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

IOS软件

正软商城iOS软件专区,精选适用于iPhone和iPad的办公、学习、影音、设计、效率及AI应用,提供功能介绍、适用设备、系统要求和正版获取方式等信息。

AI

正软商城AI软件专区,汇集AI写作、AI绘画、AI视频、AI办公、AI编程、AI翻译、智能客服和数据分析等人工智能工具,提供功能介绍、适用平台、收费方式及正版购买信息。

PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
灵活计算器
灵活计算器

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

赤友清理大师
赤友清理大师

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

图几
图几

图几是一款适用于 macOS 的截图、标注与美化工具,支持离线操作保障隐私。界面整理和高频系统操作被放到一起考虑,桌面或窗口内容一多时,管理起来会更省心。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

Menuist
Menuist

Menuist 是一款面向 macOS 的 Finder 右键菜单增强工具,主要用来补充新建文件、快捷导航等常用操作,让日常文件管理和访问路径时更高效、更顺手。

Mole
Mole

Mole 是一款专为 Mac 设计的深度清理优化工具,涵盖缓存清理、应用管理及实时状态监控等功能。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

WINDOWS 更多
Windows 10
Windows 10

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

思源笔记
思源笔记

思源笔记是一款本地笔记软件,提供所见即所得的编辑方式,为长文写作带来顺滑的体验。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

傲梅轻松备份
傲梅轻松备份

傲梅轻松备份是一款专业易用的数据备份软件,为重要数据提供安全保障。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。

Office 365 简体中文
Office 365 简体中文

一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。

Wise Folder Hider Pro
Wise Folder Hider Pro

Wise Folder Hider Pro 是一款专业级文件和文件夹隐藏加密软件,为私密数据添加多重保护。高频操作更强调就近处理,浏览、整理和跨目录移动文件时,来回切换和重复点击都会少很多。

WALTR PRO
WALTR PRO

WALTR是一款电脑至iOS文件传输转换工具,操作简单,快速实现文件识别与传送。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

CodeExpander
CodeExpander

CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。

PinStack
PinStack

PinStack是一款轻量级的Windows平台剪贴板管理工具,优化您的剪贴板使用体验。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

Mountain Duck
Mountain Duck

Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。

Seer
Seer

Seer是一款在Win平台下的空格键功能增强效率工具,只需轻敲空格键,就能预览几乎任何格式的文件。它更适合把零散的小功能集中起来使用,处理高频琐碎任务时会更省事。