admin
-
09、【死磕Java并发】—–第八篇J.U.C之AQS:AQS简介
原文出处:http://cmsblogs.com/ 『chenssy』 Java的内置锁一直都是备受争议的,在JDK 1.6之前,synchronized这个重量级锁其性能一直都是…
-
07、【死磕Java并发】—–第七篇Java内存模型之总结
原文出处:http://cmsblogs.com/ 『chenssy』 经过四篇博客阐述,我相信各位对Java内存模型有了最基本认识了,下面LZ就做一个比较简单的总结。 总结 JM…
-
06、【死磕Java并发】—–第六篇Java内存模型之从JMM角度分析DCL
原文出处:http://cmsblogs.com/ 『chenssy』 DCL,即Double Check Lock,中卫双重检查锁定。其实DCL很多人在单例模式中用过,LZ面试人…
-
05、【死磕Java并发】—–第五篇Java内存模型之分析volatile
原文出处:http://cmsblogs.com/ 『chenssy』 前篇博客【死磕Java并发】—–深入分析volatile的实现原理 中已经阐述了vo…
-
04、【死磕Java并发】—–第四篇Java内存模型之重排序
原文出处:http://cmsblogs.com/ 『chenssy』 在执行程序时,为了提供性能,处理器和编译器常常会对指令进行重排序,但是不能随意重排序,不是你想怎么排序就怎么…
-
03、【死磕Java并发】—–第三篇Java内存模型之happens-before
原文出处:http://cmsblogs.com/ 『chenssy』 在上篇博客(【死磕Java并发】—–深入分析volatile的实现原理)LZ提到过由…
-
02、【死磕Java并发】—–第二篇深入分析volatile的实现原理
原文出处:http://cmsblogs.com/ 『chenssy』 通过前面一章我们了解了synchronized是一个重量级的锁,虽然JVM对它做了很多优化,而下面介绍的vo…
-
01、【死磕Java并发】—–第一篇深入分析synchronized的实现原理
原文出处:http://cmsblogs.com/ 『chenssy』 记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synch…
-
死磕Java并发系列
【死磕 Java 并发】系列是LZ的一位好哥们在 2017 年写的第一个死磕系列,一直没有做一个合集,这篇博客则是将整个系列做一个概览。 先来一个总览图: 【死磕Java并发】—–…
-
14-数据结构+算法(第14篇):精通二叉树的“独门忍术”——线索二叉树(中)
引言 上一篇文章《精通二叉树的“独门忍术”——线索二叉树(上)》提到了线索二叉树的改良,并给出了改良后的“中序遍历”“前序遍历”线索二叉树的定义。本文就来谈谈改良后的“前序遍历”的…
-
13-数据结构+算法(第13篇):精通二叉树的“独门忍术”——线索二叉树(上)
引言 二叉树的叶子节点的孩子都是空节点(Null),如果展开显示,如下图: 图 1 原始二叉树 二叉树的遍历方法,有“前序遍历”“中序遍历”和“后序遍历”三种。 “前序遍历”的规则…
-
12-数据结构+算法(第12篇)玩平衡二叉树就像跷跷板一样简单!
引言 在上一篇《无死角“盘”它!二分查找树》中提到了:平衡二叉树的目的就是使得平均查找长度最短。那么这里就引出两个问题: 什么是平衡二叉树? 为什么平衡二叉树的平均查找长度最短? …
-
11-数据结构+算法(第11篇) 无死角“盘”它!二分查找树
引言 《菜鸟也能“种”好二叉树!》一文中提到了:为了方便查找,需要进行分层分类整理。而满足这种目标的数据结构之一就是树。 树的叶子节点可以看作是最终要搜寻的目标物;叶子节点以上的每…
-
10-数据结构+算法(第10篇)叉堆“功夫熊猫”的速成之路
引言 上一篇文章《菜鸟也能“种”好二叉树!》提到:树是一种分层分类的数据结构,用途是查找和排序。而与查找和排序密切相关的就是求最值(最大值或者最小值)。今天我们就来介绍一个与最值相…
-
09-数据结构+算法(第09篇):菜鸟也能“种”好二叉树!
>引言 在本系列第5篇《小白也能玩转数组和链表啦!》中,给出了常用数据结构的全貌图: 本文就来讲讲“树”这个数据结构。 1. 树的本质是什么? 本系列第2篇《扫雷还可以这样…
-
08-数据结构+算法(第08篇):史上最猛之递归屠龙奥义
本系列的第6篇《再不会“降维打击”你就Out了!》讲述了递归算法的意义、套路,第7篇《神力加身!动态编程》讲述了递归算法的优化,但是在大量的实际项目、工程和大家关心的求职面试中,却…
-
07-数据解构+算法(第07篇),动态编程!黄袍加身!
引言 在上篇文章《再不会"降维打击"你就Out了!》中,提到了递归算法的两个局限性。本文给出解决方案——动态编程。如果说"递归算法"是圣剑的…
-
06-数据结构+算法(第06篇):再不会“降维打击”你就Out了!
引言 刘慈欣的《三体》不仅让中国的硬科幻登上了世界的舞台,更是给广大读者普及了诸如“降维打击”之类的热门概念。 “降维打击”之所以给人如此之震撼,在于它以极简的方式,从更高的、全新…
-
05-算法+数据结构(第05篇)走下神坛吧!算法
引言 在本系列第一篇文章[《走下神坛吧!算法》中提到了: 算法的作用对象是数据结构 数据结构的来源既有硬件维度也有软件维度 把项目或者工程看作是大楼的话,那么算法就是建造大楼的具体…
-
04-算法+数据解构(第04篇)空间复杂度你真的懂了吗?
在本系列第1篇《走下神坛吧!算法》中提到了:计算复杂度分为时间复杂度与空间复杂度,第3篇《KO!大O——时间复杂度》详细介绍了时间复杂度,本篇文章来讲讲空间复杂度。 空间复杂度和硬…