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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 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的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
23天前
|
存储 缓存 安全
Java中的数据类型
Java语言提供了八种基本类型,分为4类8种:六个数值型(四个整数型byte、short、int、long,两个浮点型float、double)、一个字符型char和一个布尔型boolean。每种基本类型有固定的位数、取值范围及默认值。此外,还存在`void`类型,但无法直接操作。基本类型支持隐式和显式类型转换,并有对应的包装类如`Integer`、`Double`等,用于在需要对象的场景中使用。包装类支持自动装箱与拆箱机制,简化了基本类型与引用类型的转换,但需要注意性能和空指针异常等问题。
Java中的数据类型
|
12天前
|
自然语言处理 Java
Java中的字符集编码入门-增补字符(转载)
本文探讨Java对Unicode的支持及其发展历程。文章详细解析了Unicode字符集的结构,包括基本多语言面(BMP)和增补字符的表示方法,以及UTF-16编码中surrogate pair的使用。同时介绍了代码点和代码单元的概念,并解释了UTF-8的编码规则及其兼容性。
82 60
|
21天前
|
监控 Java API
探索Java NIO:究竟在哪些领域能大显身手?揭秘原理、应用场景与官方示例代码
Java NIO(New IO)自Java SE 1.4引入,提供比传统IO更高效、灵活的操作,支持非阻塞IO和选择器特性,适用于高并发、高吞吐量场景。NIO的核心概念包括通道(Channel)、缓冲区(Buffer)和选择器(Selector),能实现多路复用和异步操作。其应用场景涵盖网络通信、文件操作、进程间通信及数据库操作等。NIO的优势在于提高并发性和性能,简化编程;但学习成本较高,且与传统IO存在不兼容性。尽管如此,NIO在构建高性能框架如Netty、Mina和Jetty中仍广泛应用。
30 3
|
21天前
|
安全 算法 Java
Java CAS原理和应用场景大揭秘:你掌握了吗?
CAS(Compare and Swap)是一种乐观锁机制,通过硬件指令实现原子操作,确保多线程环境下对共享变量的安全访问。它避免了传统互斥锁的性能开销和线程阻塞问题。CAS操作包含三个步骤:获取期望值、比较当前值与期望值是否相等、若相等则更新为新值。CAS广泛应用于高并发场景,如数据库事务、分布式锁、无锁数据结构等,但需注意ABA问题。Java中常用`java.util.concurrent.atomic`包下的类支持CAS操作。
55 2
|
2月前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
|
2月前
|
Java
Java之CountDownLatch原理浅析
本文介绍了Java并发工具类`CountDownLatch`的使用方法、原理及其与`Thread.join()`的区别。`CountDownLatch`通过构造函数接收一个整数参数作为计数器,调用`countDown`方法减少计数,`await`方法会阻塞当前线程,直到计数为零。文章还详细解析了其内部机制,包括初始化、`countDown`和`await`方法的工作原理,并给出了一个游戏加载场景的示例代码。
Java之CountDownLatch原理浅析
|
2月前
|
Java 索引 容器
Java ArrayList扩容的原理
Java 的 `ArrayList` 是基于数组实现的动态集合。初始时,`ArrayList` 底层创建一个空数组 `elementData`,并设置 `size` 为 0。当首次添加元素时,会调用 `grow` 方法将数组扩容至默认容量 10。之后每次添加元素时,如果当前数组已满,则会再次调用 `grow` 方法进行扩容。扩容规则为:首次扩容至 10,后续扩容至原数组长度的 1.5 倍或根据实际需求扩容。例如,当需要一次性添加 100 个元素时,会直接扩容至 110 而不是 15。
Java ArrayList扩容的原理
|
2月前
|
Java
Java基础之数据类型
Java基础之数据类型
23 6
|
2月前
|
Java
在Java中如何将基本数据类型转换为String
在Java中,可使用多种方法将基本数据类型(如int、char等)转换为String:1. 使用String.valueOf()方法;2. 利用+运算符与空字符串连接;3. 对于数字类型,也可使用Integer.toString()等特定类型的方法。这些方法简单高效,适用于不同场景。
106 7
|
2月前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
81 4