摘要:“Tomcat是一个Servlet容器”,这句话对于2019年的程序员应该是耳熟能详的。 单纯的思考一下这句话,我们可以抽象出来这么一段代码: 如果Tomcat就长这样,那么它肯定是不能工作的,所以,Tomcat其实是这样: 我们这里先不考虑Connector的底层实现,我们只需知道Connecto 阅读全文
posted @ 2019-11-14 13:19 1点25 阅读 (13) 评论 (0) 编辑
摘要:ID是数据的唯一标识,传统的做法是利用UUID和数据库的自增ID,在互联网企业中,大部分公司使用的都是Mysql,并且因为需要事务支持,所以通常会使用Innodb存储引擎,UUID太长以及无序,所以并不适合在Innodb中来作为主键,自增ID比较合适,但是随着公司的业务发展,数据量将越来越大,需要对 阅读全文
posted @ 2019-09-05 15:36 1点25 阅读 (810) 评论 (3) 编辑
摘要:在Integer类中有这么一个方法,你可以给它传入一个数字,它将返回小于等于这个数字的一个2的幂次方数。这个方法就是highestOneBit(int i)。 比如下面的Demo,注意方法的输入与返回值: 这个方法的实现代码量也是非常少的: 接下来,我们就来详细分析一下这块代码的逻辑。 首先,对于这 阅读全文
posted @ 2019-08-29 17:54 1点25 阅读 (59) 评论 (0) 编辑
摘要:在平时看各种框架的源码的过程中,经常会看到一些位移运算,所以作为一个Java开发者是一定掌握位移运算的。 正数位移运算 Java中有三个位移运算: 我们直接看一下Demo: 乍一眼看到上面Demo的打印结果,你应该是懵逼的,接下来我来解释一下这个结果到底是如何运算出来的。 上面的Demo中有“2”和 阅读全文
posted @ 2019-08-13 21:14 1点25 阅读 (330) 评论 (1) 编辑
摘要:什么是脑裂 脑裂(split brain)就是“大脑分裂”,也就是本来一个“大脑”被拆分了两个或多个“大脑”,我们都知道,如果一个人有多个大脑,并且相互独立的话,那么会导致人体“手舞足蹈”,“不听使唤”。 脑裂通常会出现在集群环境中,比如ElasticSearch、Zookeeper集群,而这些集群 阅读全文
posted @ 2019-07-23 16:19 1点25 阅读 (982) 评论 (2) 编辑
摘要:最近在了解 边缘计算 ,发现我们经常听说的CDN也是边缘计算里的一部分。那么说到CDN,好像只知道它中文叫做 内容分发网络 。那么具体CDN的原理是什么?能够为用户在浏览网站时带来什么好处呢?解决这两个问题是本文的目的。 CDN概念 CDN全称叫做“Content Delivery Network” 阅读全文
posted @ 2019-07-17 17:32 1点25 阅读 (882) 评论 (2) 编辑