排序算法之堆排序

####简介 学习这个算法之前,首先需要知道什么是堆,以及二叉树的一些特点。 堆:是一颗完全二叉树,并且任一节点的值都要求大于(小于)子节点的值。 完全二叉树具有如下特点: 对于tree[i],...

排序算法之快排

####前言 在校期间,曾经也学习过各种排序,依稀还记得当时在 OJ 系统上各种刷题的场景。。。 快排当时的数据结构与算法课程上也学习过,只不过当时已经开始 JAVAEE 课程的学习了,所以对于...

JAVA 动态代理两种实现方案

####简介 在写实现代码之前,还是有必要知道一下代理模式的定义: > 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户...

浅谈 JVM 类加载器与类加载机制

####概述 类从被加载到虚拟机内存开始,到卸载出内存位置,它的生命周期分为以下 7 个阶段: 加载->验证->准备->解析->初始化->使用->卸载 整个过程涉及到的东西非常多,目前个人理解还...

浅谈 Java 线程池工作原理

####概述 Java 给我们提供了多种线程池的实现,程序员只管通过`Executors`类直接创建即可,但是其工作原理还是有必要知道的,昨天面试时就遇到了这个问题,由于以前只是大致了解过其原理...

浅谈 Java 垃圾回收机制

####概述 说起 Java 的特点,很容易就会联想到它的垃圾回收机制,这是要与 C/C++ 主要区别之一的地方。很多人都是因为 C/C++ 中的指针及内存需要我们手动释放和转向了 Java 的...

Kotlin 实战(一):初探 kotlin

####前言 关于 Kotlin 的介绍就不再过多的赘述了,原因有二:① 就目前情况,对 Kotlin 算是一无所知,根本写不出什么介绍。② 官网自身就有介绍,看了也未必就能弄清 Kotlin ...