08 2020 档案

摘要:介绍Java算法、数据结构、设计模式和架构的核心知识,语言通俗易懂。 全书精心筛选了Java开发技术最具代表性、最典型的知识点采用了理论加实践的教学方法,兼顾理论、案例的完美展现。 内容介绍 一、架构中的设计原则 二、23种设计模式 三、数据结构与算法 由于笔记内容实在太多,在此只以截图展示部分内容 阅读全文
posted @ 2020-08-29 17:05 热衷技术的Java架构师 阅读(242) 评论(0) 推荐(0)
摘要:Zookeeper是Apache开源的一个分布式框架,它主要为分布式应用提供协调服务。 Zookeeper主要负责存储和管理大家都关心的数据,一旦这些数据的状态发生变化,Zookeeper就会通知那些注册在Zookeeper上的服务。简单来讲就是zookeeper=文件系统+通知机制。 一 Zook 阅读全文
posted @ 2020-08-28 15:22 热衷技术的Java架构师 阅读(456) 评论(0) 推荐(0)
摘要:这份笔记是在职京东架构师结合实际的生产实践,分别对网关、平台开放、分布式、MQ、RPC、I/O、微服务、容错的内容做了详细介绍。 其中的内容不限于概念,而是会下沉到实践背后的感悟与总结。 比如笔记详细阐述了网关系统是如何“抗量”,又是如何容错的,以及在每次大促中的备战经验。其他内容也是如此,基于实践 阅读全文
posted @ 2020-08-25 19:46 热衷技术的Java架构师 阅读(338) 评论(0) 推荐(0)
摘要:所谓「授人以鱼不如授人以渔」这份笔记的初衷和目标就是帮助后端开发者较为深入的理解Redis背后的原理和实践经验,做到知其然也知其所以然,为未来进阶成长为架构师做好准备。 笔记内容介绍 : Redis基础数据结构 分布式锁 延时队列 位图 HyperLogLog 布隆过滤器 简单限流、漏斗限流 Geo 阅读全文
posted @ 2020-08-24 21:12 热衷技术的Java架构师 阅读(126) 评论(0) 推荐(0)
摘要:前言 作为一名编程人员,对MySQL一定不会陌生,尤其是互联网行业,对MySQL的使用是比较多的。对于求职者来说,MySQL又是面试中一定会问到的重点,很多人拥有大厂梦,却因为MySQL败下阵来。实际上,MySQL并不难,今天这份最全的MySQL总结,助你向大厂“开炮”,面试不再被MySQL难倒。 阅读全文
posted @ 2020-08-22 15:40 热衷技术的Java架构师 阅读(994) 评论(0) 推荐(1)
摘要:SDS(Simple Dynamic Strings, 简单动态字符串)是 Redis 的一种基本数据结构,主要是用于存储字符串和整数。 这篇文章里,我们就来探讨一下 Redis SDS 这种数据结构的底层实现原理。 学习之前,首先我们要明确,Redis 是一个使用 C 语言编写的键值对存储系统。 阅读全文
posted @ 2020-08-21 17:14 热衷技术的Java架构师 阅读(421) 评论(0) 推荐(0)
摘要:话不多说,直接上内容: 第1章:Elasticsearch简介 先介绍Apache Lucene的工作方式,再介绍Elasticsearch的基本概念,并演示Elasticsearch内部是如何工作的。 第2章:查询DSL进阶 描述Lucene评分过程,为什么要进行查询改写,什么是查询模板以及如何使 阅读全文
posted @ 2020-08-20 20:06 热衷技术的Java架构师 阅读(252) 评论(0) 推荐(0)
摘要:本文主要分两部分。首先我们先聊一下Redis6.0之前为什么采用单线程模型。然后再详细解释Redis6.0的多线程。 Redis6.0之前为什么采用单线程模型 严格地说,从Redis 4.0之后并不是单线程。除了主线程外,还有一些后台线程处理一些较为缓慢的操作,例如无用连接的释放、大 key 的删除 阅读全文
posted @ 2020-08-19 22:22 热衷技术的Java架构师 阅读(523) 评论(0) 推荐(0)
摘要:线程池核心组件图解 看源码之前,先了解一下该组件 最主要的几个 接口、抽象类和实现类的结构关系。 该组件中,Executor 和 ExecutorService 接口 定义了线程池最核心的几个方法,提交任务 submit ()、关闭线程池 shutdown()。抽象类 AbstractExecuto 阅读全文
posted @ 2020-08-18 15:41 热衷技术的Java架构师 阅读(176) 评论(0) 推荐(0)
摘要:当时面试能记下的就这些了,可能不太全请见谅: 一面 1、HashMap和ConcurrentHashMap; 2、再谈谈一致hash算法? 3、乐观锁还有悲观锁; 4、可重入锁和Synchronize? 5、事务四大特性? 6、事务的二段提交机制? 7、聚簇索引和非聚簇索引? 8、用自己的实践经历说 阅读全文
posted @ 2020-08-14 15:41 热衷技术的Java架构师 阅读(379) 评论(1) 推荐(0)
摘要:一、问题由来 在实际开发的时候,我们经常会碰到这么一个困难:一个集合容器里面有很多重复的对象,里面的对象没有主键,但是根据业务的需求,实际上我们需要根据条件筛选出没有重复的对象。 比较暴力的方法,就是根据业务需求,通过两层循环来进行判断,没有重复的元素就加入到新集合中,新集合中已经有的元素就跳过。 阅读全文
posted @ 2020-08-13 20:42 热衷技术的Java架构师 阅读(392) 评论(0) 推荐(0)
摘要:不知道你有没有遇到过这种场景,一套代码部署在不同的环境中,随着时间的过去,各个环境代码有版本差异,代码层面可以通过不同的版本来控制,但是数据库层面经常容易忘记更新! 前言 比如刚开始环境 A 和环境 B 的代码版本是一样的,但是随着版本的迭代,环境 A 的系统一直持续迭代,但是环境 B 的系统由于种 阅读全文
posted @ 2020-08-13 17:32 热衷技术的Java架构师 阅读(1271) 评论(0) 推荐(0)
摘要:作为一个高性能的 NIO 通信框架,Netty 被广泛应用于大数据处理、互联网消息中间件、游戏和金融行业等。大多数应用场景对底层的通信框架都有很高的性能要求,作为综合性能最高的 NIO 框架 之一,Netty 可以完全满足不同领域对高性能通信的需求。本文我们将从架构层对 Netty 的高性能设计和关 阅读全文
posted @ 2020-08-13 15:44 热衷技术的Java架构师 阅读(276) 评论(0) 推荐(0)
摘要:首先来举个例子说明吧,假设你想吃一份盖饭: 同步阻塞:你到饭馆点餐,然后在那等着,还要一边喊:好了没啊! 同步非阻塞:在饭馆点完餐,就去遛狗了。不过溜一会儿,就回饭馆喊一声:好了没啊! 异步阻塞:遛狗的时候,接到饭馆电话,说饭做好了,让您亲自去拿。 异步非阻塞:饭馆打电话说,我们知道您的位置,一会给 阅读全文
posted @ 2020-08-12 20:33 热衷技术的Java架构师 阅读(1202) 评论(0) 推荐(1)
摘要:本文重点分析 Netty 的逻辑架构及关键的架构质量属性,希望有助于大家从 Netty 的架构设计中汲取营养,设计出高性能、高可靠性和可扩展的程序。 Netty 的三层架构设计 Netty 采用了典型的三层网络架构进行设计和开发,其逻辑架构图如下所示。 通信调度层 Reactor 它由一系列辅助类完 阅读全文
posted @ 2020-08-12 17:00 热衷技术的Java架构师 阅读(404) 评论(0) 推荐(0)
摘要:今天我们就使用这种方式对 Session 存储方式进行改造,将其统一存储到 Redis 中。 实现方案 我们先来想一下,如果我们不依靠任何框架,自己如何实现后端 Session 集中存储。 这里我们假设我们的网站除了某些页面,比如首页可以直接访问以外,其他任何页面都需要登录之后才能访问。 如果需要实 阅读全文
posted @ 2020-08-11 21:50 热衷技术的Java架构师 阅读(610) 评论(0) 推荐(0)
摘要:面试官都这么问了,我能说不能吗? 生产服务器变慢了,一般都是从这几点去分析:服务器整体情况, CPU 使用情况,内存,磁盘,磁盘 IO ,网络 IO 一一来说 top 看服务器整体使用情况,一般都是 top 命令搞定 我知道当你看到这张图的时候,肯定有点儿懵,特别是一个个的数字,这都是个啥? 带你一 阅读全文
posted @ 2020-08-10 14:36 热衷技术的Java架构师 阅读(241) 评论(0) 推荐(1)
摘要:一、介绍 模板模式,顾名思义,定义一个模板,将部分逻辑以具体方法或者具体构造函数的形式实现,在抽象类中声明一些抽象方法来迫使子类实现剩余的逻辑。 不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现,这就是模板方法模式的用意。 模板模式涉及到三个角色: 抽象类(AbstractC 阅读全文
posted @ 2020-08-07 20:14 热衷技术的Java架构师 阅读(128) 评论(0) 推荐(0)