程序
程序=算法+数据结构
怎么理解Java
Java是一种编程语言、一种开发环境、一种应用环境、一种部署环境
Java 主要技术分支
JavaSE【J2SE】:Java标准版,主要用于桌面应用或者局域网应用开发
Java 语言核心类: 数据库连接, 接口定义,输入/输出和网络编程
JavaEE[J2EE]:java企业版,主要用于企业级电子商务应用开发
企业级的概念:跨地域性、数据来源复杂性
包含JAVA SE 中所有类,并且还包含用于开发区企业级应用的类,如EJB, Servelet, JSP. XML… J2EE目前已成为开发电子商务应用的事实标准
JavaME[J2ME]:java精简版,主要用于受限环境开发
Android所替代
Java应用场景
Java编程语言是一种广泛应用于互联网应用的高级计算机语言,主要应用于网络编程和互联网电子商务应用,特别适合于Internet应用程序开发。
有关概念
-
JDK(Java Development Kit):Java开发工具包。Java 的开发平台 JDK 是开发人员用来构建 Java 应用程序的软件包,它包括:Java 虚拟机 JVM、Java 编译器
-
JRE(Java Runtime Environment):Java运行时环境。JRE 是由 JVM 和 java platform 核心类以及相关支撑文件组成。
-
JVM(Java Virtual Machine):Java虚拟机。在真实机器中用软件模拟实现的一种想象机器,JVM 虚拟机将 java 字节码程序翻译成机器语言。然后有计算机执行
-
Javac:Java编译器,将Java源代码编译生成字节码文件
-
Java:Java解释器,解释执行Java字节码文件
javac、Java 归档 jar 实用程序、Java 文档 javadoc 实用程序等。 所谓的 Java 运行环境 JRE 是 JDK 的子集,包括 JVM、运行时类库和执行 Java 字节码所需要的 Java 应用程序启动器,但省略了 Java 编译器等开发工具。
Java的三种核心机制
Java虚拟机JVM
JVM创造一个内部运行时系统(runtime system来执行Java代码,包括:加载.class字节码文件、管理内存、执行垃圾收集。
Java程序并不是在本机操作系统上直接运行,而是通过Java虚拟机向本机操作系统进行解释来运行。这就是说,任何安装有Java虚拟机的计算机系统都可以运行Java程序,而不论最初开发应用程序的是何种计算机系统
java虚拟机的建立需要针对不同的软硬件平台做专门的实现,既要考虑处理器的型号,也要考虑操作系统的种类
JDK 包含JVM和其他工具,以及所有的API和相关文件
垃圾收集机制(Garbage Collection)
Java编程语言解除了程序员取消分配存储器的责任,它可提供一种系统级线程以跟踪每一存储器的分配情况。在Java虚拟机的空闲周期,垃圾收集线程检查并释放那些可被释放的存储器
不再使用内存空间回收——垃圾回收
在C/C++等语言中,由程序员负责回收无用内存。Java语言消除了程序员回收无用内存空间的责任,它提供了一种系统级线程跟踪存储空间的分配情况,并在JVM的空闲时检查并释放哪些可被释放的存储空间。
垃圾收集在Java程序原型过程中自动运行,程序员无法精确控制和干预
代码安全性检测(Code Security)
在运行时,执行机器只是将.class类文件通过交互后使用,一般情况下是看不到它的源代码.Java,如果想要看到.Java源程序,就要通过专用反编译工具,才能够看到。这就体现了Java在运行环境中相对其它语言来说,加强了代码的安全性
Java中严格区分大小写
每个语句以;收尾
Java是一种先编译后解释性语言
例如编写Hello.java
public class Hello{
public static void main(String[] args){
System.out.println("Hello Java!");
}
}
- javac Hello.java[源代码文件名称]编译,将源代码转换为虚拟机能够识别的中间性质语言,一般生成一个同名的后缀为.class的文件【二进制文件,字节码文件】,这是跨平台的原理
- java Hello[类名称,即源代码中的class中]