**使用java也有很长一段时间了,很长时间没有做过一些总结,对一些概念难免模糊,趁这个机会,温习了一下java的主要概念
(按照coursera上面北大java课程进度),欢迎大家进行斧正。------转载请注明出处,谢谢**
java的一些概念
java语言诞生与1995年,分为三大平台:java se(标准备版),java EE(企业版),java ME(微型版);其开发工具包简称为JDK(java development kit),
JDK=JRE+Tools(javac.exe,java.exe,jdb.exe,javadoc.exe,jar.exe),
迄今为止,java已经发展到了1.8,每个版本都带来了新的特性,其中尤其以1.7-1.8变换最大(Lambda表达式)。
java特点:简单易学,oop,平台无关,支持多线程,安全稳定
以上特点中所说的安全稳定的原因就在于代码安全检测机制的存在。
java核心机制中的jvm,也就是java虚拟机读取javac.exe编译过的java文件,也就是字节码文件(.class);
由于是虚拟机,当然也会定义计算机中通常会存在的一些逻辑/物理结构:
jvm+api组成了java的运行环境JRE,JRE具有三个功能:加载(class loader)、校验(bytecode verfier)、执行(runtime interpreter)。
GC机制中,java语言实现了系统级(jvm)跟踪存储空间分配,jvm在空闲时检测并释放可被释放的存储器,且此过程无法由程序员精确控制和干预。
OOP(面向对象编程),核心:世界万物都是对象,都可以对应计算机中可标识的存储区域。类是具有共同属性和行为的对象的集合,
属性对应字段(变量或者常量),行为对应方法。
类和对象,类可以看作一个模板,对象是类的一个实例。类的三大特征:封装、继承、多态。
封装的作用是将属性和行为封装在类中,隐藏细节,只通过受保护的接口(方法)访问类;继承,使得父类和子类共享属性和方法,
能够更好的将对象抽象和分类并增加代码的重用,提高可维护行。多态,如下例
class Person(){
public void sayHello(){
System.out.println("hello person!");
}
}
class Student entends Person{
public void sayHello(){
System.out.println("hello student!");
}
}
class Teacher extends Person{
public void sayHello(){
System.out.println("hello teacher!");
}
}
public static void foo(Person p){
p.sayHello;
}
public static void main(String[] args){
foo(new Student());
foo(new Teacher());
}
在OOP中,世界是由各种对象组成的,在程序设计中其核心思想是:存在哪些类、每个类存在什么属性和方法、类之间的关系、类实例的互相调用。
通过总结以上,可以拓展一些深层的话题,记在此处,已被后期补充:
1.lambda表达式新特性
2.代码安全检测
3.GC以及优化
4.类的加载、校验和执行过程