JAVA 优点
- 面向对象语言
- 跨平台,“编写一次,随处运行”。
- 稳健
JDK和JRE的区别?
-
JRE是java的运行环境,电脑安装了JRE就可以运行java代码。
-
JDK是java的开发环境,比如开发者可以查看java的源代码,必须是安装了JDK.
JVM 一共分5块内存
java的程序运行在java虚拟机上,所以可以“编写一次,随处运行”。
java虚拟机简称JVM.
线程私有的:
-
程序计数器
-
虚拟机栈
-
本地方法栈
线程共享的:
-
堆
-
方法区
一个Test.java文件的执行过程
package com.zz.util;
/**
* @Description: java类作用描述
* @Author: Bsea
* @CreateDate: 2019/9/22$ 21:20$
*/
public class Test2 {
final static String PARAM1="DDD";
static String s1="sss";
String s2;
String s3="aaa";
int a=18;
Test2(String a){
this.s2=a;
System.out.println(s1);
System.out.println(s3);
}
public static void main(String[] args) {
Test2 test2=new Test2("CCC");
}
}
Test2 执行顺序分析
- 9到13行是 类加载过程中执行的,值存在方法区,所以静态变量,常量,或者静态代码块,一定比构造函数先执行
- 20行, 类加载完成以后,交给执行引擎,执行引擎找到程序入口main方法以后,创建一个“栈帧“
- 碰到new关键字,执行构造函数Test2() 来创建一个对象,对象的值存在java虚拟机的“”堆“” 中,然后对象的引用,存入“栈帧“
- 14到18行, 里面有打印语句,需要控制台显示信息,所以会调用本地方法,使用java虚拟机的“”本地方法栈“”