自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

转载 Java集合:HashMap底层实现和原理(源码解析)

注:文章是从博客园大佬那里转载过来,尊重原作者,附上原地址。原地址:https://www.cnblogs.com/java-jun-world2099/p/9258605.htmlNote:文章的内容基于JDK1.7进行分析。1.8做的改动文章末尾进行讲解。一、先来熟悉一下我们常用的HashMap:1、概述HashMap基于Map接口实现,元素以键值对的方式存储,并且允许使用...

2019-05-09 11:04:32 150

原创 堆排序(Java实现)

堆排序概括:堆排序(Heapsort)是指利用堆这种数据结构设计的一种排序算法。堆积是一个近似完全二叉树的结构,其实就是把数组元素想象为一颗二叉树,顺序按从上到下从左到右,但只是想象而已,并没有正真构建二叉树。这一棵想象的二叉树满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序算法描述:将初始待排序关键字序列(R0,R1….Rn-1)构建成大顶堆,此堆为初始的无...

2019-05-08 09:57:34 251

原创 Java虚拟机类加载机制

类加载过程类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段。其中准备、验证、解析3个部分统称为连接(Linking)。加载、验证、准备、初始化和卸载这5个阶段的...

2019-05-06 20:38:45 79

转载 浅谈JVM内存模型 转载自:https://blog.csdn.net/one_Jachen/article/details/78157209

原 浅谈JVM内存模型 2017年10月04日 08:32:37 one_Jachen 阅读数:10204 </div> <div class="operating"> ...

2019-05-05 16:11:37 152

原创 多生产者与多消费者:操作栈

该示例使用生产者向栈List对象中放入数据,使用消费者从List栈中取出数据。List最大容量是1,实验环境是多个生产者与多个消费者。实验代码如下(代码参考自《Java多线程编程核心技术》):package entity;import java.util.ArrayList;import java.util.List;public class MyStack { privat...

2018-11-10 10:53:24 173

原创 synchronized代码块的同步性

在使用同步synchronized(this)代码块时需要注意的是,当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对同一个object中所有其他synchronized(this)同步代码块的访问将被阻塞,这说明synchronized使用的“对象监视器”是一个。下面通过代码来验证(代码参考《Java多线程编程核心技术》):package se...

2018-11-01 20:21:17 139

原创 线程同步不具有继承性

同步synchronized不具有继承性,下面通过Java的代码来体现(代码参考自书本《Java多线程编程核心技术》):package service;public class Main { synchronized public void serviceMethod() { try { System.out.println("int main 下一步 sleep begin...

2018-10-30 22:09:39 408

转载 [转]图文讲解QuickSort快速排序算法(Java版)

什么是快速排序?快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。算法原理...

2018-06-29 11:10:48 186 1

原创 Dijkstra最短路径算法的java实现

迪杰斯特拉算法迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。如下图:令Graph =(V,E)为一个带权无向图。Graph中若有两个相邻的节点i和j。Graph[i][j]为节点i到节点j的权值,在本算法可以理解为...

2018-06-29 11:00:25 646

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除