![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 75
笙南
这个作者很懒,什么都没留下…
展开
-
关于为什么新生代使用复制算法需要两个 survior 区做一些自己的理解
首先讲一下复制算法 复制算法将可用内存按容量划分为大小相等的两块,每次只使用其中的一块。当这一块的内存用完了,就将还存活着的对象复制到另外一块上面,然后再把已使用过的内存空间一次清理掉。 (此时注意是先复制存活对象,然后在回收调 si 的对象,后面有用) 然后讲一下如果没有 survior 区会怎么样? 如果没有 Survivor,Eden 区每进行一次 Minor GC,存活的对象就会被送到老年代。老年代很快被填满,触发 Full GC。 老年代的内存空间远大于新生代,进行一次Full GC 消耗的时间比原创 2021-03-31 17:05:59 · 4637 阅读 · 0 评论 -
Java 中 Comparable 和 Comparator 比较
Java 中 Comparable 和 Comparator 比较 本文,先介绍Comparable和Comparator两个接口,以及它们的差异;接着,通过示例,对它们的使用方法进行说明。 Comparable 简介 Comparable 是排序接口。 若一个类实现了Comparable接口,就意味着“该类支持排序”。 即然实现Comparable接口的类支持排序,假设...原创 2018-05-21 23:32:00 · 124 阅读 · 0 评论 -
StringUtils 的几个常用方法
StringUtils StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。 除了构造器,StringUtils中...原创 2018-04-17 21:05:05 · 457 阅读 · 0 评论 -
java 四种内部类
内部类: 定义在类体内部,方法体内部,甚至比方法体更小的代码块内部的类(if语句里面等) 一、静态内部类(内部类中最简单的形式) 1、用static修饰的内部类,去掉static即成为非静态内部类 2、不依赖外部类构建内部类的实例 3、可以访问外部类的静态变量和静态方法(还有private修饰的成员变量),不可以访问普通成员变量 二、成员内部类(又称实例内部类,...原创 2018-03-14 11:18:07 · 214 阅读 · 0 评论 -
jvm 内存管理
JVM内存管理 一程序计数器 它可以看成线程所执行的字节码的行号指示器,为了保证线程切换后能回到正确的位置,每个线程都应该有一个独立的程序计数器 二java虚拟机栈 用来存放java方法的内存模型,每个方法在运行时,都会创建一个栈帧,用来存储局部变量表,操作数栈,动态链表,方法出口信息等,方法运行期间局部变量表的大小是不会改变的,局部变量表用来存储基本数据类型,引用类型和ReturnAdd...原创 2018-02-28 10:12:54 · 136 阅读 · 0 评论 -
java 类加载器和双亲委派加载机制
java类加载器分类详解 1、Bootstrap ClassLoader:启动类加载器,也叫根类加载器,负责加载java的核心类库,例如(%JAVA_HOME%/lib)目录下的rt.jar(包含System,String这样的核心类),根类加载器非常特殊,它不是java.lang.ClassLoader的子类,它是JVM自身内部由C/C++实现的,并不是java实现的 2、Exten...原创 2018-03-16 11:49:39 · 8879 阅读 · 0 评论