多线程共享方法区和堆,每个线程独占一份java栈,方法区栈 程序计数器
java系统的核心类都是使用引导类加载器加载
-Xss调整栈大小
-Xms初始堆大小 -Xmx最大堆大小 NewRatio 默认是2 老年代2 新生代1
默认新生代中 Eden和其他两个区默认是8:1:1 ,但是使用中存在自适应,几乎所有java对象都是在Eden区被new出来的 谁空谁to
JVM将为类的instance和static变量赋上缺省值(默认值),包括数组array中的每一个元素--而不用再写初始化赋值语句。final变量没有默认值,必须在构造器结束前赋值。
局部变量是没有缺省值的,必须手动初始化!
如果编译器确认一个局部变量在使用之前可能没有被初始化,编译器将报错。
注:如果局部变量没有被初始化,并且在方法中一直没有被使用,则编译和运行都会通过。