随笔分类 - jvm
摘要:一、ClassLoader 做什么的? 顾名思义,它是用来加载 Class 的。它负责将 Class 的字节码形式转换成内存形式的 Class 对象。字节码可以来自于磁盘文件 *.class,也可以是 jar 包里的 *.class,也可以来自远程服务器提供的字节流,字节码的本质就是一个字节数组 [
阅读全文
摘要:**java堆:**所有通过new关键字创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,最后Survivor由From Space和To Space组成,结构图如下所示: **新生代:**新建的对象都
阅读全文
摘要:JVM运行时数据区由方法区、本地方法栈、虚拟机栈、程序计数器、堆5部分组成。如下图所示 **方法区:**方法区与java堆栈一样,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等等。 **本地方法栈:**本地方法栈和虚拟机栈差不多,只不过java虚
阅读全文
摘要:idea安装好热加载插件 JRebel,启动后报错java.lang.OutOfMemoryError: PermGen space解决方法 报错原因是因为内存溢出了,也就是内存不足,方法就是增加内存,添加如下配置: 参数解释: -Xms,表示程序启动时,JVM 堆的初始化最小尺寸参数; -Xmx,
阅读全文
摘要:一、JRE、JDK、JVM 要了解java程序运行原理,首先需要了解知道jre、jdk、jvm这三者是什么,他们之间又有什么联系。 JRE(JavaRuntimeEnvironment,Java运行环境),也就是Java平台。所有的Java 程序都要在JRE下才能运行。 **JDK(Java Dev
阅读全文