目录
发展史:
机器语言:打孔机→汇编语言→C,Pascal,Fortran面向过程;C++面向过程/对象;Java跨平台的纯面向对象;.NET跨语言;
原理:
源代码——【.java】源文件——编译产生【*.class】类文件——虚拟机JVM运行main()产生结果
【源文件.包含类,类包含一系列指令或方法,指令或方法类似于一个函数过程】
Java特点
- 面向对象
- 与平台无关,提供程序运行的解释环境(虚拟机)
- 健壮,吸收C/C++优点,但去除其影响程序健壮性的部分(指针,内存的申请与释放)
核心机制
- JavaVituralMachine:不同平台有不同虚拟机JVM(以字节码class文件为机器指令的CPU),实现了“一次编译,随处运行”。(跨平台)【屏蔽底层操作系统,在接口之上直接编程,“分层”的理念】
- GarbageCollection垃圾收集机制(自动):提供系统级线程跟踪存储空间的分配情况。JVM空闲时检查并释放可被释放的存储器空间。【健壮】
基本概念
java是解释型语言:JVM一行一行解释*.class文件,生成计算机理解的文件格式。
C,C++是编译型语言:直接可以编译成计算机理解的文件格式(.exe)。
J2SDK:software development kit(软件开发包),用户开发需要SDK/JDK/j2se。
JRE:java runtime environment(java运行环境),用户运行需要JRE。
配置环境变量:
- path:win系统执行命令要搜寻的路径,
- classpath:java编译运行时要找的class所在路径。
验证:java执行java程序,javac编译java程序。