加载中
如何写好单元测试

你是怎么编写单元测试的呢?很多人的做法是先把所有的功能代码都写完,然后,再针对写好的代码一点一点地补写测试。 在这种编写测试的做法中,单元测试扮演着非常不受人待见的角色。你的整个...

2023/12/17 20:37
27
分布式亿级流量整体架构设计原则

架构目标 高可用性 整体系统可用性最低99.9%,目标99.99%。全年故障时间整个系统不超过500分钟,单个系统故障不超过50分钟。 高可扩展性 系统架构简单清晰,应用系统间耦合低,容易水平扩展,...

2023/12/15 21:46
13
从Mysql架构看一条更新sql的执行过程

上一篇文章我们讲了一条查询sql时如何执行的. 今天我们继续来看下一条更新sql的执行流程. 在数据库里面,我们说的update操作其实包括了更新、插入和删除。如果大家有看过MyBatis的源码,应该...

2023/12/15 09:15
26
别再手写RPC了,Apache Thrift帮你自动生成RPC客户端及服务端代码

背景介绍 Thrift读音[θrɪft],是一个轻量级、跨语言的远程服务调用框架,最初由Facebook开发,后面进入Apache开源项目。它通过自身的IDL中间语言, 并借助代码生成引擎生成各种主流语言的R...

2023/12/14 23:12
27
ClassNotFoundException 和 NoClassDefFoundError区别

在写Java程序的时候,当一个类找不到的时候,JVM有时候会抛出ClassNotFoundException异常,而有时候又会抛出NoClassDefFoundError。看两个异常的字面意思,好像都是类找不到,但是JVM为什么要...

2023/12/13 09:38
17
Redis分布式锁如何解决锁超时问题?

一、前言 关于redis分布式锁, 查了很多资料, 发现很多只是实现了最基础的功能, 但是, 并没有解决当锁已超时而业务逻辑还未执行完的问题, 这样会导致: A线程超时时间设为10s(为了解决死锁问题...

2023/12/09 17:54
37
为什么新生代内存需要有两个Survivor区?

在JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区? 1 为什么要有Survivor区 先不去想为什么有两个Survivor区,第一个问题是,设置Survivor区的意义在哪里? 如果没有Survivo...

2023/12/09 17:52
15
在项目中,如何应对高并发流量

前言 在实际项目中,曾经遭遇过线上5W+QPS的峰值,也在压测状态下经历过10W+QPS的大流量请求,本篇博客的话题主要就是自己对高并发流量控制的一点思考。 应对大流量的一些思路 首先,我们来说...

2023/12/09 17:48
39
分布式基础概念-选举算法

选举算法Quorum机制、WARO waro:一种简单的副本控制协议,写操作时、只有当所有的副本都更新成功之后,这次写操作才算成功,否则视为失败。优先保证读、任何节点读到的数据都是最新数据,牺...

2023/12/09 11:47
26
ES 的分布式架构原理能说一下么

现在分布式搜索基本已经成为大部分互联网行业的 Java 系统的标配,其中尤为流行的就是 ES,前几年 ES 没火的时候,大家一般用 solr。但是这两年基本大部分企业和项目都开始转向 ES 了。 所以...

2023/12/09 11:44
19
TCP协议面试10连问

先亮出这篇文章的思维导图 TCP 作为传输层的协议,是一个软件工程师素养的体现,也是面试中经常被问到的知识点。在此,我将 TCP 核心的一些问题梳理了一下,希望能帮到各位。 001. 能不能说一...

2023/12/07 08:25
13

没有更多内容

加载失败,请刷新页面

返回顶部
顶部