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

相关推荐
AI人工智能+电脑小能手4 分钟前
一次请求打几个下游,这个Java并行任务工具类6个方法按序聚合
java·线程池·并发编程·1024程序员节·批量处理·并行任务
镜子AI36 分钟前
镜子AI工程教程:用Python实现关键词布局检查器与语义改写查重(附完整代码)
人工智能·python·microsoft
小oo呆2 小时前
【学习心得】Python协程
python
paopaokaka_luck2 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
信誓旦旦的程序猿2 小时前
【Python量化实战宝典 #22】涨跌停、连板情绪手册:情绪指标构建(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
gCode Teacher 格码致知2 小时前
Pandas教学-21:subplots的使用
python·pandas·1024程序员节
2601_967980112 小时前
Python开发的顶级开源项目全景图:2025-2026年生态概览
python·机器学习·开源项目·数据科学·生态概览
2301_32241428042 小时前
springboot农产品交易平台的设计与实现08055-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·spring boot·redis·mysql·tomcat·maven·mybatis
小成202303202653 小时前
C++~07补充
开发语言·c++
benchmark_cc3 小时前
量化开发中,什么时候应该停止手动下载股票数据?
python·数据分析·pandas·量化交易·1024程序员节·股票数据·quantdash