自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixiaohuai的博客

任何质变都来自于量变的积累。

  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 分布式事务解决方案总结

现如今,基本上所有公司都由单体架构转向了微服务等分布式架构,使用分布式系统,分布式事务的问题肯定不可避免。通常比较常见的分布式事务的实现主要有以下几种方案:2PC(两阶段提交)方案 TCC (Try-Confirm-Cancel)方案 可靠消息最终一致性方案 尽最大努力通知方案下面对每一种解决方案做一个简要的概述:【a】2PC两阶段提交方案两个阶段主要做的工作如下:第一阶段...

2020-01-31 20:30:00 111

原创 分布式Session解决方案

一、session的作用?session是一种会话跟踪技术,用于服务器与客户端保持整个通讯的会话基本信息。数据保存在服务器中,安全性比cookie稍微高一点,存储的数据量大,但是可能会占用一些服务器资源,session默认是保留30分钟的。客户端浏览器向服务器发送一个请求,首先cookie会自动携带上次请求存储的数据(JSESSIONID)到服务器,服务器根据请求参数中的JSESSIONI...

2020-01-30 09:41:56 205

原创 面试题之请求转发和重定向的区别

一、简介百科上面对请求转发和重定向过程的的介绍如下:请求转发:客户浏览器发送http请求,web服务器接受此请求,调用内部的一个方法在容器内部完成请求处理和转发动作,将目标资源发送给客户;在这里,转发的路径必须是同一个web容器下的url,其不能转向到其他的web路径上去,中间传递的是自己的容器内的request。在客户浏览器路径栏显示的仍然是其第一次访问的路径,也就是说客户是感觉不到服务...

2020-01-15 16:29:04 1810

原创 面试题之SpringMVC整体工作流程

一、简介SpringMVC是当前最优秀的MVC框架,基本上所有公司都用,本篇文章将总结一下SpringMVC整体的工作流程。二、工作流程图工作流程大体分为如下几个步骤:1. 用户发起一个request请求,这个请求将会首先到达前端控制器DispatcherServlet中,由DispatcherServlet统一调度其他组件的使用; 2.DispatcherServlet接收...

2020-01-14 17:41:02 366

原创 面试题之Spring工作原理

一、简介Spring框架核心主要有两个:IOC和AOP。(一)、IOC容器IOC:控制反转,我们想实现一个功能,类A有可能调用到很多其他的接口,比如类B、类C中的方法,为了能调用别的类的方法,首先得取得这个类的实例,即在类A中new一个类B、再new一个类C,也就是说调用者负责创建被调用者的实例。这样的话,会造成类A中越来越臃肿,越来越不好管理;类B、类C需要不断的创建。引入Spr...

2020-01-13 17:36:45 162

原创 HashSet源码阅读

一、简介HashSet是Java中常用的一个集合类,是Set接口的一个实现类,而Set接口继承自Collection接口,所以HashSet是Collection的一个实现类。下面看一下HashSet底层代码的实现:HashSet实现了由一个哈希表(实际上是一个HashMap实例)支持的Set接口。它不保证集合的迭代顺序(无序),并且允许null元素; HashSet的实现不是同步的,如...

2020-01-08 20:14:10 92

原创 HashMap源码阅读

一、简介HashMap是开发中用的非常多的一个哈希表数据结构,HashMap类位于java.util包中。下面对HashMap做一个简介:HashMap是一个用于存储Key-Value键值对的集合,底层使用数组 + 链表 + 红黑树实现,每一个键值对也叫做Entry,这些键值对(Entry)分散存储在一个数组中。HashMap数组的每一个元素不止是一个Entry对象,也是一个链表的头节点。...

2020-01-07 21:51:00 123

原创 LinkedList类源码阅读

一、简介LinkedList位于java.util包中,也是我们比较常见的集合对象。LinkedList底层是基于双向链表实现的,适合于插入和删除比较多的场景,查询速度相对来说比较慢,由于需要沿着链表挨个查找。防止意外对列表的非同步访问: List list = Collections.synchronizedList(new LinkedList(...));链表是一种物理存储上非连...

2020-01-05 19:58:55 104

原创 面试题之序列化与反序列化

一、简介概念: 序列化:把对象转换为字节序列的过程称为对象的序列化。 反序列化:把字节序列恢复为对象的过程称为对象的反序列化。 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。一般将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等。在网络传输过程中,可以是字节或是XML等格式。而字节的或XML编码格式可以还原完全相等的对象,这个相反的过...

2020-01-05 00:17:02 457

原创 ArrayList类源码阅读

一、简介ArrayList 位于java.util包中,使我们经常使用到的一个集合对象。ArrayList是可调整大小的数组列表接口。实现所有可选的列表操作,并允许所有元素,元素也可以重复,包括null; 除了实现List接口外,这个类还提供了操作数组大小的方法,该数组在内部用于存储列表; ArrayList类似Vector,只是是非同步的; 当元素被添加到ArrayList中时,容...

2020-01-04 21:59:53 90

原创 String类源码阅读

一、简介String类实现了java.io.Serializable序列化接口, Comparable<String>比较接口, CharSequence 三个接口,String类是final的,因此不能被其他类继承。public final class String implements java.io.Serializable, Comparable<Str...

2020-01-02 20:49:24 69

原创 面试题之数据库事务隔离级别

一、简介为了解决脏读、不可重复读、幻读,数据库提供了事务隔离级别的概念,可以最大程度地避免以上三种情况的发生。根据隔离程度从低到高分为:Read Uncommitted(读未提交); Read Committed(读已提交); Repeatable Read(可重复读); Serializable(串行化);二、详解下面对各个隔离级别做一个简介:Read Uncommi...

2020-01-01 22:09:49 293

zipkin-server jar.zip

spring cloud zipkin服务链路跟踪server相关jar包,下载完成之后使用java -jar zipkin-server-2.12.9-exec.jar方式运行,就能启动zipkin-server,不建议自己搭建zipkin-server

2020-08-29

空空如也

空空如也

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

TA关注的人 TA的粉丝

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