Java 基础(从编写到运行)详细说明

Java的优势

跨平台性

安全性高

简单性

高性能

面向对象性

健壮性

Java程序编写和执行的过程:

1.编写。将Java代码编写在.Java结尾的源文件进行编译操作。格式:java字节码文件名

2.编译。针对于.Java结尾的源文件进行编译操作。格式 javac 源文件名.java

3运行。针对于编译后生成的字节码文件。进行解释运行。格式 java 字节码文件名

2.针对编写的说明

java 复制代码
class HelloWorld {
    public static void  main (String[] argc){
        System.out.println("hello,world!!");
    }
}

class HelloWorld { public static void main (String[] argc){ System.out.println("hello,world!!"); } }

其中 class:关键字,表示"类",后面跟着类名。

main()方法的格式是固定的。务必记住:表示程序的入口

public static void main(String[],args)

如果非要有变化,可以写成1. public static void main(String,args[])2.public static void main(String[],a)

args 全称是gaguments.简写成args,或者别的都可以,只是一个名字。

Java程序,是严格区分大小的。

System.out.println("输出的信息");输出语句换行

System.out.print("输出的信息");输出语句不换行

每一行执行语句要以分号结束。

3.针对编译的说明

如果编译不通过,可以考虑的问题:

问题1.查看文件名,文件路径错误

问题2.查看代码的语法是否存在问题。

编译以后,会生成一个或多个字节码文件

每一个字节码对应一个Java类,并且字节码文件名和类名相同。一个源文件可以有多个类。class。

4.针对运行的说明

我们是针对于字节码文件对应的Java类进行解释运行的,要注意区别大小写!

如果允许不通过,可以考虑的问题:

问题1:查看解释运行的类名字,字节码文件路径是否书写错误

问题2:可能存在运行时异常

一个源文件不能出现两个类相同的名字

一个源文件可以有多个类,但是最多有一个类使用public进行声明,且这个类名要和源文件名一致。

注释

//单行注释

/* */多行注释

文档注释(Java特有 )/** */

API

应用程序编程接口

JVM

jdk包含jre,jre里吗就有JVM,jJVM 是一个虚拟的计算机,它为 Java 程序提供了运行环境。

功能

1.实现Java的跨平台性

2。自动内存管理(内存分配,内存回收)

那既然有了JVM,那Java程序还出现内存溢出和内存泄漏的问题吗?YES

内存泄露:从程序角度,命名这块已经是不在使用的内存空间了,但是JVM不认为它是垃圾。

如何看待Java是一门半编译半解释型语言?

因为java编译成字节码文件后,运行有两条路可以选,第一条是通过解释器(前端编译器),另一个则是通过JIT编译执行(后端编译器)。

相关推荐
测试员周周4 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
测试19984 小时前
软件测试 - 单元测试总结
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
Mahir086 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
曲幽6 小时前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
杜子不疼.6 小时前
【C++ AI 大模型接入 SDK】 - DeepSeek 模型接入(上)
开发语言·c++·chatgpt
加号36 小时前
【C#】 串口通信技术深度解析及实现
开发语言·c#
sycmancia7 小时前
Qt——编辑交互功能的实现
开发语言·qt
RyFit7 小时前
SpringAI 常见问题及解决方案大全
java·ai
石山代码7 小时前
C++ 内存分区 堆区
java·开发语言·c++
前端若水7 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js