学其身必须了其史:
JAVA语言诞生于1995年。
其实在1995年之前SUM公司(太阳微电子公司)为了占领智能电子消费产品市场。派James Gosling领导团队开发了一个Oak(橡木)语言。
1996年,JDK1.0诞生
JDK是JAVA开发工具包,JAVA开发需要安装的一个工具包。
JAVA有三大块:JAVASE(Java标准版),JAVAEE(Java企业版),JAVAME(Java微型版)
Java语言的语言特性:
简单性:例如Java不再继承多继承,屏蔽了指针等概念。
面向对象:Java是纯面向对象,更符合人的思维模式。
可移植性:Java程序可以在多个操作系统上运行,一个程序可在一个操作系统运行,放到另一个操作系统依旧可以运行。
但是不同的操作系统内核可能不同,那系统执行指令的方式不同,如何统一?
因此Java程序不能直接和操作系统打交道。因此SUM开发团队想了到一个方法,让Java程序在一台虚拟运算机中,这个虚拟机叫Java虚拟机,简称JVM,Java虚拟机再和底层的操作系统打交道。不同操作系统有不同虚拟机,这样就可以在不同的操作系统中交互同个程序。
多线程
健壮性
安全性
。。。
Java程序的编译阶段:
关于Java的加载与执行:
Java程序的运行包括两个阶段:编译与运行
编译阶段:
需要我们在硬盘的某个位置创建一个.java拓展名文件,该文件为源文件,里面编写着源代码。Java代码有语法规则,需要我们去学习。
编译阶段主要任务是检查Java源程序是否符合Java语法,符合Java语法则能够生成正常的字节码文件(.class)文件,一个Java源文件可编译生成多个.class文件。
不符合则无法生成字节码文件
字节码文件中不是纯粹的二进制,这种文件无法在操作系统中直接执行。
而Java编译阶段需要用到JDK,JDK当中有一个javac.exe命令进行Java编译。
javac:javac是一个编译器工具。可在dos窗口使用。
运行阶段:
A.class中A是类
JDK安装后,出来自带一个javac.exe之外,还有另一个工具,叫java.exe,java.exe命令主要负责运行阶段。
java.exe使用方法:
如硬盘上有一个A.class文件,那么这样使用:java A
运行阶段过程:
打开DOS窗口
输入java A
java.exe命令会启动Java虚拟机(JVM),JVM会启动类加载器ClassLoader
ClassLoader会去硬盘上面搜索A.class文件,找到该文件则将该字节码文件装载到JVM当中。
JVM将A.class字节码文件解释成二进制文件,然后操作系统执行二进制和底层硬件平台进行交互。
java--------------.class--------------类装载器-----------Java虚拟机------------操作系统------------硬件平台
该文章由看网课总结,有错误的地方请大佬指出,不喜勿喷。