赞
踩
我们写Java代码,⽤txt就可以写,但是写出来的Java代码,想要运⾏,需要先编译成字节码,那就需要 编译器,⽽JDK中就包含了编译器javac,编译之后的字节码,想要运⾏,就需要⼀个可以执⾏字节码的 程序,这个程序就是JVM(Java虚拟机),专⻔⽤来执⾏Java字节码的。 如果我们要开发Java程序,那就需要JDK,因为要编译Java源⽂件。
如果我们只想运⾏已经编译好的Java字节码⽂件,也就是*.class⽂件,那么就只需要JRE。 JDK中包含了JRE,JRE中包含了JVM。
另外,JVM在执⾏Java字节码时,需要把字节码解释为机器指令,⽽不同操作系统的机器指令是有可能 不⼀样的,所以就导致不同操作系统上的JVM是不⼀样的,所以我们在安装JDK时需要选择操作系统。 另外,JVM是⽤来执⾏Java字节码的,所以凡是某个代码编译之后是Java字节码,那就都能在JVM上运 ⾏,⽐如Apache Groovy, Scala and Kotlin 等等。
1. ⾸先把字节码⽂件内容加载到⽅法区
2. 然后再根据类信息在堆区创建对象
3. 对象⾸先会分配在堆区中年轻代的Eden区,经过⼀次Minor GC后,对象如果存活,就会进⼊ Suvivor区。在后续的每次Minor GC中,如果对象⼀直存活,就会在Suvivor区来回拷⻉,每移动 ⼀次,年龄加1
4. 当年龄超过15后,对象依然存活,对象就会进⼊⽼年代
5. 如果经过Full GC,被标记为垃圾对象,那么就会被GC线程清理掉
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。