简单介绍一下java 是一种面向对象,简单性,可移植性、跨平台性的一种编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念……
重点!!!三步:
首先java的环境分为 jdk(jre+工具),是开发环境 ;
jre (jvm+类库)运用环境; jvm呢是为了保证java语言跨平台,负责对字节码解析执行。
其次便是他的编译操作,主要通过编译器javac进行验证,把java文件编译成.class文件,javaa执行.class文件。
准备进行为其分配内存。
那么存储常常分为几种呢:
1.栈:主要放对象的引用、局部变量(与方法共存亡、无默认值、方法中)
2.堆:主要存放对象、数组(有初始化、默认值、类中方法外)
堆 的特点呢就是,他可以被线程共享,那么就导致了他的安全性降低!在jvm中只有一块。
3.方法区:存储的是类的静态成员,这个方法区也叫静态方法区(与类共存亡,随着类的加载而记载),通俗就是当你执行一个 任务,开始加载的时候,那么你定义了一个静态代码块,也进行加载了其中的内容,那么静态方法也有其优先级。
关于静态的属性访问:
(1)静态修饰的变量优先于其他变量
(2)导致了他的生命周期太长,随着类的消失而消失
(3)static不可以修饰类,但可以修饰内部类;不可以修饰成员方法、成员变量;不可以修饰构造函数
(4)静态的方法只能调用静态的静态方法,静态变量;反而非静态的可以调用非静态的和静态的
4.寄存器,存储的是每一条执行指令(它是存储资源最快的一种方法)
5.本地方法区:例如JNI可以与本地程序进行交互,使用JNI来实现“本地方法”(native methods),并在JAVA程序中调用它们。你 可以使用JNI来实现“本地方法”(native methods),并在JAVA程序中调用它们。