自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 Tomcat架构设计

Servlet规范中规定了一个http请求到来的执行处理流程:对应的服务器容器会接收到对应的Http请求,然后解析该请求,创建对应的Servlet实例,调用对应init方法完成初始化,把请求相关信息封装为HttpServletRequest对象来调用Servlet的service方法处理请求,最后通过HttpServletResponse分装响应的信息交给容器,响应给客户端。容器的作用是处理Connector接收进来的请求,并产生对应的响应,Engin,Host,Context都是容器父子关系。

2023-06-19 15:57:53 1077

原创 生产环境问题排查

Jconsole调试启动jar服务。远程调试启动jar服务。

2023-06-01 15:46:45 135

原创 JVM知识

G1收集器,java堆的内存布局与其他收集器有很大差别,它将整个java堆划分为多个大小相等的独立区域(Region)2048个,虽然保留新生代和老年代的概念,但新生代和老年代不再是物理隔离的。Serial Old收集器是Serial收集器的老年代版本,是一个单线程收集器,不同的采用标记-整理算法,运行过程和Serial收集器一样。使用复制算法,并行的多线程收集器。由于整个过程中,并发标记和并发清除,收集器线程可以与用户线程一起工作,所以总体上CMS收集器的内存回收过程是与用户线程一起并发地执行的。

2023-05-10 16:46:27 622

原创 微服务知识3

Serlvet是非线程安全的,zull使用RequestContext来在过滤器之前传递数据,数据存于每个request的ThreadLocal,包含请求路由到哪里,错误,HtttpServletRequest,HttpServletResponse等这些数据都存储与RequestContext中。请求进入过滤器,然后进入ZullFilter Runner中会选择一个filter进行调用,这里面有前置路由过滤器,路由中过滤器,后置路由过滤器。如果谓词为真,则说明请求的URL和配置的路由匹配。

2023-05-05 14:20:15 669

原创 微服务知识2

同时在协调者和参与者中都引入超时机制,当参与者未收到协调者的commit请求后,会对本地事务进行abort,不会一直阻塞等待,解决了2PC的单点故障问题,但仍未从根本上解决数据一致性的问题。数据不一致:两阶段提交协议虽然为分布式数据强一致性所设计,但仍然存在数据不一致性的可能,如在第二阶段中,假设协调者发出了事务commit通知,但因网络问题该通知仅被一部分参与者收到并执行了commit操作,其余的参与者则因没有收到通知一直处于阻塞状态,产生了数据不一致性。如果全部响应YES则进入下一个阶段。

2023-05-04 15:18:53 371

原创 微服务知识

客户端轮询向服务端发出一个长连接请求,这个长连接30s超时,服务端收到客户端请求会先判断当前是否有配置更新,有则立即返回如果没有服务端会将这个请求hold29.5s加入队列,最后0.5s再次检测配置文件无论有无更新都进行正常返回。通过维护一个单位时间内的计数值,每当一个请求通过将计数值加1,当计数值超过预先设定的阈值时,就拒绝单位时间内的其他请求。将单位时间分成多格(格数越多,流量过度越平滑),每经过一个格的时间,就将窗口向前移动一格,并将经过的格子丢弃进行一个窗口的计数。

2023-04-26 16:52:57 801

原创 Mysql知识

最左意味以最左边的索引字段为条件基础进行的索引查询,如果条件中不带最左边的字段则联合索引不会生效,反之如果多个条件会在最左边的字段索引查询基础后再进行第二个字段条件的索引查询。在辅助索引里,不管单列索引还是联合索引,如果select的数据列只用从索引中就能够取得,不必从数据区中读取,这时候使用的索引就叫覆盖索引,避免了回表。非主键索引,先通过索引找到主键索引的键值,再通过主键值查出索引里面没有的数据,比基于主键索引的查询多扫描了一颗索引树,这个过程叫做回表。3:频繁更新的值,不要作为主键或者索引:页分裂。

2023-04-24 18:59:07 350

原创 MySql知识

InnoDB引入了一个日志文件,redo log(重做日志),把所有对内存数据的修改操作写入日志文件,如果服务器出问题了,就从这个日志文件里面读取数据,恢复数据---从而实现事务的持久性。binlog以事件的形式记录了所有的DDL和DML语句(记录的是操作不是数据值,属于逻辑日志),用来做主从复制和数据恢复。缓存表数据与索引数据,把磁盘上的数据加载到缓冲池,避免每次访问都进行磁盘IO,起到加速访问的作用。redo log的大小是固定的,前面的内容会被覆盖,所有不能用于数据回滚/数据恢复。

2023-04-23 16:11:20 418

原创 HTTP请求知识

一般情况下,一旦服务器向客户端返回了请求数据,它就要关闭TCP连接,然后如果客户端或者服务器在其头信息加入了Connection:keep-alive,TCP连接在发送后将仍然保持打开状态,于是客户端可以继续通过相同的连接发送请求。在HTTP工作开始之前,客户端首先要通过网络与服务器建立连接,HTTP连接是通过TCP来完成的。2:客户端存根:远程方法在本地模拟对象,一样的也有方法名,方法参数client stub接收到调用后负责将方法名,方法参数等包装,并将包装后的信息通过网络发送到服务端。

2023-04-21 15:09:08 402

原创 TCP知识

TCP确保数据在网络上正确地传输,确保数据的可靠性和完整性,它还能够控制数据的流量和拥塞。UDP不保证数据的可靠性或完整性,但它更快速,更简单,适用于对数据传输延迟较为敏感的应用程序。OSC(Open System Interconnect)采用分层的结构化技术,共分七层:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。物理层:物理层是OSI模型的第一层,定义了在网络上传输比特流的方式。会话层:会话层是OSI模型的第五层,定义了如何在通信双方之间建立,管理和终止会话(Session)

2023-04-20 16:19:52 384

原创 茫茫码海~

唉~什么时候才能找到能够为之奋斗一生的工作。

2023-04-20 15:41:35 73 1

原创 JVM知识

1:虚拟机栈是一个线程执行的区域,保存着一个线程中方法的调用状态。一个java线程的运行状态由一个虚拟机栈来保存,所以虚拟机栈肯定是线程私有的,独有的随着线程的创建而创建。2:每一个被线程执行的方法,为该栈中的栈帧,即每个方法对应一个栈帧。虚拟机把class文件加载到内存,并对数据进行校验,转换解析和初始化,形成虚拟机可以直接使用的Java类型,即java.lang.class。解析动作主要针对类或接口,字段,类方法,接口方法,方法类型,方法句柄和调用限定符7类符号引用进行。

2023-04-19 11:40:05 155

原创 基础设计模式

设计模式

2023-02-20 14:28:45 68

原创 零拷贝(zeron-copu)

零拷贝(zeron-copu)

2023-02-07 18:38:52 420

原创 Rocketmq分布式事务提交

mq

2023-02-06 14:25:22 386 1

原创 Elasticsearch倒排索引

Elasticsearch倒排索引

2023-02-03 09:39:18 329

原创 JAVA Math.random()

random

2023-01-11 16:50:10 111

原创 算法与数据结构

算法

2023-01-10 10:19:47 199

原创 Hadoop-MapReduce

MapReduce

2023-01-09 08:52:16 118

原创 大数据知识点

大数据

2023-01-05 15:39:34 110

原创 Hadoop-HDFS

HDFS

2023-01-03 15:14:00 371

原创 kafka offset配置追踪

kafka offset

2023-01-03 09:14:50 472

原创 kafka常用基本命令

kafka

2022-12-29 14:13:34 153

原创 Elasticsearch分布式原理

Elasticsearch

2022-12-28 16:44:42 806

原创 Elasticsearch深度分页

Elasticsearch

2022-12-28 10:37:36 480

原创 jdk1.8新特性

java 8

2022-12-27 11:04:53 602

原创 JAVA服务线上排查问题流程

jvm

2022-12-26 16:51:06 318

原创 Redis过期问题探究

redis

2022-12-26 10:33:53 801

原创 RabbitMQ学习初整理

rabbitMQ

2022-12-23 10:08:19 725

原创 Zookeeper学习初整理

zookeeper

2022-12-22 17:07:25 273

原创 Kafka学习

kafka

2022-12-22 15:36:57 548

原创 分布式一些问题处理方案

分布式

2022-12-19 17:16:31 327

原创 乱七八糟的情愫

乱七八糟

2022-12-16 08:59:26 87

原创 Spring学习初整理

Spring

2022-12-14 17:18:56 409

原创 MyBatis学习初整理

MyBatis

2022-12-12 16:38:46 471

原创 Spring Cloud分布式服务初整理

分布式服务初整理

2022-12-09 14:50:46 100

原创 Mysql学习初整理

Mysql学习初整理

2022-12-09 14:49:47 405

原创 JAVA并发编程

JAVA并发编程

2022-12-09 14:46:48 957 1

原创 redis学习初整理

redis学习

2022-12-08 17:15:34 555

原创 JVM学习初整理

JVM学习初整理

2022-12-08 16:28:13 526

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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