发布时间:2024-04-04 09:01
本节目录
一、Java语言
二、Java的诞生与发展
1、JDK vs OpenJDK
2、JAVA语言的发展
三、Java虚拟机 (JVM)
四、Java程序种类和结构
五、重点总结
1、概念
Java语言是面向对象的程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优势,并增加了其他特性,如支持并发程序设计、网络通信和多媒体数据控制。所以Java语言有两个特点:强大易用。Java语言作为静态目标编程语言的代表,很好的实现了目标理论,让程序员以优雅的思维方式进行复杂的编程。
2、特点
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。
3、应用场景
Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
4、执行过程
Java语言是一种特殊的语言,采用先编译后解释的形式。也就是说,首先将Java语言的源代码编译成中间代码class文件,然后根据class文件的内容解释执行。所以严格来说,Java语言是一种半编译半解释的语言。
Sun公司2009年被Oracle收购之前,将JDK源代码开源,形成了OpenJDK。
OpenJDK中,只包含JDK中最最核心的功能,还有其他的一些第三方实现的功能,或者是插件,OpenJDK是JDK的极简版本。 关于OpenJDK和JDK它的源代码是有关系的:包含在OpenJDK源代码中的绝大部分代码和Oralce JDK一模一样。
IBM,Google,FaceBook、RedHat都从OpenJDK中拿到源代码,然后经过修改,增加一些特有功能。例如阿里巴巴自己的JDK版本DragonWell。
直到今天为止,国内绝大部分公司,所使用的JDK版本仍然是JDK 8。为什么大家都用JDK 8? 商业公司 ->求稳
LTS: long term suppor (长期支持版本 ):维护周期长、至少3年、稳定。 而短期支持版本:维护周期短 、半年、不稳定。
从JDK9开始每半年发布一次,在这些快速迭代的版本中 ,JDK8 -> JDK11 ->JDK17是长期支持版本。
JAVASE(Java Platform Standard Edition)标准版:是为开发普通桌面和商务应用程序提供的解决方案。
JAVAME(Java Platform To Micro Edition)小型版:是为开发电子消费产品和嵌入式设备提供的解决方案。
JAVAEE(Java Platform To Enterprise Edition)企业版:是为开发企业环境下的应用程序提供的一套解决方案。
虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
JAVA程序分为三种,Application,Applet,Serverlets。
依次介绍这三种类型:
1、Application,即”Java应用程序“,是可以独立运行的Java程序,由Java解释器控制执行,也是最常见的类型。
2、Applet,即“Java小程序“,不能独立运行(嵌入到Web页中)。由Java兼容浏览器控制执行。
3、Serverlets,是Java技术对CGI 编程的解决方案。是运行于Web server上的、作为来自于Web browser 或其他HTTP client端的请求和在server上的数据库及其他应用程序之间的中间层程序。
1. Java程序设计语言于1995年诞生,它是由美国加州的 Sun 计算机公司推出的,是一种能跨平台使用的程序设计语言。
2. Java 分为标准版、企业版与精简版。Java 的标准版简称为 Java SE,企业版简称 Java
EE,而精简版则简称为 Java ME。
3. Java 程序比较特殊,已必须先经过编译的过程,然后再利用解释的方式来执行。即首先要将源程序(.java文件)通过编译器将其转换成与平台无关的宇节码(.class 文件),然后再通过解释器来解释执行字节码,字节码(byte-codes)最大的好处是可跨平台执行,让程序“编写一次,到处运行”的梦想成真。
4.无论是应用程序还是小程序都必须有一个主类,主类是程序执行的起始点,应用程序的主类是包含 有 main()方法的类,但应用程序的主类并不一定要求是public类,小程序的主类必须是一个继承自系统类 JApplet 或 Applet 的子类,且该类必须是public类。