摘要:
package com.sort; import java.util.Arrays; /** * 〈一句话功能简述〉; * 〈冒泡排序〉 * * @author jxx * @see [相关类/方法](可选) * @since [产品/模块版本] (可选) */ public class pop { 阅读全文
摘要:
经常向遇到有的面试官让你手撕观察者 模拟观察者模式的3个要点: 1.需要两个接口,观察者,和被观察者。2.被观察者接口需要有两个方法, 一个是注册观察者方法,一个是通知观察者方法。3.被观察者需要有一个集合,用于储存观察者,注册方法就是向集合里添加对象。通知方法就是遍历集合。 package com 阅读全文
摘要:
工厂模式是java设计模式中比较简单的一个设计模式,但很多地方都用到了工厂模式,(如解析xml中,jdbc连接数据库等)利用好工厂模式对程序的设计很有用处。工厂模式在一些设计模式的书中分为简单工厂模式,工厂方法模式和抽象工厂模式三类。也有把工厂方法模式划分到抽象工厂模式的,认为工厂方法是抽象工厂模式 阅读全文
摘要:
阅读全文
摘要:
常用工具: 参考链接:jvm系列(七):jvm调优-工具篇 常用的JVM调优参数: 参考链接:JVM调优常用参数配置 阅读全文
摘要:
参考链接:Java堆空间的划分:新生代、老年代 阅读全文
摘要:
新生代收集器: SerialParNewParallel Scavenge 老年代收集器: Serial OldCMSParallel Old 堆内存垃圾收集器: G1 参考链接:JVM常见的垃圾回收器 阅读全文
摘要:
常用的垃圾回收算法有如下四种:标记-清除、复制、标记-整理和分代收集。 标记-清除算法从算法的名称上可以看出,这个算法分为两部分,标记和清除。首先标记出所有需要被回收的对象,然后在标记完成后统一回收掉所有被标记的对象。 这个算法简单,但是有两个缺点:一是标记和清除的效率不是很高;二是标记和清除后会产 阅读全文
摘要:
强引用(Strong) 就是我们平时使用的方式 A a = new A();强引用的对象是不会被回收的 软引用(Soft) 在jvm要内存溢出(OOM)时,会回收软引用的对象,释放更多内存 弱引用(Weak) 在下次GC时,弱引用的对象是一定会被回收的 虚引用(Phantom) 对对象的存在时间没有 阅读全文
摘要:
一、引用计数算法: 判断对象的引用数量: 通过判断对象的引用数量来决定对象是否可以被回收; 每个对象实例都有一个引用计数器,被引用则+1,完成引用则-1; 任何引用计数为0的对象实例可以被当作垃圾收集; 优缺点: 优点:执行效率高,程序执行受影响较小; 缺点:无法检测出循环引用的情况,导致内存泄漏; 阅读全文
摘要:
前言一个Java文件从编码完成到最终执行,一般主要包括两个过程 编译 运行 编译,即把我们写好的java文件,通过javac命令编译成字节码,也就是我们常说的.class文件。 运行,则是把编译声称的.class文件交给Java虚拟机(JVM)执行。 而我们所说的类加载过程即是指JVM虚拟机把.cl 阅读全文