目录
Java的开发环境搭建
开发环境简单认识
开发环境下载与安装
初始JAVA之helloWorld
java基本运行原理
helloWord实例
JAVA文档注释和API 文档
注释
API文档地址
Java的优缺点
优点
缺点
JVM的简单介绍
功能
1. 实现JAVA程序的跨平台性
2. 自动内存管理(管理分配,内存回收)
案例练习
案例练习一: 输出信息表
案例练习二: 输出心形
总结
Java的开发环境搭建
开发环境简单认识
-
JDK: Java程序开发工具,包含了JRE和开发人员使用工具
-
JRE: Java程序运行时环境,包含了JVM和运行时所需要的核心类库
Java 8.0 platform
JDK = JRE + 开发工具集(例如java编译工具等)
JRE= JVM + Java se标准类库
开发环境下载与安装
官网下载安装
Java Archive | Oracle
下载17版本或8版本 稳定长期维护版本
windows需配置path 全局环境变量,mac电脑下载17版本会自动为全局
初始JAVA之helloWorld
java基本运行原理
1.创建的helloWorld.java文件,经过javac helloWorld.java 后编译为一个或多个.class为后缀的文件
- .class文件 为字节码文件(二进制文件),里面内容遵循java虚拟机规范(JVM Specification)
- JVM 可以加载、连接(包括验证、准备、解析和初始化)并运行这个类
- .class文件会与源代码定义的class生成一个或多个
- .class的文件名对了源代码的定义的class
2.Java helloWorld 执行.class的文件会执行java代码
helloWord实例
1. 创建helloWorld.java
注意:与前端不同,严格使用双引号和分号
/* 源文件可以声明多个类,但是最多一个类使用public进行声明且声明为public的类的类名要与源文件名相同
*/
public class helloWorld {public static void main(String[] args) {// 输出数据,换行System.out.println("hello word");// 输出不换行System.out.println("hello");}
}class test {
}class test2 {
}
2. 编译为.class文件 javac helloWorld.java
可以看到生成了多个类
3. 执行一个类 java helloWorld
JAVA文档注释和API 文档
注释
文档注释分单行,多行以及输出到doc文档
/* 源文件可以声明多个类,但是最多一个类使用public进行声明且声明为public的类的类名要与源文件名相同
*/
/*** 要输出到doc的注释* @author 你的名字* @version 1.0*/
public class helloWorld {/*** 主方法,程序的入口点。** @param args 命令行参数*/public static void main(String[] args) {// 输出数据,换行System.out.println("hello word");// 输出不换行System.out.println("hello");}
}class test {
}class test2 {
}
1.单行注释: //
2.多行注释: /**/
3.要输出到doc文档注释: /** */
- 这类注释可以通过JDK提供的工具javadoc解析,生成一套以网页文件形式体现的说明文件
-
// mydoc 生成的文件名 javadoc -d mydoc helloWorld.java // 带上作者和版本 javadoc -d mydoc -author -version helloWorld.java
启动index.html 就可以看见输出文档
API文档地址
1. 在线地址:https://docs.oracle.com/en/javase/17/docs/api/index.html
2.离线地址:https://www.oracle.com/java/technologies/javase-jdk17-doc-downloads.html
Java的优缺点
优点
- 跨平台性:Java语言具有“一次编写,到处运行”的跨平台特性,这是由于其通过Java虚拟机(JVM)实现了不同平台上的兼容性。这意味着编写的Java程序可以在不同的操作系统和硬件上运行,无需重新编译或修改,从而极大地方便了开发者,减少了软件的维护和部署成本。
- 面向对象:Java是一种完全的面向对象编程语言,支持封装、继承、多态等特性,有助于编写更灵活、可维护和可复用的代码。这种特性使得Java成为构建大型复杂系统的理想选择。
- 安全性:Java语言的安全性得到了广泛认可。Java平台的安全架构(Java Platform Security Architecture, JPSA)提供了多种安全特性,如类加载器、安全管理器、安全策略等,以防止多种常见的安全漏洞,如缓冲区溢出、空指针引用和污点传播攻击等,从而保障Java应用程序的安全运行。
- 自动内存管理:Java语言自带垃圾回收机制,可以自动释放不再使用的内存,大大减少了内存泄漏和指针错误等问题。这种特性简化了开发人员对内存的管理,提高了程序的稳定性和安全性。
- 丰富的类库和工具:Java拥有庞大的标准库和第三方库,如Spring、Hibernate等,这些库和工具为开发者提供了丰富的功能和高效的解决方案,能够极大地提高开发效率和应用程序的性能。
- 多线程支持:Java语言天生支持多线程,开发者可以轻松地实现并发编程。这使得Java程序可以更好地利用多核CPU,提高程序的性能和响应能力。
- 开放源代码和社区支持:Java是一种开放源代码的语言,有大量的社区支持。开发者可以自由地使用和修改Java代码,也可以贡献自己的代码给Java社区。这为Java语言的发展和创新提供了强有力的支持。
- 广泛的应用场景:Java在企业级开发、Web开发、移动端开发(如Android应用)、大数据处理、云计算等领域中占据重要地位。这意味着学习Java将有广泛的就业机会和应用场景。
缺点
- 性能相对较低:与C/C++等低级语言相比,Java在性能上可能略有不足。这主要是由于Java是高级语言,并且需要通过JVM进行解释执行或即时编译(JIT),这在一定程度上增加了运行时的开销。然而,随着JVM技术的不断进步和优化,Java的性能也在不断提高。
- 内存消耗较大:Java程序在运行时需要消耗较多的内存和处理器资源,特别是在运行大型或复杂的应用程序时。这可能会对系统的性能和稳定性产生一定影响。因此,在设计和部署Java应用程序时,需要仔细考虑资源管理和优化问题。
JVM的简单介绍
JVM是一个虚拟的计算机,是Java程序的运行环境,具有指令集并使用不同的存储区域,负责执行指令,管理数据,内存,寄存器
功能
1. 实现JAVA程序的跨平台性
2. 自动内存管理(管理分配,内存回收)
- java程序在运行过程中,涉及到运算的数据分配,存储等都是由JVM来完成
- java消除了程序员回收无用空间的指责,提供了一种系统级线程个跟踪存储空间的分配情况,在内存空间达到相应阈值时,检查并释放可释放的存储器空间
- GC的自动回收,提高了内存空间的利用效率,也提高了编程人员的效率,很大程序上减少了因为没有释放空间导致的内存泄漏
备注:java和前端一样虽然有自动回收机制,但也会有内存泄露问题
案例练习
案例练习一: 输出信息表
public class info {public static void main(String[] args) {System.out.println("姓名:小张");System.out.println();System.out.println("性别:男");System.out.println("家庭住址:xxx市xxx区xx县");}
}
案例练习二: 输出心形
利用\n(换行), \t(空格)
public class love {public static void main(String[] args) {System.out.print("\t*\t\t\t\t\t\t\t*\t\n");System.out.print("*\t\t*\t\tI love you\t\t*\t\t*\n");System.out.print("\t*\t\t\t\t\t\t\t*\t\n");System.out.print("\t\t*\t\t\t\t\t*\t\t\n");System.out.print("\t\t\t*\t\t\t*\t\t\t\n");System.out.print("\t\t\t\t*\t*\t\t\t\t\n");}
}
总结
java文件要注意什么?
一个java文件,只能有一个public的类
java的一些基本执行命令?
javac xxx.java // 编译为class文件
java xxx // 执行class文件
java为什么是半解释半编译语言?
java源文件会经过编译为class文件,在经过JVM进行解析运行