java与c++的区别
a.无直接指针操作
b.自动的内存管理
c.数据类型长度固定
(跨平台的要求,只有数据类型的长度固定了,才可能跨平台)
d.不用头文件(省去了声明)
e.不包含结构和联合
f.不支持宏
g.不用多重继承
h.无类外全局变量
j.无GOTO语句
源文件(.java) => 字节码(.class,在Java虚拟机上运行)
Java的运行环境
(用来运行
Java程序) JRE = JVM + API(Lib)
Java开发工具包
(用来开发
Java程序) JDK= JRE + Tools = JVM + API + Tools
Tools包括:java编译器(java.exe),java执行器,文档生成器(javadoc.exe),java打包器(jar.exe),java调试器(jdb.exe)
JRE运行程序时的三项主要功能:加载代码,校验代码,执行代码。
Java的自动垃圾回收机制:
a.系统级
线程跟踪
存储空间的分配情况(跟个服务员一样)
b.在JVM的空闲时,检查并释放那些被释放的存储器空间
c.程序员无法干预和控制
回收过程