自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CyC2018

同步更新 https://github.com/CyC2018/CS-Notes

  • 博客(20)
  • 资源 (7)
  • 收藏
  • 关注

原创 剑指 Offer 全解(Java 版)

3. 数组中重复的数字NowCoder题目描述在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次。请找出数组中任意一个重复的数字。Input:{2, 3, 1, 0, 2, 5}Output:2解题思路要求时间复杂度 O(N),空间复杂度 O(1)。因此不能使用排序的方法,也不能使用...

2019-06-17 08:39:08 914

原创 攻击技术

文章目录一、跨站脚本攻击概念攻击原理危害防范手段1. 设置 Cookie 为 HttpOnly2. 过滤特殊字符二、跨站请求伪造概念攻击原理防范手段1. 检查 Referer 首部字段2. 添加校验 Token3. 输入验证码三、SQL 注入攻击概念攻击原理防范手段1. 使用参数化查询2. 单引号转换四、拒绝服务攻击参考资料微信公众号一、跨站脚本攻击概念跨站脚本攻击(Cross-Site S...

2019-06-17 08:46:25 257

原创 分布式

文章目录一、分布式锁数据库的唯一索引Redis 的 SETNX 指令Redis 的 RedLock 算法Zookeeper 的有序节点1. Zookeeper 抽象模型2. 节点类型3. 监听器4. 分布式锁实现5. 会话超时6. 羊群效应二、分布式事务2PC1. 运行过程1.1 准备阶段1.2 提交阶段2. 存在的问题2.1 同步阻塞2.2 单点问题2.3 数据不一致2.4 太过保守本地消息表三...

2019-06-17 08:46:03 861

原创 SQL

文章目录一、基础二、创建表三、修改表四、插入五、更新六、删除七、查询DISTINCTLIMIT八、排序九、过滤十、通配符十一、计算字段十二、函数汇总文本处理日期和时间处理数值处理十三、分组十四、子查询十五、连接内连接自连接自然连接外连接十六、组合查询十七、视图十八、存储过程十九、游标二十、触发器二十一、事务管理二十二、字符集二十三、权限管理参考资料微信公众号一、基础模式定义了数据如何存储、存储...

2019-06-17 08:44:46 615

原创 Socket

文章目录一、I/O 模型阻塞式 I/O非阻塞式 I/OI/O 复用信号驱动 I/O异步 I/O五大 I/O 模型比较二、I/O 复用selectpoll比较1. 功能2. 速度3. 可移植性epoll工作模式1. LT 模式2. ET 模式应用场景1. select 应用场景2. poll 应用场景3. epoll 应用场景参考资料微信公众号一、I/O 模型一个输入操作通常包括两个阶段:等...

2019-06-17 08:44:22 528

原创 Redis

文章目录一、概述二、数据类型STRINGLISTSETHASHZSET三、数据结构字典跳跃表四、使用场景计数器缓存查找表消息队列会话缓存分布式锁实现其它五、Redis 与 Memcached数据类型数据持久化分布式内存管理机制六、键的过期时间七、数据淘汰策略八、持久化RDB 持久化AOF 持久化九、事务十、事件文件事件时间事件事件的调度与执行十一、复制连接过程主从链十二、Sentinel十三、分片...

2019-06-17 08:44:01 852 1

原创 MySQL

文章目录一、索引B+ Tree 原理1. 数据结构2. 操作3. 与红黑树的比较MySQL 索引1. B+Tree 索引2. 哈希索引3. 全文索引4. 空间数据索引索引优化1. 独立的列2. 多列索引3. 索引列的顺序4. 前缀索引5. 覆盖索引索引的优点索引的使用条件二、查询性能优化使用 Explain 进行分析优化数据访问1. 减少请求的数据量2. 减少服务器端扫描的行数重构查询方式1. 切...

2019-06-17 08:43:36 755

原创 Linux

文章目录一、常用操作以及概念快捷键求助1. --help2. man3. info4. doc关机1. who2. sync3. shutdownPATHsudo包管理工具发行版VIM 三个模式GNU开源协议二、磁盘磁盘接口1. IDE2. SATA3. SCSI4. SAS磁盘的文件名三、分区分区表1. MBR2. GPT开机检测程序1. BIOS2. UEFI四、文件系统分区与文件系统组成文件...

2019-06-17 08:42:49 4705

原创 Leetcode-Database 题解

文章目录595. Big CountriesDescriptionSQL SchemaSolution627. Swap SalaryDescriptionSQL SchemaSolution620. Not Boring MoviesDescriptionSQL SchemaSolution596. Classes More Than 5 StudentsDescriptionSQL Schem...

2019-06-17 08:42:20 247

原创 Leetcode 题解 - 分治

文章目录1. 给表达式加括号2. 不同的二叉搜索树微信公众号1. 给表达式加括号241. Different Ways to Add Parentheses (Medium)Input: "2-1-1".((2-1)-1) = 0(2-(1-1)) = 2Output : [0, 2]public List<Integer> diffWaysToCompute(St...

2019-06-17 08:38:22 368

原创 Leetcode 题解 - 二分查找

文章目录1. 求开方2. 大于给定元素的最小元素3. 有序数组的 Single Element4. 第一个错误的版本5. 旋转数组的最小数字6. 查找区间微信公众号正常实现Input : [1,2,3,4,5]key : 3return the index : 2public int binarySearch(int[] nums, int key) { int l = 0, ...

2019-06-16 17:14:48 397

原创 Leetcode 题解 - 动态规划

文章目录斐波那契数列1. 爬楼梯2. 强盗抢劫3. 强盗在环形街区抢劫4. 信件错排5. 母牛生产矩阵路径1. 矩阵的最小路径和2. 矩阵的总路径数数组区间1. 数组区间和2. 数组中等差递增子区间的个数分割整数1. 分割整数的最大乘积2. 按平方数来分割整数3. 分割整数构成字母字符串最长递增子序列1. 最长递增子序列2. 一组整数对能够构成的最长链3. 最长摆动子序列最长公共子序列0-1 背包...

2019-06-16 17:13:35 1044

原创 HTTP

文章目录一 、基础概念URI请求和响应报文1. 请求报文2. 响应报文二、HTTP 方法GETHEADPOSTPUTPATCHDELETEOPTIONSCONNECTTRACE三、HTTP 状态码1XX 信息2XX 成功3XX 重定向4XX 客户端错误5XX 服务器错误四、HTTP 首部通用首部字段请求首部字段响应首部字段实体首部字段五、具体应用连接管理1. 短连接与长连接2. 流水线Cookie...

2019-06-16 17:13:04 201

原创 Git

文章目录集中式与分布式中心服务器工作流分支实现冲突Fast forward分支管理策略储藏(Stashing)SSH 传输设置.gitignore 文件Git 命令一览参考资料微信公众号集中式与分布式Git 属于分布式版本控制系统,而 SVN 属于集中式。 集中式版本控制只有中心服务器拥有一份代码,而分布式版本控制每个人的电脑上就有一份完整的代码。集中式版本控制有安全性问题,当中心服务...

2019-06-16 17:12:42 216

原创 Docker

文章目录一、解决的问题二、与虚拟机的比较启动速度占用资源三、优势更容易迁移更容易维护更容易扩展四、使用场景持续集成提供可伸缩的云服务搭建微服务架构五、镜像与容器参考资料微信公众号一、解决的问题由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上需要进行大量的环境配置操作。Docker 主要解决环境配置问题,它是一种虚拟化技术,对进程进行隔离,被隔离的进程独立于宿主...

2019-06-16 17:12:25 292

原创 Java 虚拟机

文章目录一、运行时数据区域程序计数器Java 虚拟机栈本地方法栈堆方法区运行时常量池直接内存二、垃圾收集判断一个对象是否可被回收1. 引用计数算法2. 可达性分析算法3. 方法区的回收4. finalize()引用类型1. 强引用2. 软引用3. 弱引用4. 虚引用垃圾收集算法1. 标记 - 清除2. 标记 - 整理3. 复制4. 分代收集垃圾收集器1. Serial 收集器2. ParNew 收...

2019-06-16 17:11:51 512

原创 Java 容器

文章目录一、概览Collection1. Set2. List3. QueueMap二、容器中的设计模式迭代器模式适配器模式三、源码分析ArrayList1. 概览2. 扩容3. 删除元素4. Fail-Fast5. 序列化Vector1. 同步2. 与 ArrayList 的比较3. 替代方案CopyOnWriteArrayList读写分离适用场景LinkedList1. 概览2. 与 Arra...

2019-06-16 17:08:34 189

原创 Java IO

文章目录一、概览二、磁盘操作三、字节操作实现文件复制装饰者模式四、字符操作编码与解码String 的编码方式Reader 与 Writer实现逐行输出文本文件的内容五、对象操作序列化Serializabletransient六、网络操作InetAddressURLSocketsDatagram七、NIO流与块通道与缓冲区1. 通道2. 缓冲区缓冲区状态变量文件 NIO 实例选择器1. 创建选择器2...

2019-06-16 17:08:00 146

原创 Java 并发

文章目录一、线程状态转换新建(New)可运行(Runnable)阻塞(Blocked)无限期等待(Waiting)限期等待(Timed Waiting)死亡(Terminated)二、使用线程实现 Runnable 接口实现 Callable 接口继承 Thread 类实现接口 VS 继承 Thread三、基础线程机制ExecutorDaemonsleep()yield()四、中断Interrup...

2019-06-16 17:07:27 256

原创 Java 基础

文章目录一、数据类型基本类型包装类型缓存池二、String概览不可变的好处String, StringBuffer and StringBuilderString Poolnew String("abc")三、运算参数传递float 与 double隐式类型转换switch四、继承访问权限抽象类与接口super重写与重载五、Object 通用方法概览equals()hashCode()toStri...

2019-06-16 17:05:22 488

微服务设计 高清

本书全面介绍了微服务的建模、集成、测试、部署和监控,通过一个虚构的公司讲解了如何建立微服务架构。主要内容包括认识微服务在保证系统设计与组织目标统一上的重要性,学会把服务集成到已有系统中,采用递增手段拆分单块大型应用,通过持续集成部署微服务,等等。

2018-12-16

Paxos 到 Zookeeper:分布式一致性原理与实践 高清

《Paxos 到 Zookeeper:分布式一致性原理与实践》从分布式一致性的理论出发,向读者简要介绍几种典型的分布式一致性协议,以及解决分布式一致性问题的思路,其中重点讲解了 Paxos 和 ZAB 协议。同时,本书深入介绍了分布式一致性问题的工业解决方案——ZooKeeper,并着重向读者展示这一分布式协调框架的使用方法、内部实现及运维技巧,旨在帮助读者全面了解 ZooKeeper,并更好地使用和运维 ZooKeeper。全书共 8 章,分为五部分:第一部分(第 1 章)主要介绍了计算机系统从集中式向分布式系统演变过程中面临的挑战,并简要介绍了 ACID、CAP 和 BASE 等经典分布式理论;第二部分(第 2~4 章)介绍了 2PC、3PC 和 Paxos 三种分布式一致性协议,并着重讲解了 ZooKeeper 中使用的一致性协议——ZAB 协议;第三部分(第 5~6 章)介绍了 ZooKeeper...

2018-12-16

NoSQL 精粹 高清

《NoSQL 精粹》为考虑是否可以使用和如何使用 NoSQL 数据库的企业提供了可靠的决策依据。它由世界级软件开发大师和软件开发 “教父”Martin Fowler 与 Jolt 生产效率大奖图书作者 Pramod J. Sadalage 共同撰写。书中全方位比较了关系型数据库与 NoSQL 数据库的异同;分别以 Riak、MongoDB、Cassandra 和 Neo4J 为代表,详细讲解了键值数据库、文档数据库、列族数据库和图数据库这 4 大类 NoSQL 数据库的优劣势、用法和适用场合;深入探讨了实现 NoSQL 数据库系统的各种细节,以及与关系型数据库的混用。

2018-12-16

大型网站技术架构

《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。

2018-06-11

数据结构与算法分析:C语言描述_原书第2版_高清版

数据结构与算法分析:C语言描述

2017-08-16

空空如也

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

TA关注的人

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