JVM堆内存与垃圾回收
JVM堆内存 JVM堆内存结构 JVM堆内存分配和内存回收过程 年轻代的比例可以是:8:1:1;年轻代和老年代的比例可以是:1:3 新生对象分配在eden区,超过eden区大小的大对象,直接分配在老年代; 新生对象占满eden区之后,继续分配时,则会触发GC(monitor GC或young GC,复制算法、可用并行垃阅读更多JVM堆内存与垃圾回收[…]
JVM堆内存 JVM堆内存结构 JVM堆内存分配和内存回收过程 年轻代的比例可以是:8:1:1;年轻代和老年代的比例可以是:1:3 新生对象分配在eden区,超过eden区大小的大对象,直接分配在老年代; 新生对象占满eden区之后,继续分配时,则会触发GC(monitor GC或young GC,复制算法、可用并行垃阅读更多JVM堆内存与垃圾回收[…]
classLoader.loadClass(“com.jvm123.java.Person”) Class.forName(“com.jvm123.java.Person”) class.forName加载,会执行类中static代码块,类已经被初始化。 类加载器 Cla阅读更多java 虚拟机类加载[…]
groovy环境下载配置 下载: www.groovy-lang.org/download.html 下载解压后,将其bin目录配置在系统的环境变量即可,然后cmd命令行分别输入groovy和groovyc,就可以看到命令的用法说明: 编写编译运行第一个groovy脚本 新建一个文件hello.groovy,文件中写如阅读更多Groovy环境的安装和配置[…]
本文通过一个实例,演示 gradle 在项目管理中的使用,以及多模块的项目如何使用 gradle 管理和项目构建。 总体项目结构 1 本项目由三个模块构成,结构如下,其中项目最外层有三个文件: 以下分别列举解释: (1)gradle.properties 用来配置属性 (2)settings.gradle 用来说明此项阅读更多Gradle 使用实例[…]
静态导入 一个类中的静态方法和静态变量可以直接导入使用,而不必导入整个类。 使用 import static,如下: 接口默认方法和静态方法: 在接口中,可以使用default定义普通方法,也可以使用static定义静态方法;普通方法通过实现类的实例进行调用,静态方法通过接口名进行调用。 如下: 这样使用,使得接口更像阅读更多java静态导入、接口默认方法和方法引用[…]
1 运行时数据区 根据Java虚拟机定义,我们可以数据区域做如下区分,分为:堆、Java虚拟机栈、程序计数器、方法区(元数据区、运行时常量池)、本地方法栈。 1 程序计数器 程序计数器是一块线程私有的区域,是一个较小的内存块,用来存放当前线程执行的字节码的指令地址,如果执行的是本地方法(Native),这个计数器就会为阅读更多学习JVM必知必会的要点[…]