JAVA虚拟机
JDK,JRE和JVM是包含关系。
JDK java Development Kit JAVA 工作集。
JRE java runtime environment JAVA运行环境。
JVM java virtual machine JAVA虚拟机。
javac 用于编译,把源代码编译为字节码才能运行。
最大的是JDK,JDK中有JRE,JRE中有JVM。其中经常用到的是JDK的API和语法。现在落叶归根,本文章来是研究JVM。
JAVA SE 产品概念图
以上链接诠释了JDK,JRE和JVM三者的关系。
JavaSE就是一种标准版,是Java中的基础部分,不过后来的各种框架,各种产品都是基于JavaSE,也就是JavaSE是java向上发展的基础,Java任何高级产品的底层基础都是JavaSE。
JavaSE是Java Standard Edtion的缩写,即Java标准版,它是Java平台的核心。
JavaEE(即 Java企业版), JavaME(即 Java微型版), 后来的各种框架,各种产品也都是基于JavaSE, 也就是说JavaSE是Java平台的基础.
什么是IDE ?
IDE 是(Integrated Development Environment) 即 “集成开发环境” 的缩写,
是一种专门用于提高软件开发效率的软件
目前有那些广泛使用的Java IDE?
免费的IDE中 Eclipse最为流行, 扩展功能强
收费的IDE中 Intellij IDEA最为强大, 在所有免费,收费的各种Java IDE中, 全世界使用最多的就是 Intellij IDEA(虽然它是收费的, 但是也提供免费的社区版供大家下载)
1.内存溢出问题
当我们的代码中写了死循环的时候,运行代码至一段时间,我们就会发现console报错:java.long.OutOfMemoryError.
此时,由于项目很大很难通过代码直接定位到问题所在,我们可以通过一些分析工具来进行定位。
首先我们需要把堆内存转储成一个快照,然后通过快照对当前环境进行分析。
那么如何生成一个堆内存的快照呢?
我们通过Run Configurations来进行配置启动参数。
-XX:+HeapDumpOnOutOfMemoryError -Xms20m -Xmx20m