Java基础1
Java重要特点
1.Java语言是面向对象的(oop)。面向对象编程支持封装、继承、多态等特性,让程序更好达到高内聚、低耦合的标准。
2. Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。
3. Java语言是跨平台性的。[即:一个编译好的.class文件可以在多个系统下运行,这种特性称为跨平台。
Test.java程序 ——> Test.class (Windows、Linux、Mac 操作系统都有JVM,同一个java程序在三个不同的操作系统都可以执行,这样就实现了java程序的跨平台性。)
4.Java语言是半编译半解释型的语言[了解] 在生成字节码文件后,可能是解释器解释执行,也有可能是JIT编译器编译执行,所以称半解释半编译
区别是:解释性语言,编译后的代码,不能直接被机器执行,需要解释器来执行,编译性语言,编译后的代码,可以直接被机器执行, C/C++
优点:跨平台性、面向对象性、健壮性、安全性高、简单性、高性能
缺点:语法过于复杂、严谨;一般适用于大型网站开发,整个架构会比较重;并非适用于所有领域。
Java运行机制及运行过程
Java核心机制——Java虚拟机【JVM (java virtual machine)】
√基本介绍
1)JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指令管理数据、内存、寄存器,包含在JDK中.。
2)对于不同的平台,有不同的虚拟机。
3) Java虚拟机机制屏蔽了底层运行平台的差别,JVM实现Java程序的跨平台性,实现了“一次编译,到处运行”
JDK和JRE
JDK基本介绍
1.JDK的全称 (Java Development Kit Java开发工具包)
JDK = JRE + java的开发工具[java, javac,javadoc,javap等]
2.JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。
JRE基本介绍
1.JRE(Java Runtime Environment Java运行环境)
JRE = JVM+ Java的核心类库[类]
2.包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等, 如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
JDK、JRE和JVM的包含关系
1.JDK = JRE+开发工具集(例如Javac、java编译工具等)
2.JRE= JVM + Java SE标准类库 (java核心类库)
3.如果只想运行开发好的.class文件 只需要JRE
Java执行流程
Java程序开发三步骤:编写、编译、运行。
什么是编译
javac Hello.java
1.有了java源文件,通过编译器将其编译成JVM可以识别的字节码文件。
2.在该源文件目录下,通过javac编译工具对Hello.java文件进行编译。
3.如果程序没有错误,没有任何提示,但在当前目录下会出现一个Hello.class文件,
该文件称为字节码文件,也是可以执行的java的程序。
什么是运行
1.有了可执行的java程序(Hello.class字节码文件)
2.通过运行工具java.exe对字节码文件进行执行,本质就是.class装载到机 JVM 执行java程序
开发注意事项
对修改后的Hello.java源文件需要重新编译,生成新的class文件后,再进行执行,才能生效。
1. Java源文件以.java为扩展名。源文件的基本组成部分是类(class)
2. Java应用程序的执行入口是main()方法。它有固定的书写格式: public static void main (String[] args) {...}
3.如果源文件包含一个public类,则文件名必须按该类名命名!
4.一个源文件中最多只能有一个public类。其它类的个数不限,也可以将main方法写在上public类中,然后指定运行非public类,这样入口方法就是非public的main方法
配置Path环境变量
Path环境变量是Window操作系统执行命令时,所要搜寻的路径。我们希望在命令行使用javac.exe等工具时,任意目录下都可以找到这个工具所在的目录所以配置Path
Java具体平台的划分
J2SE → JavaSE
J2EE → JavaEE
J2ME → JavaME
Java目前主要的应用场景: JavaEE后台开发、Android客户端开发、大数据开发
内存泄漏、内存溢出
Java安全性高,但是Java可能也会存在内存泄漏与内存溢出的问题。
内存泄漏:在程序执行过程中,有一块是不再使用的内存空间,但是JVM通过算法识别不认为这是垃圾,就会构成内存泄漏。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理