ben的笔记 ben的笔记
  • 联系
  • 关于
  • 主页章节
  • 关于
  • 博客
  • 示例页面
  • 联系
  • 首页

ben的笔记

一个关注移动互联网,Web开发的个人博客

MySQL事物原理与MVCC

事务隔离级别分为以下4种:
继续阅读→

阅读全文
  • mysql, 原理分析
  • 2021-09-05 10:52
  • 3467
  • bin

使用位图法(bitmap),判断整数是否重复出现

使用位图法,记录海量签到数据,打卡数据。
继续阅读→

阅读全文
  • 算法
  • 2021-08-02 21:22
  • 2819
  • bin

HotSpot GC可达性分析的实现原理

一、基本概念

基本思想就是通过一系列的称为 “GC Roots” 的对象作为起点,从这些节点开始向下搜索,节点所走过的路径称为引用链,当一个对象到 GC Roots 没有任何引用链相连的话,则证明此对象是不可用的。 继续阅读→

阅读全文
  • java, JVM, 原理分析
  • 2021-07-28 12:50
  • 3221
  • bin

mysql的一条sql是如何执行的?

一、我们先来看查询sql

继续阅读→

阅读全文
  • mysql, 原理分析
  • 2021-06-26 16:20
  • 2867
  • bin

ThreadLocal使用场景分析,实现原理

ThreadLocal和Synchonized都是为了解决线程并发的问题,但是ThreadLocal和Synchonized是完全相反的
ThreadLocal是为每个线程提供变量的副本,自己私有的变量
Synchonized是控制共享的变量只能在某个时间被一个线程用到
继续阅读→

阅读全文
  • java线程, 原理分析
  • 2021-06-03 16:05
  • 3703
  • bin

微服务的前世今生

1.一体化架构的优缺点

继续阅读→

阅读全文
  • 问题分析
  • 2021-05-17 15:53
  • 5057
  • bin

Spring getBean()方法执行过程

通过对getBean方法对源码分析,我们可以清晰的理解bean的加载过程
继续阅读→

阅读全文
  • java, spring, 原理分析
  • 2021-05-09 17:34
  • 5548
  • bin

Spring IOC容器的创建过程源码分析

Spring容器的创建过程、Bean的创建过程,主要在refresh函数中完成,通常我们使用下面的方法去创建、以及初始化容器:
继续阅读→

阅读全文
  • java, spring, 原理分析
  • 2021-05-09 10:51
  • 4304
  • bin

TCP协议与🤝

一、TCP消息头格式

继续阅读→

阅读全文
  • 计算机网络
  • 2021-04-24 16:55
  • 4546
  • bin

redis对象的编码格式

redis的对象如图包含:对象类型、编码格式、指向底层实现数据的指针
继续阅读→

阅读全文
  • 中间件
  • 2021-04-10 17:00
  • 4022
  • bin

NAT是如何工作的?

NAT的作用就是将内网请求外网时,使用同一个ip地址。
然后将接收外网的请求,并且转发给内网的ip。
继续阅读→

阅读全文
  • 计算机网络
  • 2021-04-07 15:21
  • 2309
  • bin

ping是如何工作的?

ping是基于ICMP协议工作的,ICMP全称Internet Control Message Protocol,互联网消息控制协议。
继续阅读→

阅读全文
  • 计算机网络
  • 2021-04-07 11:42
  • 2584
  • bin

ARP协议

ARP(Address Resolution Protocol)直译就是地址解析协议
继续阅读→

阅读全文
  • 计算机网络
  • 2021-04-07 11:06
  • 2807
  • bin

布隆过滤器

布隆过滤器的作用是判断一个值肯定不存在、或者可能存在。 继续阅读→

阅读全文
  • java, 中间件
  • 2021-04-06 20:59
  • 2582
  • bin

分布式限流算法

一、漏桶算法 继续阅读→

阅读全文
  • java, 中间件
  • 2021-04-06 20:39
  • 2559
  • bin

mysql的崩溃是怎么保证安全的

我们都直到mysql通过redolog来保证崩溃时的恢复的,并且是通过二阶段提交来实现的,即:

继续阅读→

阅读全文
  • mysql
  • 2021-04-04 15:27
  • 2396
  • bin

mysql时不时运行很慢什么原因?

1.redo log写满了,那么新的写sql请求就会阻塞,等待redo log刷磁盘,空出空间接收新sql
继续阅读→

阅读全文
  • mysql
  • 2021-04-03 18:43
  • 2176
  • bin

ConcurrentHashMap数据结构

java7中,concurrentHashMap使用的是若干个segement,每个segement中又一个数组,数组下面是链表。
继续阅读→

阅读全文
  • java, java线程, 数据结构
  • 2021-04-03 15:32
  • 2388
  • bin

java对象的内存布局

堆中对象堆的存储布局可分为三个部分:对象头(Header)、实例数据(Instance Data)、填充(Padding)
继续阅读→

阅读全文
  • java, JVM
  • 2021-04-03 10:23
  • 2033
  • bin

JVM方法内联和逃逸分析

1.方法内联
继续阅读→

阅读全文
  • java, JVM
  • 2021-04-01 17:24
  • 2017
  • bin

jvm方法的调用是如何实现的

1.解析
继续阅读→

阅读全文
  • java, JVM
  • 2021-04-01 16:55
  • 2214
  • bin

Class类文件的结构

我们来看这样一个类
继续阅读→

阅读全文
  • java, JVM
  • 2021-04-01 15:36
  • 2268
  • bin

java运行时数据区(JVM内存模型)

运行时数据区如图: 继续阅读→

阅读全文
  • java, JVM
  • 2021-03-30 22:40
  • 2095
  • bin

redis的主从复制、哨兵如何实现的

redis的主从复制方式
继续阅读→

阅读全文
  • java, 中间件
  • 2021-03-22 11:29
  • 1961
  • bin

利用位图法操作海量数据

位图法的原理主要就是利用int类型数据,一个int类型数据是4个字节,一个字节8位,然后一个int数据利用自身字节位就可以表示0-31的数是否存在,bit位表示数值,位山0,1值表示这个数值是否存在。
继续阅读→

阅读全文
  • java, 数据结构
  • 2021-03-20 20:57
  • 2049
  • bin

redis的序列化协议

redis的序列化协议指的是在客户端与服务的交互发送内容协议,定义了请求和响应时内容的格式
继续阅读→

阅读全文
  • java, 中间件
  • 2021-03-17 16:53
  • 2099
  • bin

Redis线程模型

redis 内部使用文件事件处理器 file event handler,这个文件事件处理器是单线程的,所以 redis 才叫做单线程的模型。 继续阅读→

阅读全文
  • java, 中间件
  • 2021-03-17 16:17
  • 1969
  • bin

redis的GEO,地理坐标距离

Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。
继续阅读→

阅读全文
  • java, 中间件
  • 2021-03-17 15:26
  • 1988
  • bin

redis rehash的过程

redis rehash的过程是渐进式的,rehashindex为-1表示未触发扩容过程 继续阅读→

阅读全文
  • java, 中间件
  • 2021-03-17 15:05
  • 1972
  • bin

spring jdk代理的坑

JDK代理是基于接口形式进行代理的,那么生成的代理类在使用的时候,就可以用接口形式去使用。 继续阅读→

阅读全文
  • java, spring, 问题分析
  • 2021-03-13 12:28
  • 1883
  • bin

zk分布书锁的实现原理

zk分布锁的实现原理类似reentranlock的公平锁,zk会维护一加锁节点的list,按顺序释放锁资源。
继续阅读→

阅读全文
  • zk, 分布式
  • 2021-03-12 22:35
  • 1878
  • bin

计一次线程死锁

当线程池并发任务处理时,如果使用的是同一个线程池,那么很有可能出现线程的死锁 继续阅读→

阅读全文
  • java, java线程, 问题分析
  • 2021-03-01 21:53
  • 1973
  • bin

kafka的消息模型

1. Producer(生产者) : 产生消息的一方。 继续阅读→

阅读全文
  • java, 中间件
  • 2021-02-26 17:32
  • 1822
  • bin

bean的生命周期

1.从xml配置文件,或者注解加载BD,beanDefinition 继续阅读→

阅读全文
  • java, spring
  • 2021-02-26 11:22
  • 1964
  • bin

java对象创建分配内存是如何保证线程安全的

我们在new一个对象时,都会在堆中开辟一个内存空间给这个对象。
那么多个线程如果开辟到了同一个地址的内存,不就冲突了?
继续阅读→

阅读全文
  • java, JVM
  • 2021-02-23 16:13
  • 1648
  • bin

为什么重写equals时,要同时重写hashCode

我们比较两个对象是否相等,有两种方式:

1.直接通过运算符 == 比较

2.通过equals比较

通过==比较的是引用地址,通过equals方法看具体类重写的实现,例如string就是比较具体值

  继续阅读→

阅读全文
  • java, java基础
  • 2021-02-20 17:01
  • 1797
  • bin

AQS原理分析

AQS简介

AQS指的就是AbstractQueuedSynchronizer
中文直译就是:抽象队列同步器 继续阅读→

阅读全文
  • java, 原理分析
  • 2020-12-01 15:09
  • 2625
  • bin

java的异常类有哪些

java异常类都继承至throwable类:
继续阅读→

阅读全文
  • java
  • 2020-08-21 14:31
  • 2065
  • bin

java如何实现对象的克隆

java克隆有2种方式,使用clone方法去克隆,或者使用序列化的方式进行克隆
继续阅读→

阅读全文
  • java
  • 2020-08-21 11:46
  • 3135
  • bin

java反射的实现原理

实现原理:
反射的Method类的invoke方法实际上是走的MethodAccessorImpl的invoke方法
继续阅读→

阅读全文
  • java
  • 2020-08-19 22:59
  • 2165
  • bin

java反射使用方式

一、反射是什么?
java反射是加载类的一种方式,我们正常加载类的方式就是new一个对象
例如

Apple a = new Apple();

继续阅读→

阅读全文
  • java
  • 2020-08-19 22:22
  • 2220
  • bin

java的锁升级机制

锁有4个状态:无锁、偏向锁、轻量级锁、重量级锁,锁等级又低到高
继续阅读→

阅读全文
  • java
  • 2020-08-17 16:58
  • 2281
  • bin

runnable 和 callable 有什么区别

runnable执行的是run方式,callable执行的是call方法。 继续阅读→

阅读全文
  • java
  • 2020-08-17 14:48
  • 2094
  • bin

线程池的几种状态

Running、ShutDown、Stop、Tidying、Terminated。
继续阅读→

阅读全文
  • java
  • 2020-08-17 14:21
  • 2096
  • bin

分布式事物实现方式

  • 一、2PC两段提交方案

XA方式:

主要是基于数据库的事物来实现的,需要两阶段提交: prepare 和 commit.  继续阅读→

阅读全文
  • 分布式
  • 2020-08-02 17:17
  • 2020
  • bin

redis跳跃表实现方式

跳跃表是一链表的一个变种,通常普通的链表都是只有1个前驱,1个后继节点。

跳跃表可以除了原链表,他还增加了多层链表,每层都是一个链表

继续阅读→

阅读全文
  • 中间件
  • 2020-04-23 22:10
  • 2163
  • bin

spring 如何解决循环依赖问题的?

spring使用了三级缓存去解决依赖问题的
我们在setter单例模式注入时,spring的bean加载过程是:
例如循环依赖关系:A->B->A
继续阅读→

阅读全文
  • spring
  • 2020-04-23 21:56
  • 3072
  • bin

java内存模型与volatile关键词

java的内存模型
继续阅读→

阅读全文
  • JVM, 原理分析
  • 2020-04-20 18:50
  • 2390
  • bin

AOP的设计思想

一、静态代理:
静态代理就是实现一个「新类」他和「原类」实现同一个接口,使用时替换「原类」以达到增强的效果
继续阅读→

阅读全文
  • spring, 原理分析
  • 2020-04-19 12:09
  • 2356
  • bin

mysql索引是如何建立的

mysql创建表时,主键索引是一定会建立的,如果用户没有指定那一列,那么会
1.选一个列非null的唯一索引,的作为主键索引(多个唯一索引,选择第一个)
2.如果1找不,那么会建立一个隐藏索引 继续阅读→

阅读全文
  • mysql
  • 2020-04-16 11:42
  • 2417
  • bin
1 2 … 6

bin bin

how much you wanna risk?

近期文章

  • MySQL事物原理与MVCC
  • 使用位图法(bitmap),判断整数是否重复出现
  • HotSpot GC可达性分析的实现原理
  • mysql的一条sql是如何执行的?
  • ThreadLocal使用场景分析,实现原理

功能

  • 注册
  • 登录
  • 文章RSS
  • 评论RSS
  • WordPress.org

  标签/Tags

mysql 进程 git hbase linux 流编辑器 hadoop php ftp vim swoole ssh mac svn seo api phpstorm yaf 权限 java emoji thirf2 邮件 输出流 redis c++ ln case 输入流 read

  最新评论/Comments

粤ICP备2021003657号-1 | 2025 ben的笔记