JVM
小姜dot
执着的小愤青
展开
-
【JVM学习系列】JDK、JRE和JVM的区别
想必大家经常看到大家提及到JDK、JRE和JVM的区别,尤其在面试中,作为JVM的开篇有必要对这几个概念进行梳理和澄清.1. JDKJDK(Java Development Kit)即Java开发工具,它主要包括两大部分: Java程序工具(Development Tools) javac(Java程序编译器)、javap(Java反编译工具)、jdb(Java调试工具)以及javadoc(原创 2017-01-06 21:54:04 · 401 阅读 · 0 评论 -
【JVM学习系列】 JVM内部架构
我们都知道字节码是由JRE解析执行的,但是可能并未了解JRE本身其实是对JVM的一种实现,JVM定义了如何去分析字节码、如何去解析字节码的意义以及如何去执行解析后的字节码.作为Java开发人员,如果我们对JVM的体系结构有一定程度的深入了解,将会有益于我们写出更加高效的Java应用.本文先对JVM的架构进行了大致的了解,在后续的章节中会对其中的每个部分进行深入的探讨.下面是JVM体系的概念图:为了方原创 2017-01-06 22:57:47 · 363 阅读 · 0 评论 -
【JVM学习系列】JVM特性
这里主要对JVM作为虚拟机器与真实机器在架构实现方面的差异进行一个比较,以便形成新的认知:Stack-based virtual machine The most popular computer architectures such as Intel x86 Architecture and ARM Architecture run based on a register. However,原创 2017-01-06 23:14:16 · 1126 阅读 · 0 评论 -
【JVM学习系列】ClassLoader(类加载器)
1. 为何需要ClassLoader?应用如果使用的是编译型语言例如C或C++,它们最终会编译成针对平台的可执行文件,这个过程中代码编译成可执行文件的过程称之为链接,主要目的是将多个编译后的obj文件合并成一个可执行的文件.然后,对于动态编译的语言(例如Java)情况就有所不同了,在Java环境中,编译器将代码编译成class文件,class文件将会保持不变,知道JVM需要将其加载到运行环境中,换句原创 2017-01-07 12:45:18 · 735 阅读 · 1 评论 -
【JVM】Perm Generation与Heap的关系
Java 6 stores all the constant pool and Class information in the Perm GenJava 7 only stores the class information in the Perm Gen. The String literal pool is on the heap.Java 8 has no Perm Gen. Th...转载 2018-08-09 16:53:54 · 2364 阅读 · 0 评论 -
【JVM】java版本对应的默认garbage collector
Java 7 : Parallel GC Java 8: Parallel GC Java 9: G1 GC Java 10: G1 GC各类型的GC工作的模型可以通过如下的图简单了解:参考: 1. https://stackoverflow.com/questions/33206313/default-garbage-collector-for-java-8...原创 2018-08-09 17:01:59 · 1724 阅读 · 0 评论