Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数

简介: Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数

Java健壮性

Java健壮性是指Java程序具有良好的健壮性和稳定性,能够有效地处理各种异常情况,避免程序崩溃。

示例代码:

public class RobustnessExample {
    public static void main(String[] args) {
        try {
            int result = 10 / 0; // 除零异常
        } catch (ArithmeticException e) {
            System.out.println("除零异常:" + e.getMessage());
        }
    }
}

Java可移植性

Java可移植性是指Java程序可以在不同平台上运行,而不需要修改代码。这得益于Java虚拟机(JVM)的存在。

JDK, JRE, JVM三者关系

  • JDK(Java Development Kit):Java开发工具包,包括编译器(javac)、运行时库(rt.jar)、调试器等工具。
  • JRE(Java Runtime Environment):Java运行时环境,包括Java虚拟机(JVM)和Java类库。
  • JVM(Java Virtual Machine):Java虚拟机,负责解释和执行Java字节码。

Java的加载与执行原理

Java程序的执行过程包括加载、链接和初始化三个阶段。加载阶段将类的字节码加载到内存中,链接阶段包括验证、准备和解析,初始化阶段执行类的静态初始化代码。

javac编译与JAVA_HOME环境变量介绍

javac命令用于将Java源代码文件编译为字节码文件,JAVA_HOME环境变量用于指定Java安装路径。

示例代码:

# 编译Java源文件
javac HelloWorld.java
# 设置JAVA_HOME环境变量(示例)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

Java中的注释与缩进

Java支持单行注释(//)和多行注释(/* */),注释用于解释代码的作用和用途。缩进是一种良好的编码习惯,可以提高代码的可读性。

示例代码:

// 这是单行注释
/*
 * 这是多行注释
 */
public class IndentationExample {
    public static void main(String[] args) {
        // 缩进示例
        if (true) {
            System.out.println("Hello, world!");
        }
    }
}

main方法的args参数

main方法是Java程序的入口点,它接受一个字符串数组作为参数,用于传递命令行参数。

示例代码:

public class MainMethodExample {
    public static void main(String[] args) {
        for (String arg : args) {
            System.out.println(arg);
        }
    }
}

public class与class区别

public class用于声明一个公共类,可以被其他类访问;class用于声明一个默认访问级别的类,只能在同一包内访问。

示例代码:

// public class
public class MyClass {
    // 类的成员...
}
// class
class AnotherClass {
    // 类的成员...
}

标识符以及其命名规则和规范

标识符是Java中用于命名变量、方法、类等的名称。命名规则包括:只能由字母、数字、下划线和美元符号组成,且不能以数字开头。

Java中关键字的理解

Java关键字是一些具有特殊含义的保留字

,不能作为标识符使用。常见的关键字包括class、public、private等。


感谢您阅读本篇博客!

如果您有任何疑问或建议,请随时在评论区留言。

相关文章
|
安全 Oracle Java
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
849 0
JAVA高级开发必备·卓伊凡详细JDK、JRE、JVM与Java生态深度解析-形象比喻系统理解-优雅草卓伊凡
|
存储 算法 Java
JvM JDK JRE 三者区别与联系详解
本文深入解析了Java编程中的三个核心概念:JVM(Java虚拟机)、JDK(Java开发工具包)和JRE(Java运行环境)。JVM是执行Java字节码的虚拟计算机,实现“一次编译,到处运行”;JDK包含JRE及开发工具,用于编写和调试Java程序;JRE负责运行已编译的Java程序。文章详细阐述了它们的功能、组成及应用场景,并通过实例说明其在实际开发中的作用,帮助开发者理解三者联系与区别,提升开发效率与问题解决能力。适合Java初学者及进阶开发者学习参考。
1857 3
|
监控 Oracle Java
JVM JDK JRE 使用指南及组件封装方法详解
本指南全面介绍了JVM、JDK、JRE的使用方法与Java组件封装技巧。内容涵盖JDK安装配置、JRE使用、JVM参数调优(如堆内存设置和垃圾回收器选择),以及类、包的封装实践。通过示例展示工具类与数据访问组件的封装方法,并讲解JAR包创建与发布流程。此外,还提供了常见问题解决方案,如内存溢出处理和依赖冲突管理。帮助开发者掌握高效、规范的Java开发技能,提升代码复用性和可维护性。附带面试资料供进一步学习。
598 0
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
3438 8
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
|
Java 网络安全 Maven
Exception in thread "main" java.lang.NoSuchMethodError: okhttp3.OkHttpClient$Builder.sslSocketFactory(Ljavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/X509TrustManager;)Lokhttp3/OkHttpClient$Builder; 问题处理
【10月更文挑战第26天】Exception in thread "main" java.lang.NoSuchMethodError: okhttp3.OkHttpClient$Builder.sslSocketFactory(Ljavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/X509TrustManager;)Lokhttp3/OkHttpClient$Builder; 问题处理
937 2
|
Java
让星星⭐月亮告诉你,jdk1.8 Java函数式编程示例:Lambda函数/方法引用/4种内建函数式接口(功能性-/消费型/供给型/断言型)
本示例展示了Java中函数式接口的使用,包括自定义和内置的函数式接口。通过方法引用,实现对字符串操作如转换大写、数值转换等,并演示了Function、Consumer、Supplier及Predicate四种主要内置函数式接口的应用。
254 1
|
Java Maven C++
【Azure Developer】记录一次使用Java Azure Key Vault Secret示例代码生成的Jar包,单独运行出现 no main manifest attribute, in target/demo-1.0-SNAPSHOT.jar 错误消息
【Azure Developer】记录一次使用Java Azure Key Vault Secret示例代码生成的Jar包,单独运行出现 no main manifest attribute, in target/demo-1.0-SNAPSHOT.jar 错误消息
460 0
|
缓存 Java 编译器
JRE、JDK、JVM 和 JIT 之间的区别详解
【8月更文挑战第22天】
1135 0
|
API
JDK8的stream有求和方法吗?
【8月更文挑战第20天】JDK8的stream有求和方法吗?
596 3
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
653 1