CDz Blog

Think Different.

redis面试题

redis面试题

redis面试题 1、什么是Redis? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。 Redis的出色之处不仅仅是性能,Redis最大的...

数学期望的“遍历性”

《利益攸关》全书都在讲要做点与自己利益攸关的事情,即是自己要能承担风险,最后一讲中恰恰再说如何避免风险,而这个要避免的风险是,尾部风险。 接触到了两个学术词语,数学期望中的“遍历性”、尾部风险。 数学期望的“遍历性” 数学期望中的遍历性:一件事情在空间上的数学期望,与其在时间上的数学期望不相等。就成为这个事情的数学期望不具备遍历性。 对于遍历性理解,计算机编程语言中对于遍历的概念让我对...

微信公开课pro

微信公开课pro

微信公开课pro 这是我第一次看微信公开课,也有点感悟,所以选择写下来。当然我看的文字版。毕竟张小龙语速。。~hh 开篇就指出最近很火的,跳一跳小游戏,首先我确实没有留意,最新版本所推送的文案。据张小龙说是玩一个小游戏才是正经的事,开始我是不以为然的,因为我觉得,这不过是想要去推广自己的东西文案与说法罢了,但是后来的解释也让我有那么点认同。首先,现在微信基本是中国人生活的一部分,而这一部分...

idea快捷键

效率工具

idea快捷键 文件跳转 标记代码 用于在学习源码时使用 win:Ctrl+F11 设置标记号 搜索 搜索方法 搜索类:Ctrl+N 搜索文件:Ctrl+shift+N 搜索方法:Ctrl+shift+alt+N 列操作 查找 移动光标所在单词最后:Ctrl+ -> 移动光标所在单词最前:Ctrl+ <- 查找所有相同并编辑:Ctrl+shift+alt+J 模板代码 po...

Heap 数据结构

堆排序前言

堆数据结构简介 堆结构到底是一个什么样的结构? 想要弄清楚堆是什么,就先要弄清楚堆与树之间的关系。要清楚的一点是堆是树结构中的一种。一个完全二叉树,符合一定的条件时便是堆。一般是因为最大值(完全最大堆)或最小值(完全最小堆)是根元素的树,所以称之为堆,而值得注意的是堆不仅仅有完全堆。只是因为完全堆便于检索故被广泛使用。 堆有称为优先队列,优先队列相信大家都听说过,生活中有很多情况都是优先队...

Java多线程

多线程学习实践

1.多线程概述 多线程的实现由两种,一种是时间片,一种是锁机制。Java中的多线程使用的锁机制。每一个对象都有会有一个锁,通过锁对象来控制调度多线程,也正因为有锁机制,才会使线程有很多的状态。 多进程与多线程: 每一个程序就是一个进程(有点抽象举个栗子,在电脑上我们同时开QQ、微信、chrome,这个三个分别是程序(进程)),而在程序中的每个功能又是一个线程(再举个栗子,qq...

Java8-HashMap原理分析

HashMap源码分析

1.HashMap概述 HashMap在java的java.util包下的属于基本数据容器类,以key-value的形式来作为基本的数据结构。特性为 key唯一且可为null,value值可重复可为null。 值得注意的是HashMap是线程不安全的,如果想要线程安全的map,可以使用Collections.synchronizedMap(hashmap),或者使用ConcurrentMa...

排序算法衍生问题

MergeSort与QuickSort衍生问题

排序算法衍生问题 上一篇具体分析了MergeSort与QuickSort的实现与优化。 从上篇我们可以总结出,不论是MergeSort还是QuickSort都使用了分治算法的思想,即将一个问题分解成相同的子问题,将子问题解决了,原问题也就得以解决。 而MergeSort与QuickSort不同在于,MergeSort注重合并的操作而不注重分。QuickSort注重如何来分,因为需要分的位...

排序算法(下)

排序算法 (O(nlogn)时间复杂度)

排序算法(下) 2.排序算法(O(nlogn)时间复杂度) 2.1归并排序(自上而下) 核心思想: 将对于的数组以 size = arr.length / 2 递归下去,直到size = 1时就遍历到数组的每一个元素,而最核心的思想是如何将两个有序的数组合并成一个数组且有序。 方法:拷贝待排序的两组数组(为了好理解表述的是两组数组,其实待排序数组中的一段),然后维护三个索引值。 ...

排序算法(上)

排序算法 (O(n^2)时间复杂度)

排序算法(上) 1.排序算法 (O(n^2)时间复杂度) 1.1选择排序 核心思想: 从第一个元素开始,扫描后面所有元素,当比其小时就进行交换。 //外循环 扫描所有的元素 for(int i = 0 ; i < arr.length ; i++){ //内循环 i 所在位置 后面的所有元素 for(int j = i + 1 ;...