憧憬的专栏

Stay hungry, Stay foolish.

Kafka为啥快

文章目录生产者(写入数据)顺序写入Memory Mapped Files(mmap)消费者(读取数据)Kafka是如何耍赖的总结 生产者(写入数据) 生产者(producer)是负责向Kafka提交数据的,我们先分析这一部分。 Kafka会把收到的消息都写入到硬盘中,它绝对不会丢失数据。为了优化写...

2019-07-20 18:09:31

阅读数 7

评论数 0

tomcat的连接数与线程池

文章目录前言一、Nio、Bio、APR1、Connector的protocol2、如何指定protocol3、BIO/NIO有何不同二、3个参数:acceptCount、maxConnections、maxThreads1、acceptCount2、maxConnections3、maxThrea...

2019-07-14 11:48:49

阅读数 20

评论数 0

索引下推(5.6版本+)

索引下推 有了索引下推优化,可以在有like条件查询的情况下,减少回表次数。 对于user_table表,我们现在有(username,age)联合索引 如果现在有一个需求,查出名称中以“张”开头且年龄小于等于10的用户信息,语句如下: select * from user_table where...

2019-07-13 22:27:28

阅读数 13

评论数 0

CMS垃圾回收机制

文章目录什么是CMS使用场景缺点实现机制周期性Old GC触发条件晋升担保失败周期性Old GC过程1. InitialMarking(初始化标记,整个过程STW)2. Marking(并发标记)3. Precleaning(预清理)4. AbortablePreclean(可中断的预清理)5. ...

2019-07-08 22:24:32

阅读数 31

评论数 0

Redis Hash数据结构的底层实现

文章目录前言1.hash数据结构2.hash数据结构图3.渐进式hash说明4.创建hash表5.添加元素6.查找元素7.删除元素hash命令 前言 redis是KV型的内存数据库, 数据库存储的核心就是Hash表, 我们执行select命令选择一个存储的db之后, 所有的操作都是以hash表为基...

2019-06-23 21:44:58

阅读数 29

评论数 0

《Spring AOP面向切面编程》(下)

文章目录3.Spring AOP的实现原理3.2 链式调用#3.2.1 职责链模式3.2.1.1 V13.2.1.2 V23.2.2 Spring内部实现1)拦截器链是如何生成的2)拦截器链是如何链式调用的3)Spring使用职责链模式实现拦截器链链式调用 3.Spring AOP的实现原理 3....

2019-06-23 21:26:55

阅读数 30

评论数 0

Java-JDK动态代理实现原理

文章目录JDK动态代理使用实例JDK动态代理实现原理分析Proxy.newProxyInstance()getProxyClass0()ProxyClassFactory.apply()ProxyGenerator.generateProxyClass()生成的代理对象的.class文件 JDK动...

2019-06-23 21:16:16

阅读数 76

评论数 0

《Spring AOP面向切面编程》(上)

文章目录1.AOP概览2.Spring AOP的使用举例PointCut切入点Advice通知3.Spring AOP的实现原理3.1运行时织入3.1.1代理模式3.1.2 JDK动态代理3.1.3 cglib动态代理3.1.4 Spring如何创建代理beanProxyFactoryBean的g...

2019-06-23 11:56:05

阅读数 26

评论数 0

java Collections.sort排序原理

事实上Collections.sort方法底层就是调用的Arrays.sort方法,而Arrays.sort使用了两种排序方法,快速排序和优化的归并排序。 快速排序主要是对那些基本类型数据(int,short,long等)排序, 而归并排序用于对Object类型进行排序。 使用不同类型的排序算法主...

2019-06-23 11:31:27

阅读数 53

评论数 0

ssl 原理和建立连接过程

ssl 与http关系 ssl (“Secure Sockets Layer”)加密原理 和https的关系 https = http + ssl ssl 位置: SSL握手 证书主要作用是在SSL握手中,我们来看一下SSL的握手过程 客户端提交https请求 服务器响应客户,并把证书公钥发给...

2019-06-09 22:03:18

阅读数 20

评论数 0

TCP连接、Http连接与Socket连接的区别

文章目录HTTP、Socket、TCP的区别Socket(套接字)Socket长连接什么时候用长连接,短连接TCP连接和HTTP连接的区别TCP连接与Socket连接的区别HTTP连接与Socket连接的区别常见问题什么时候该用HTTP,什么时候该用socket ?浏览器在与服务器建立了一个 TC...

2019-06-08 17:45:32

阅读数 36

评论数 0

volatile和synchronize的区别

文章目录一、volatile二、synchronized三、区别 一、volatile 它所修饰的变量不保留拷贝,直接访问主内存中的。 在Java内存模型中,有main memory,每个线程也有自己的memory (例如寄存器)。为了性能,一个线程会在自己的memory中保持要访问的变量的副本。...

2019-06-08 15:39:18

阅读数 31

评论数 0

web接口安全性设计

接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,下面具体来看 Token授权机制 用户使用用户名密码登录后服务器给客户端返回一个Token(通常是UUID),并将Token-UserId以键值对的形式存放在缓存服务器中。服务端接收到...

2019-06-02 22:47:10

阅读数 13

评论数 0

redis大Key多Key分拆方案

文章目录背景单个简单的key存储的value很大该对象需要每次都整存整取该对象每次只需要存取部分数据hash、 set、zset、list 中存储过多的元素一个集群存储了上亿的keykey 本身就有很强的相关性key 本身没有相关性 背景 业务场景中经常会有各种大key多key的情况, 比如: 1...

2019-06-02 22:12:37

阅读数 14

评论数 0

JVM调优

堆大小设置 JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5....

2019-06-02 18:29:51

阅读数 5

评论数 0

Thread中start()和run()的区别

文章目录多线程原理start()run()start() 和 run()的区别说明start() 和 run()的区别示例 多线程原理 相当于玩游戏机,只有一个游戏机(cpu),可是有很多人要玩,于是,start是排队!等CPU选中你就是轮到你,你就run(),当CPU的运行的时间片执行完,这个线...

2019-05-26 22:27:42

阅读数 13

评论数 0

5种IO模型

文章目录概念5种IO模型1. A Story2. 5种IO模型1. 阻塞IO2.非阻塞IO3. IO复用/多路转接IO4. 信号驱动IO5. 异步IO3. 区别与联系为什么epoll,kqueue比select高级? 概念 IO叫做输入输出,我们可以将IO理解为两步: 等待IO事件就绪 数据就绪...

2019-05-18 22:29:37

阅读数 11

评论数 0

分布式锁的几种使用方式(redis、zookeeper、数据库)

问题 Q:一个业务服务器,一个数据库,操作:查询用户当前余额,扣除当前余额的3%作为手续费 synchronized lock db lock Q:两个业务服务器,一个数据库,操作:查询用户当前余额,扣除当前余额的3%作为手续费 分布式锁 我们需要怎么样的分布式锁? 可以保证在分布式部署的应用集群...

2019-04-06 16:23:01

阅读数 96

评论数 0

99线、999线TP99、TP999

接口性能的参数常说的999 线就是TP999 概念 TP=Top Percentile,Top百分数,是一个统计学里的术语,与平均数、中位数都是一类。 TP50、TP90和TP99等指标常用于系统性能监控场景,指高于50%、90%、99%等百分线的情况。 例子 有四次请求耗时分别为: 10ms,1...

2019-03-24 18:20:26

阅读数 421

评论数 0

redis for mac 安装

brew安装redis(4.0.6) brew install redis 安装的目录 启动redis 使用redis 关闭redis-cli 客户端 关闭redis 关闭客户端redis-cli和redis-server 不在客户端交互模式下关闭 查看redis的运行情况 运行后自动...

2019-03-24 17:32:16

阅读数 65

评论数 0

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