摘要: 线程池核心组件图解 看源码之前,先了解一下该组件 最主要的几个 接口、抽象类和实现类的结构关系。 该组件中,Executor 和 ExecutorService 接口 定义了线程池最核心的几个方法,提交任务 submit ()、关闭线程池 shutdown()。抽象类 AbstractExecuto 阅读全文
posted @ 2020-08-18 15:41 热衷技术的Java架构师 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 当时面试能记下的就这些了,可能不太全请见谅: 一面 1、HashMap和ConcurrentHashMap; 2、再谈谈一致hash算法? 3、乐观锁还有悲观锁; 4、可重入锁和Synchronize? 5、事务四大特性? 6、事务的二段提交机制? 7、聚簇索引和非聚簇索引? 8、用自己的实践经历说 阅读全文
posted @ 2020-08-14 15:41 热衷技术的Java架构师 阅读(354) 评论(1) 推荐(0) 编辑
摘要: 一、问题由来 在实际开发的时候,我们经常会碰到这么一个困难:一个集合容器里面有很多重复的对象,里面的对象没有主键,但是根据业务的需求,实际上我们需要根据条件筛选出没有重复的对象。 比较暴力的方法,就是根据业务需求,通过两层循环来进行判断,没有重复的元素就加入到新集合中,新集合中已经有的元素就跳过。 阅读全文
posted @ 2020-08-13 20:42 热衷技术的Java架构师 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 不知道你有没有遇到过这种场景,一套代码部署在不同的环境中,随着时间的过去,各个环境代码有版本差异,代码层面可以通过不同的版本来控制,但是数据库层面经常容易忘记更新! 前言 比如刚开始环境 A 和环境 B 的代码版本是一样的,但是随着版本的迭代,环境 A 的系统一直持续迭代,但是环境 B 的系统由于种 阅读全文
posted @ 2020-08-13 17:32 热衷技术的Java架构师 阅读(970) 评论(0) 推荐(0) 编辑
摘要: 作为一个高性能的 NIO 通信框架,Netty 被广泛应用于大数据处理、互联网消息中间件、游戏和金融行业等。大多数应用场景对底层的通信框架都有很高的性能要求,作为综合性能最高的 NIO 框架 之一,Netty 可以完全满足不同领域对高性能通信的需求。本文我们将从架构层对 Netty 的高性能设计和关 阅读全文
posted @ 2020-08-13 15:44 热衷技术的Java架构师 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 首先来举个例子说明吧,假设你想吃一份盖饭: 同步阻塞:你到饭馆点餐,然后在那等着,还要一边喊:好了没啊! 同步非阻塞:在饭馆点完餐,就去遛狗了。不过溜一会儿,就回饭馆喊一声:好了没啊! 异步阻塞:遛狗的时候,接到饭馆电话,说饭做好了,让您亲自去拿。 异步非阻塞:饭馆打电话说,我们知道您的位置,一会给 阅读全文
posted @ 2020-08-12 20:33 热衷技术的Java架构师 阅读(1128) 评论(0) 推荐(1) 编辑
摘要: 本文重点分析 Netty 的逻辑架构及关键的架构质量属性,希望有助于大家从 Netty 的架构设计中汲取营养,设计出高性能、高可靠性和可扩展的程序。 Netty 的三层架构设计 Netty 采用了典型的三层网络架构进行设计和开发,其逻辑架构图如下所示。 通信调度层 Reactor 它由一系列辅助类完 阅读全文
posted @ 2020-08-12 17:00 热衷技术的Java架构师 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 今天我们就使用这种方式对 Session 存储方式进行改造,将其统一存储到 Redis 中。 实现方案 我们先来想一下,如果我们不依靠任何框架,自己如何实现后端 Session 集中存储。 这里我们假设我们的网站除了某些页面,比如首页可以直接访问以外,其他任何页面都需要登录之后才能访问。 如果需要实 阅读全文
posted @ 2020-08-11 21:50 热衷技术的Java架构师 阅读(597) 评论(0) 推荐(0) 编辑
摘要: 面试官都这么问了,我能说不能吗? 生产服务器变慢了,一般都是从这几点去分析:服务器整体情况, CPU 使用情况,内存,磁盘,磁盘 IO ,网络 IO 一一来说 top 看服务器整体使用情况,一般都是 top 命令搞定 我知道当你看到这张图的时候,肯定有点儿懵,特别是一个个的数字,这都是个啥? 带你一 阅读全文
posted @ 2020-08-10 14:36 热衷技术的Java架构师 阅读(214) 评论(0) 推荐(1) 编辑
摘要: 一、介绍 模板模式,顾名思义,定义一个模板,将部分逻辑以具体方法或者具体构造函数的形式实现,在抽象类中声明一些抽象方法来迫使子类实现剩余的逻辑。 不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现,这就是模板方法模式的用意。 模板模式涉及到三个角色: 抽象类(AbstractC 阅读全文
posted @ 2020-08-07 20:14 热衷技术的Java架构师 阅读(99) 评论(0) 推荐(0) 编辑