Java 版本、语言规范、API、JDK、IDE、Java 源程序编译、执行原理(跨平台性根本原因)、特殊字符用法、8 大数据类型小结

简介: Java 版本、语言规范、API、JDK、IDE、Java 源程序编译、执行原理(跨平台性根本原因)、特殊字符用法、8 大数据类型小结

文章目录


前言

Java 是一个全面且功能强大的软件。Java 语言规范和 Java API 定义 Java 的标准。本文对 Java 中最为常见的几个英文单词如 JDK、JRE、IDE 等作了简单介绍,同时介绍了不同版本类型之间的开发区别和语言规范、数据类型等。希望能对你初学 Java 有一个认知。

image.png


一、三大版本类型

  • Java 标准版(Java Standard Edition,Java SE)可以用来开发客户端的应用程序。应用程序可以独立运作或作为 applet 在 Web 浏览器中运行。Java SE 是基础,其他 Java 技术都基于 Java SE。
  • Java 企业版(Java Enterprise Edition,Java EE)可以用来开发服务器端的应用程序,例如,Java servlet 和 JavaServer Pages(JSP),以及 JavaServer Faces(JSF)。
  • Java 微型版(Java Micro Edition,Java ME)用来开发移动设备的应用程序,例如手机。

二、Java 语言规范

Java 语言规范(Java Language specification)是对语言的技术定义,包括 Java 程序设计语言和语法的定义。

三、应用程序接口(API

应用程序接口(Application Program Interface,API)也称为库,包括为开发 Java 程序而预定义的类和接口。在不断地扩展。

四、Java 开发工具包(JDK)

Java 开发工具包(Java Development Toolkit,JDK)是一套独立程序构成的集合,每个程序都是从命令行调用的,用于开发和测试 Java 程序。

Java SE 8 对应的 Java 开发工具包称为 JDK 1.8(也称为 Java 8 或者 JDK 8)。

JDK 有 32bit 和 34bit 之分:

  • 32 位操作系统只能装 32bit 的 JDK
  • 64 位操作系统可以装 32bit 或 64bit 的 JDK
  • 32 位工作性能好,内存受到 4G 限制
  • 64 位内存很大,但是同等条件下,性能有所损失
  • 32 位和 64 位,编译和执行命令可以混用

五、集成开发环境(IDE)

Java 开发工具(例如,NetBeans、Eclipse、TextPad、微软的 Visual Studio 系列、Borland 的C++Builder、Delphi 系列),为了快速开发 Java 程序而提供——集成开发环境(Intergrated Development Enviroment,IDE)。

编辑、编译、链接、调试和在线帮助都集成在一个图形用户界面,只需在一个窗口中输入源代码或在窗口中打开已有的文件,然后单击按钮,菜单选项或者使用功能按键就可以编译和运行源代码。

该程序可以独立运行,也可以和其他程序并用。

六、Java 运行环境(JRE)

JRE 为 Java Runtime Environment 的简称,Java Runtime Environment(包括 Java Plug-in)是 Sun 的产品,包括两部分:Java Runtime Environment 和 Java Plug-in。

JavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的 Java 平台。

  • 它包括 Java 虚拟机(jvm)、Java 核心类库和支持文件。
  • 它不包含开发工具(JDK)–编译器、调试器和其它工具。
  • JRE 需要辅助软件–Java Plug-in–以便在浏览器中运行 applet。

Java Plug-in 软件允许 Java Applet 和 JavaBean 组件在使用 Sun 的 Java Runtime Environment(JRE)的浏览器中运行,而不是在使用缺省的 Java 运行环境的浏览器中运行。Java Plug-in 可用于 Netscape Navigator 和 Microsoft Internet Explorer。

J2RE 是 Java2 Runtime Environment,即 Java 运行环境,只是强调其匹配 Java2 平台,有时简称 JRE。如果你只需要运行 Java 程序或 Applet,下载并安装它即可。如果你要自行开发 Java 软件,请下载 JDK(JRE 和 JDK 的区别)。在 JDK 中附带有 JRE。

七、Java 源程序编译、执行原理(跨平台性根本原因)

Java 源程序保存为 .java 文件,由 Java 编译器产生 .class 文件(与平台无关的中间字节码文件),然后再把 .class 文件以及库文件交由 Java 虚拟机(JVM)执行。翻译一步,执行一步。

image.png

Java 语言是高级语言,而 Java 字节码是低级语言。字节码类似于机器指令,其体系结构是中立的,是可以在任何带 Java 虚拟机(JVM)的平台上运行的。虚拟机不是物理机器,而是一个解释 Java 字节码的程序,这也就是 Java 语言具有跨平台性特点的根本原因。

Java核心机制:Java 虚拟机、垃圾回收。

在执行一个 Java 程序时,JVM 首先会使用一个叫类加载器(class louder)的程序将类的字节类加载到内存中。当加载该类后,JVM 会使用一个称为字节码验证器(bytecode verifier)的程序来检验字节码的合法性,确保字节码不会违反 Java 的安全规范。

八、Java 中常见的特殊字符用法

  • {}——表示一个包含语句的块
  • ()——和方法一起使用
  • []——表示一个数组
  • //——表示后面一行是注释
  • “”——包含一个字符串(即一系列的字符)
  • ;——表示一个语句的结束

九、Java 的 8 大数据类型

Java 共有 8 种数据类型,主要分为基本类型和引用类型。

这里额外说明一下,我们常见的 String 类型不属于基本类型,而是引用类型(reference type)。

任何 Java 类都可以将变量表示为引用类型。使用引用类型声明的变量称为引用变量,它引用一个变量。

image.png


总结

本文对 Java 的几个初学核心知识点作了小结,同时补充了特别重要的一点:Java 源程序编译和执行的原理,而这也是我们说 Java 语言具有跨平台性根本原因。另外关于具体的编译流程和执行流程我们会放到后面学习 JVM 的时候进行深度剖析。

20201028185323741.gif


我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!



相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
9月前
|
安全 Java 编译器
Java类型提升与类型转换详解
本文详解Java中的类型提升与类型转换机制,涵盖类型提升规则、自动类型转换(隐式转换)和强制类型转换(显式转换)的使用场景与注意事项。内容包括类型提升在表达式运算中的作用、自动转换的类型兼容性规则,以及强制转换可能引发的数据丢失和运行时错误。同时提供多个代码示例,帮助理解byte、short、char等类型在运算时的自动提升行为,以及浮点数和整型之间的转换技巧。最后总结了类型转换的最佳实践,如避免不必要的转换、使用显式转换提高可读性、金融计算中使用BigDecimal等,帮助开发者写出更安全、高效的Java代码。
507 0
|
11月前
|
存储 缓存 Java
我们来详细讲一讲 Java NIO 底层原理
我是小假 期待与你的下一次相遇 ~
356 2
|
9月前
|
安全 IDE Java
Java记录类型(Record):简化数据载体类
Java记录类型(Record):简化数据载体类
620 143
|
9月前
|
Java 测试技术
Java浮点类型详解:使用与区别
Java中的浮点类型主要包括float和double,它们在内存占用、精度范围和使用场景上有显著差异。float占用4字节,提供约6-7位有效数字;double占用8字节,提供约15-16位有效数字。float适合内存敏感或精度要求不高的场景,而double精度更高,是Java默认的浮点类型,推荐在大多数情况下使用。两者都存在精度限制,不能用于需要精确计算的金融领域。比较浮点数时应使用误差范围或BigDecimal类。科学计算和工程计算通常使用double,而金融计算应使用BigDecimal。
3352 102
|
10月前
|
监控 Java API
现代 Java IO 高性能实践从原理到落地的高效实现路径与实战指南
本文深入解析现代Java高性能IO实践,涵盖异步非阻塞IO、操作系统优化、大文件处理、响应式网络编程与数据库访问,结合Netty、Reactor等技术落地高并发应用,助力构建高效可扩展的IO系统。
291 0
|
7月前
|
存储 算法 安全
Java集合框架:理解类型多样性与限制
总之,在 Java 题材中正确地应对多样化与约束条件要求开发人员深入理解面向对象原则、范式编程思想以及JVM工作机理等核心知识点。通过精心设计与周密规划能够有效地利用 Java 高级特征打造出既健壮又灵活易维护系统软件产品。
200 7
|
8月前
|
Java 开发者
Java 函数式编程全解析:静态方法引用、实例方法引用、特定类型方法引用与构造器引用实战教程
本文介绍Java 8函数式编程中的四种方法引用:静态、实例、特定类型及构造器引用,通过简洁示例演示其用法,帮助开发者提升代码可读性与简洁性。
|
9月前
|
安全 算法 Java
Java泛型编程:类型安全与擦除机制
Java泛型详解:从基础语法到类型擦除机制,深入解析通配符与PECS原则,探讨运行时类型获取技巧及最佳实践,助你掌握泛型精髓,写出更安全、灵活的代码。
|
10月前
|
人工智能 安全 Java
Go与Java泛型原理简介
本文介绍了Go与Java泛型的实现原理。Go通过单态化为不同类型生成函数副本,提升运行效率;而Java则采用类型擦除,将泛型转为Object类型处理,保持兼容性但牺牲部分类型安全。两种机制各有优劣,适用于不同场景。
536 24