一、前言 今天看《深入理解Java虚拟机》这本书的时候,看到了其中对方法重载(Overload)以及方法重写(Override)的原理讲解,顿时有了恍然大悟之感。这篇博客我就来参考书中的内容,讲一讲方法重载的实现原理。 二、正文 2.1 什么是方法重载 讲重载的实现原理之前 ...
我们都知道Java有三大宝,分别是:多态 封装 继承。其中多态主要体现就是重写与重载 有些人认为重载根本不属于多态 两种方式,那么今天就结合研读过JVM之后自己的理解来聊聊重载与重写的VM内部是怎么实现的,是怎么找到最后执行的方法的。 在分析重载与重写这两个之前,我们必须要知道一些概念:分派 静态分派 动态分派 实际类型 静态类型.... 之后涉及到的会边介绍别举例才能更好地理解 一 相关的概念 ...
2018-06-21 01:40 0 1495 推荐指数:
一、前言 今天看《深入理解Java虚拟机》这本书的时候,看到了其中对方法重载(Overload)以及方法重写(Override)的原理讲解,顿时有了恍然大悟之感。这篇博客我就来参考书中的内容,讲一讲方法重载的实现原理。 二、正文 2.1 什么是方法重载 讲重载的实现原理之前 ...
目录 1. 简介 2. 声明数组 3. 创建数组 4. 访问数组 5. 数组的引用 6. 泛型和数组 ...
一、前言 要理解ThreadLocal,首先必须理解线程安全。线程可以看做是一个具有一定独立功能的处理过程,它是比进程更细度的单位。当程序以单线程运行的时候,我们不需要考虑线程安全。然而当一个进程中包含多个线程的时候,就需要考虑线程安全问题,因为此时线程可能会同时操作同一个资源 ...
PriorityQueue 本文github地址 Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示。本文从Queue接口函数出发,结合生动的图解,深入浅出地分析PriorityQueue每个操作的具体过程和时间复杂度,将让读者建立对PriorityQueue建立 ...
在讲解String之前,我们先了解一下Java的内存结构。 一、Java内存模型 按照官方的说法:Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。 JVM主要管理两种类型内存:堆和非堆,堆内存(Heap Memory ...
深入理解 Java 注解 本文内容基于 JDK8。注解是 JDK5 引入的,后续 JDK 版本扩展了一些内容,本文中没有明确指明版本的注解都是 JDK5 就已经支持的注解。 📓 本文已归档到:「javacore」 🔁 本文中的示例代码已归档到:「javacore」 1. ...
目录 基本预备相关知识 对象的销毁过程 对象重生的例子 对象的finalize的执行顺序 何时及如何使用finalize 参考 基本预备相关知识 1 java的GC只负责内存相关的清理,所有其它资源的清理必须由程序员手工完成。要不然会引起资源泄露,有可能导致程序崩溃。 2 调用GC并不保证GC实际 ...
的那个针对String对象的ArrayList实现。 在Java 5之前,ArrayList的实现大致如下 ...