Java
凉柒-lq
学习,永无止境
展开
-
代码1
public class TopK_Partition { public static List<Integer> topK(int[] a, int k){ List<Integer> res = new LinkedList<>(); int begin = 0, end = a.length-1; int index = partition(a, begin, end); while (inde原创 2020-09-15 14:42:07 · 597 阅读 · 0 评论 -
Java多态(详解重载和重写,静态分派和动态分派)
文章目录Java中的多态继承向上转型向下转型多态(重载是静态分派 重写是动态分派)重载静态分派重写动态分派总结参考链接Java中的多态要了解多态,我们先来看一下继承。继承public class inheritExmple { public static void main(String[] args) { //向上转型(子类向父类去转型,隐士转换) Person person = new Child(); person.sleep()原创 2020-07-31 11:54:45 · 1187 阅读 · 1 评论 -
静态代码块 构造代码块 构造函数 深入分析
文章目录静态代码块 构造代码块 构造函数 的执行顺序概念静态代码块构造代码块构造函数普通代码块执行顺序简单例子解释父子类之间的加载顺序(重要)解释参考链接静态代码块 构造代码块 构造函数 的执行顺序概念静态代码块//在java类中(方法中不能存在静态代码块)使用static关键字和{}声明的代码块public class CodeBlock { static { System.out.println("静态代码块"); }}执行时机静态代码块在类被加载的时候就原创 2020-07-31 11:46:28 · 453 阅读 · 0 评论 -
GC与内存分配面试知识总结
GC需要完成三件事:哪些内存需要回收什么时候回收如何回收对象已死吗引用计数法这个算法是这样判断对象是否存活的:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。它无法解决对象之间循环引用的问题,同时虚拟机也不是通过引用计数法来判断对象是否存活的简单示例: 对象objA和objB都有属性instance,赋值令objA.instance = objB 及 objB.instance = objA,原创 2020-07-02 01:08:23 · 493 阅读 · 0 评论 -
JVM运行时数据区
运行时数据区概念: Java虚拟机在执行Java程序的过程中会把它管理的内存划分为若干个不同的区域。这些区域都有各自的用途,以及创建时间和销毁时间。可按照由线程共享或线程隔离来将Java虚拟机运行时数据区划分如下:线程私有的: 程序计数器,虚拟机栈,本地方法栈线程共享的: 堆,方法区程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看做当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来获取下一条需要执行的字节码原创 2020-07-02 01:03:59 · 169 阅读 · 0 评论