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编译执行(后端编译器)。

相关推荐
微石科技1 分钟前
医疗设备维保如何从被动维修转向预防管理?宁波微石科技让运行数据提前发信号
java·后端·struts
Dxy12393102165 分钟前
Python XPath position() 完整使用指南,避坑合集(lxml适用)
前端·javascript·python
SomeB1oody6 分钟前
【RustyML入门】5.1. 回归指标
开发语言·后端·机器学习·rust·教程
AndrewHZ8 分钟前
图像处理入门009 | OpenCV 图像读取与显示:imread/imshow 全解析
图像处理·python·opencv·算法·计算机视觉·图像显示
学计算机的计算基8 分钟前
TCP 传输层硬核整理:三次握手、四次挥手、拥塞控制一次讲透
java·网络·笔记·网络协议·算法
卷无止境14 分钟前
手写 SQL 在 Tortoise ORM 里到底能派上什么用场
后端·python·fastapi
龙虾PRO17 分钟前
2026 DeepSeek Harness 部署完整教程:npx 一键启动至 Python SDK 全流程接入
开发语言·python
卷无止境18 分钟前
FastAPI、Tortoise ORM 与 PostgreSQL 三件套 是否好用呢?
后端·python·fastapi
都叫我大帅哥25 分钟前
@EnableTransactionManagement 详解:Spring 声明式事务的基石
java·spring
2602_959960921 小时前
大厂Java面试:Spring Boot、JVM、Redis、Kafka与Elasticsearch在内容社区UGC场景下的实战拷问
java·jvm·spring boot·redis·面试题