java属于面向对象的语言而c属于面向过程。(例如:把一头大象装进冰箱里,用java做的话就是三部,打开冰箱;把大象放进冰箱;关上冰箱。而c/c++则是要怎样打开冰箱、怎样把大象放进去、怎样关上冰箱)java就是告诉你做什么就可以了,c/c++则是怎么做。
java的发展历史比较重要的有几个:98年的jdk1.2(所以会称为j2SE、j2EE和j2ME);04年的jdk1.5更名为java5.0;
05年sun公开javase6,此时java的各种版本改名为javaSE、javaEE和javaME。
java的核心机制:
1、java虚拟机(体现了java的跨平台)2、垃圾回收机制(体现了java的健壮性)。还有一个是java的安全性因为java是不能直接调用地址的。
java虚拟机原理:程序员对虚拟机编程,虚拟机对系统运行
虚拟机分为类装载器、字节码校验器和解释器。上图中class字节码文件是传给虚拟机解释成各种平台的机器码。
(例如:虚拟机相当于你的翻译,系统相当于不同的国家,不同的国家对应不同的翻译而你始终都是讲汉语的,然后到哪个国家就带这个国家的翻译就可以了)。
三大商用虚拟机:sun的HOtspot;BEa的 Jrokit;IBM的J9。
垃圾回收机制三步:使用系统线程、跟踪内存情况、检查释放内存。
jdk,jre,jvm三者关系:用户只运行只要装jre(jre里有jvm);开发者要装jdk(jdk里包含jre)。
java开发环境的搭建:
java_Home:jdk安装路径。
PATH:windows系统执行命令的路径(配jdk时在后面加上jdk中的bin路径间用分号隔开)。
ClassPath:java编译运行class字节码的路径(jdk中lib下的jar文件,路径前面加“.;” “.”为当前路径)。
java一个.java文件中可以有多个class类,只能有一个Public class类,一个类对应一个class字节码