《Java编码指南:编写安全可靠程序的75条建议(英文版)》—— 2.6 将程序编译为class文件

简介: 该程序在编译之后生成一个新的文件,名为Saluton.class。所有的Java程序都将编译为类(class)文件,且其文件后缀名为.class。Java程序也可以由协同工作的多个类文件组成,但是对于Saluton这样简单的程序来说,只需要一个类文件。

本节书摘来异步社区《Java编码指南:编写安全可靠程序的75条建议(英文版)》一书中的第2章,第2.6节,作者:【美】Fred Long(弗雷德•朗),Dhruv Mohindra(德鲁•莫欣达), Robert C. Seacord(罗伯特 C.西科德),Dean F.Sutherland(迪恩 F.萨瑟兰),David Svoboda(大卫•斯沃博达),更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.6 将程序编译为class文件

在运行Java程序之前,必须先编译它。在编译程序时,输入到计算机中的程序指令被转换为计算机可以更容易理解的一种形式。

在NetBeans中,程序在保存时会自动进行编译。如果你输入程序清单2.2中的指令,则该程序将顺利通过编译。

该程序在编译之后生成一个新的文件,名为Saluton.class。所有的Java程序都将编译为类(class)文件,且其文件后缀名为.class。Java程序也可以由协同工作的多个类文件组成,但是对于Saluton这样简单的程序来说,只需要一个类文件。

编译器将Java源代码转换为字节码,这是一种Java虚拟机(JVM)可以运行的格式。

只有Java程序在编译出现错误时,Java编译器才会有提示。如果你成功地编译完了一个程序,期间没有任何错误,则Java编译器不会有任何“动静”。这有点虎头蛇尾。当我在刚开始学习Java编程时,我曾经希望在编译取得成功时,能够响起庆祝的号角。

相关文章
|
2月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
92 9
|
12天前
|
自然语言处理 Java
Java中的字符集编码入门-增补字符(转载)
本文探讨Java对Unicode的支持及其发展历程。文章详细解析了Unicode字符集的结构,包括基本多语言面(BMP)和增补字符的表示方法,以及UTF-16编码中surrogate pair的使用。同时介绍了代码点和代码单元的概念,并解释了UTF-8的编码规则及其兼容性。
82 60
|
14天前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
74 9
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
1月前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
92 34
|
2月前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
53 1
|
2月前
|
消息中间件 存储 Java
RocketMQ文件刷盘机制深度解析与Java模拟实现
【11月更文挑战第22天】在现代分布式系统中,消息队列(Message Queue, MQ)作为一种重要的中间件,扮演着连接不同服务、实现异步通信和消息解耦的关键角色。Apache RocketMQ作为一款高性能的分布式消息中间件,广泛应用于实时数据流处理、日志流处理等场景。为了保证消息的可靠性,RocketMQ引入了一种称为“刷盘”的机制,将消息从内存写入到磁盘中,确保消息持久化。本文将从底层原理、业务场景、概念、功能点等方面深入解析RocketMQ的文件刷盘机制,并使用Java模拟实现类似的功能。
48 3
|
2月前
|
Java 测试技术 Maven
Maven clean 提示文件 java.io.IOException
在使用Maven进行项目打包时,遇到了`Failed to delete`错误,尝试手动删除目标文件也失败,提示`java.io.IOException`。经过分析,发现问题是由于`sys-info.log`文件被其他进程占用。解决方法是关闭IDEA和相关Java进程,清理隐藏的Java进程后重新尝试Maven clean操作。最终问题得以解决。总结:遇到此类问题时,可以通过任务管理器清理相关进程或重启电脑来解决。
|
2月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
94 1
|
存储 Java 索引
Java Class文件结构解析
1.Class文件基本结构概述 Class文件是一组以8位字节为基础单位的二进制流,当遇到需要8位字节以上空间的数据项时,则会按照高位在前的方式分隔成若干个8位字节进行存储。 Class文件由无符号数和表构成。
1514 0
|
存储 Java 索引
Java Class文件结构解析
Java代码必须要被编译成class文件后,虚拟机才能够加载运行,要搞清楚Java的类加载机制,首先必须要理解Class文件的内部结构。 本文参考了周志明所著《深入理解java虚拟机》一书,并结合自身实践而写。
899 0