1.Debut of Java
2021/7/21 17:10:16
本文主要是介绍1.Debut of Java,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1 Introduction To Java
Java介于编译型语言
和解释型语言
之间。
编译型语言
,如C、C++,代码是直接编译成机器码执行,但是不同的平台(x86、ARM等)CPU的指令集不同,因此,需要编译出每一种平台的对应机器码。解释型语言
,如Python、Ruby没有这个问题,可以由解释器直接加载源码然后运行,代价是运行效率太低。
Java是将代码编译成一种“字节码”,它类似于抽象的CPU指令,然后,针对不同平台编写虚拟机,不同平台的虚拟机负责加载字节码并执行,这样就实现了“一次编写,到处运行”的效果。当然,这是针对Java开发者而言。对于虚拟机,需要为每个平台分别开发。为了保证不同平台、不同公司开发的虚拟机都能正确执行Java字节码,SUN公司制定了一系列的Java虚拟机规范。从实践的角度看,JVM的兼容性做得非常好,低版本的Java字节码完全可以正常运行在高版本的JVM上。
Java分为三个版本:
- Java SE: Standard Edition
- Java EE: Standard Edition
- Java ME: Mircro Edition
Java学习路线图如下:
- 首先要学习Java SE,掌握Java语言本身、Java核心开发技术以及Java标准库的使用;
- 如果继续学习Java EE,那么Spring框架、数据库开发、分布式架构就是需要学习的;
- 如果要学习大数据开发,那么Hadoop、Spark、Flink这些大数据平台就是需要学习的,他们都基于Java或Scala开发;
- 如果想要学习移动开发,那么就深入Android平台,掌握Android App开发。
1.1 名词解释
JDK
和JRE
的解释:
JDK
:Java Development KitJDK
将Java源码编译成Java字节码,即Java代码的开发环境
JRE
:Java Runtime EnvironmentJRE
就是运行Java字节码的虚拟机,即Java代码的运行环境
JSR
和JCP
的解释
JSR
规范:Java Specification Request- 保证Java语言的规范性
JCP
组织:Java Community Process- 负责审核
JSR
的组织
- 负责审核
为了保证Java语言的规范性,SUN公司搞了一个JSR规范,凡是想给Java平台加一个功能,比如说访问数据库的功能,大家要先创建一个JSR规范,定义好接口,这样,各个数据库厂商都按照规范写出Java驱动程序,开发者就不用担心自己写的数据库代码在MySQL上能跑,却不能跑在PostgreSQL上。
所以JSR是一系列的规范,从JVM的内存模型到Web程序接口,全部都标准化了。
一个JSR规范发布时,为了让大家有个参考,还要同时发布一个“参考实现”,以及一个“兼容性测试套件”:
RI
:Reference ImplementationTCK
:Technology Compatibility Kit
比如有人提议要搞一个基于Java开发的消息服务器,这个提议很好啊,但是光有提议还不行,得贴出真正能跑的代码,这就是RI。如果有其他人也想开发这样一个消息服务器,如何保证这些消息服务器对开发者来说接口、功能都是相同的?所以还得提供TCK。
通常来说,RI只是一个“能跑”的正确的代码,它不追求速度,所以,如果真正要选择一个Java的消息服务器,一般是没人用RI的,大家都会选择一个有竞争力的商用或开源产品。
1.2 Install Java
- Oracle 官网 下载最新的稳定版JDK。
- 运行安装Java JDK。
- 设置环境变量:
- 创建一个环境变量
JAVA_HOME
,变量值为Java JDK的安装路径(不加bin) - 在已存在的环境变量
Path
中添加%JAVA_HOME%\bin
- 创建一个环境变量
- 添加到环境变量后,可以在任意文件夹运行Java
在Java JDK安装目录下有很多可执行文件:
- java:这个可执行程序其实就是JVM,运行Java程序,就是启动JVM,然后让JVM执行指定的编译后的代码;
- javac:这是Java的编译器,它用于把Java源码文件(以.java后缀结尾)编译为Java字节码文件(以.class后缀结尾);
- jar:用于把一组.class文件打包成一个.jar文件,便于发布;
- javadoc:用于从Java源码中自动提取注释并生成文档;
- jdb:Java调试器,用于开发阶段的运行调试。
1.3 Run Java Code
Java源码本质上是一个文本文件,我们需要先用javac把Hello.java编译成字节码文件Hello.class,然后,用java命令执行这个字节码文件:
public class Hello{ public static void main(String[] args){ System.out.println("Hello World!"); } }
# Compile the Java source code $ javac Hello.java # Execute the Java byte Code $ java Hello
注意:
- 给虚拟机传递的参数Hello是我们定义的类名,虚拟机自动查找对应的class文件并执行。
- 在实际项目中,单个不依赖第三方库的Java源码是非常罕见的,所以,绝大多数情况下,我们无法直接运行一个Java源码文件,原因是它需要依赖其他的库。
1.4 Integrated Development Environment
使用集成开发环境IDE的好处在于,可以把编写代码、组织项目、编译、运行、调试等放到一个环境中运行,能极大地提高开发效率。IDE提升开发效率主要靠以下几点:
- 编辑器的自动提示,可以大大提高敲代码的速度;
- 代码修改后可以自动重新编译,并直接运行;
- 可以方便地进行断点调试。
这篇关于1.Debut of Java的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-14折腾之王:JavaScript 之父 Brave 浏览器与 BAT 的诞生
- 2025-01-13从协作到创新:电商团队效率提升新方法
- 2025-01-13汉服销售拓展客源,能精准投放广告的软件求推荐!蛇年新春!
- 2025-01-13提升客户体验的关键:电商团队协作效率优化
- 2025-01-13不触碰资金的支付网关有哪些?
- 2025-01-13如何运用敏捷开发的6大模型来提高团队工作效率?
- 2025-01-13汉服制作质量检测,能高清放大细节的软件用哪个?2025 新春!
- 2025-01-13团队目标管理的6种实用方法(附OKR模板)
- 2025-01-13短剧制片的幕后:如何通过协同编辑提升效率
- 2025-01-13B端产品业务调研:系统步骤与策略解析