JDK 家族
https://docs.oracle.com/javase/8/docs/
JAVA语言特点
1.简单、安全、可靠
2.面向对象
3.解释执行
4.结构中立、可移植性
5.高性能 多线程 动态性
6.与C/C++的区别:
取消:
#include,#define 等预处理功能
structure,union及typedef独立函数、指针、多重继承
goto,操作符重载(Operator Overloading) ,隐式强制类型转换
对象赋值:值传递
增加垃圾回收机制
Java程序的跨平台运行机制
JVM运行机制
同的操作系统有不同的虚拟机,类似一个小巧高效的CPU.
字节代码(.class文件)与平台无关,是虚拟机的机器指令
Java字节代码运行方式:
interpreter(解释方式)
Just-in-time(即时编译):
代码生成器将字节代码->本机机器代码,以较高速度执行
垃圾收集机制(Garbage Collection)
C/C++ 等,程序员负责回收无用内存
Java语言解除程序员回收无用内存空间的责任,提供一种系统级线程跟踪存储空间的分配情况
并在JVM的空闲时,检查并释放可被释放的存储器空间。垃圾收集在Java运行时自动进行,程序员无法精确控制和干预
JDK功能
java/bin目录下主要文件:
1.Javac.exe:
将java程序编译成 Bytecode
2.Java.exe:
编译器,执行已经转换成Bytecode的java应用程序
3.Javadoc.exe:
文档生成器,创建HTML文件
4.jdb:
调试java程序
5.javap:
Java Class Disassembler" 或 "Java Program,反编译,将类文件还原回方法和变量.
6.Appletviewer.exe:
解释器, 解释已转换成Bytecode的java小应用程序.