Bugs

微笑的周末


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • github

漫画:什么是红黑树?

发表于 2018-09-28 | 分类于 算法
字数统计: 1.4k 字 | 阅读时长 ≈ 4 分钟
本文由 简悦 SimpRead 转码, 原文地址 https://juejin.im/post/5a27c6946fb9a04509096248 ​ ———————————— ———————————— 二叉查找树(BST)具备什么特性呢? 左子树上所有结点的值均小于或等于它的根结点的值。 右子树上所有结点的值均大于或等于它的根结点的值。 3. 左、右子树也分别为二叉排序树。 下图中这棵树,就是一颗典型的二叉查找树: 1. 查看根节点 9: 2. 由于 10 > 9,因此查看右孩子 13: 3. 由于 10 < 13,因此查看左孩子 11: 4. 由于 10 < 11,因此查看左孩子 10,发现 10 正是要查找的节点: 假设初始的二叉查找树只有三个节点,根节点值为 9,左孩子值为 8,右孩子值为 12: 接下来我们依次插入如下五个节点:7,6,5,4,3。依照二叉查找树的特性,结果会变成什么样呢? ...
阅读全文 »

《Spark 官方文档》Spark SQL, DataFrames 以及 Datasets 编程指南

发表于 2018-09-27 | 分类于 大数据
字数统计: 11.7k 字 | 阅读时长 ≈ 48 分钟
本文由 简悦 SimpRead 转码, 原文地址 http://ifeve.com/spark-sql-dataframes/ spark-1.6.0 [原文地址] Spark SQL, DataFrames 以及 Datasets 编程指南概要Spark SQL 是 Spark 中处理结构化数据的模块。与基础的 Spark RDD API 不同,Spark SQL 的接口提供了更多关于数据的结构信息和计算任务的运行时信息。在 Spark 内部,Spark SQL 会能够用于做优化的信息比 RDD API 更多一些。Spark SQL 如今有了三种不同的 API:SQL 语句、DataFrame API 和最新的 Dataset API。不过真正运行计算的时候,无论你使用哪种 API 或语言,Spark SQL 使用的执行引擎都是同一个。这种底层的统一,使开发者可以在不同的 API 之间来回切换,你可以选择一种最自然的方式,来表达你的需求。 本文中所有的示例都使用 Spark 发布版 ...
阅读全文 »

互联网公司面试必问的 Redis 题目

发表于 2018-09-25 | 分类于 redis
字数统计: 3k 字 | 阅读时长 ≈ 11 分钟
本文由 简悦 SimpRead 转码, 原文地址 https://juejin.im/post/5b99d4bce51d450e7a24b66e?utm_source=gold_browser_extension![](https://user-gold-cdn.xitu.io/2018/9/13/165d0e6e66786d76?imageView2/0/w/1280/h/960/format/webp/ignore-error/1) Redis 是一个非常火的非关系型数据库,火到什么程度呢?只要是一个互联网公司都会使用到。Redis 相关的问题可以说是面试必问的, 下面我从个人当面试官的经验,总结几个必须要掌握的知识点。 介绍:Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API 的非关系型数据库。 传统数据库遵循 ACID 规则。而 Nosql(Not Only SQ ...
阅读全文 »

Java-基础-容器-HashMap_ ConcurrentHashMap

发表于 2018-09-25 | 分类于 java
字数统计: 4.3k 字 | 阅读时长 ≈ 18 分钟
本文由 简悦 SimpRead 转码, 原文地址 http://ifeve.com/hashmap-concurrenthashmap-%e7%9b%b8%e4%bf%a1%e7%9c%8b%e5%ae%8c%e8%bf%99%e7%af%87%e6%b2%a1%e4%ba%ba%e8%83%bd%e9%9a%be%e4%bd%8f%e4%bd%a0%ef%bc%81/ 前言Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式开始之前我觉得有必要谈谈 HashMap,没有它就不会有后面的 ConcurrentHashMap。 HashMap众所周知 HashMap 底层是基于 数组 + 链表 组成的,不过在 jdk1.7 和 1.8 中具体实现稍有不同。 Base 1.71.7 中的数据结构图: 先来看看 1.7 中的实现。 这是 HashMap 中比较核心的几个成 ...
阅读全文 »

Java 8 中的 Streams API 详解 Java 8 中的 Streams API 详解

发表于 2018-09-25 | 分类于 java
字数统计: 6.1k 字 | 阅读时长 ≈ 25 分钟
本文由 简悦 SimpRead 转码, 原文地址 https://juejin.im/entry/5ba09f97e51d450e6c74affe?utm_source=gold_browser_extension Java 8 中的 Streams API 详解Streams 的背景,以及 Java 8 中的使用详解 为什么需要 StreamStream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream。Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。Stream API 借助于同样新 ...
阅读全文 »

Java Fork_Join 框架

发表于 2018-09-25 | 分类于 java
字数统计: 10.3k 字 | 阅读时长 ≈ 37 分钟
本文由 简悦 SimpRead 转码, 原文地址 http://ifeve.com/java-fork-join-framework/ 原文链接:A Java Fork/Join Framework(PDF) – Doug Lea 译序Doug Lea 大神关于Java 7引入的他写的Fork/Join框架的论文。 响应式编程(Reactive Programming / RP)作为一种范式在整个业界正在逐步受到认可和落地,是对过往系统的业务需求理解梳理之后对系统技术设计 / 架构模式的提升总结。Java作为一个成熟平台,对于趋势一向有些稳健的接纳和跟进能力,有着令人惊叹的生命活力: Java 7提供了ForkJoinPool,支持了Java 8提供的Stream。 另外Java 8还提供了Lamda(有效地表达和使用RP需要FP的语言构件和理念)。 有了前面的这些稳健但不失时机的准备,在Java 9中提供了面向RP的官方 Flow API,实际上是直接把 Reactive St ...
阅读全文 »

TopK问题

发表于 2018-09-25 | 分类于 算法
字数统计: 2.2k 字 | 阅读时长 ≈ 8 分钟
本文由 简悦 SimpRead 转码, 原文地址 https://juejin.im/entry/5ba385dbe51d450e5d0b0a76?utm_source=gold_browser_extension 前言:本文将介绍随机选择,分治法,减治法的思想,以及 TopK 问题优化的来龙去脉,原理与细节,保证有收获。 面试中,TopK,是问得比较多的几个问题之一,到底有几种方法,这些方案里蕴含的优化思路究竟是怎么样的,今天和大家聊一聊。 画外音: 除非校招,我在面试过程中从不问 TopK 这个问题,默认大家都知道。 问题描述: 从 arr[1, n] 这 n 个数中,找出最大的 k 个数,这就是经典的 TopK 问题。 栗子: 从 arr[1, 12]={5,3,7,1,8,2,9,4,7,2,6,6} 这 n=12 个数中,找出最大的 k=5 个。 一、排序 排序是最容易想到的方法,将 n 个数排序之后,取出最大的 k 个,即为所得。 伪代码: sort(arr, 1, ...
阅读全文 »

秒杀架构实践

发表于 2018-09-25 | 分类于 架构
字数统计: 3.4k 字 | 阅读时长 ≈ 15 分钟
本文由 简悦 SimpRead 转码, 原文地址 http://ifeve.com/%e7%a7%92%e6%9d%80%e6%9e%b6%e6%9e%84%e5%ae%9e%e8%b7%b5/ 前言之前在 Java-Interview 中提到过秒杀架构的设计,这次基于其中的理论简单实现了一下。 本文所有涉及的代码: https://github.com/crossoverJie/SSM https://github.com/crossoverJie/distributed-redis-tool 最终架构图: 系统架构设计. png 先简单根据这个图谈下请求的流转,因为后面不管怎么改进这个都是没有变的。 前端请求进入 web 层,对应的代码就是 controller。 之后将真正的库存校验、下单等请求发往 Service 层(其中 RPC 调用依然采用的 dubbo,只是更新为最新版本,本次不会过多讨论 dubbo 相关的细节,有兴趣的可以查看 基于 dubbo 的分布式架构) ...
阅读全文 »

MySQL 中的索引详讲

发表于 2018-09-25 | 分类于 MySQL
字数统计: 4.3k 字 | 阅读时长 ≈ 16 分钟
本文由 简悦 SimpRead 转码, 原文地址 https://juejin.im/post/5ba5f443f265da0ab673bb93 今天看了一篇关于 mysql 索引的博客,感觉内容写的非常不错,但是排版说实话看得我头疼,所以将其转载过来,重新排了一下版,也是防止以后忘了的话可以方便重新温习博客地址:www.cnblogs.com/whgk/p/6179… 一、什么是索引?为什么要建立索引?索引用于快速找出在某个列中有一特定值的行,不使用索引,MySQL 必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL 能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间。 例如:有一张 person 表,其中有 2W 条记录,记录着 2W 个人的信息。有一个 Phone 的字段记录每个人的电话号码,现在想要查询出电话号码为 xxxx 的人的信息。 如果没有索引,那么将从表 ...
阅读全文 »

何为脏读、不可重复读、幻读

发表于 2018-09-25 | 分类于 数据库
字数统计: 1.4k 字 | 阅读时长 ≈ 4 分钟
本文由 简悦 SimpRead 转码, 原文地址 http://ifeve.com/db_problem/ 2.0 前言事务的隔离性是指多个事务并发执行的时候相互之间不受到彼此的干扰的特性,隔离性是事务 ACID 特性中的 I,根据隔离程度从低到高分为 Read Uncommitted(读未提交),Read Committed(读已提交),Repeatable Read(可重复读),Serializable(串行化)四种隔离级别。在具体介绍事务隔离性前先介绍几个名词,以便说明数据库在并发操作时候可能存在的问题,以便展开来探讨这四种隔离级别对应存在哪些问题,哪些隔离级别解决了哪些问题。 2.1 何为脏读、不可重复读、幻读 脏读所谓脏读是指一个事务中访问到了另外一个事务未提交的数据,如下图: image.png 如上图开启两个会话来模拟两个线程同时去访问数据库表 table 中 id=1 的记录,假设两个会话开启前数据库中 table 表中 id=1 的记录行里面的列 age 值为 ...
阅读全文 »
1…345…10

Dean Wang

92 日志
20 分类
36 标签
GitHub E-Mail
© 2018 Dean Wang | Site words total count: 292.5k
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4