摘要:
微信公众号: "内核小王子" 关注可了解更多关于数据库,JVM内核相关的知识; "如果你有任何疑问也可以加我pigpdong" [^1] 前言 一般来说,影响数据库最大的性能问题有两个,一个是对数据库的操作,一个是数据库中的数据太大,对于前者我们可以借助缓存来减少一部分读操作,针对一些复杂的报表分析 阅读全文
摘要:
微信公众号: "内核小王子" 关注可了解更多关于数据库,JVM内核相关的知识; "如果你有任何疑问也可以加我pigpdong" [^1] 拜占庭将军问题 在存在消息丢失的不可信信道上通过消息传递的方式得到一致性是不可能的 由于当时拜占庭帝国国土辽阔,为了防御目的,每个军队都分隔很远,将军和将军之间只 阅读全文
摘要:
结合 CPU 理解一行 Java 代码是怎么执行的 根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器、控制器、存储设备,以及输入输出设备,如下图所示. (该图来源于百度) 我们先来分析 CPU 的工作原理,现代 CPU 芯片中大都集成了,控制单元,运算单元,存储单元.控制单元是 C 阅读全文
摘要:
TCP Implementation in Linux: A Brief Tutorial 一个简单教程关于 TCP 协议在 linux 内核的实现 翻译:内核小王子 (欢迎订阅微信公众号) 原文:Helali Bhuiyan, Mark McGinley, Tao Li, Malathi Veer 阅读全文
摘要:
先抛出几个问题 1.为什么不建议使用订单号作为主键? 2.为什么要在需要排序的字段上加索引? 3.for update 的记录不存在会导致锁住全表? 4.redolog 和 binlog 有什么区别? 5.MySQL 如何回滚一条 sql ? 6.char(50) 和 varchar(50) 效果是 阅读全文
摘要:
微信公众号: "内核小王子" 关注可了解更多关于数据库,JVM内核相关的知识; "如果你有任何疑问也可以加我pigpdong" [^1] jvm 一行代码是怎么运行的 首先,java代码会被编译成字节码,字节码就是java虚拟机定义的一种编码格式,需要java虚拟机才能够解析,java虚拟机需要将字 阅读全文
摘要:
网络内核之TCP是如何发送和接收消息的 老规矩,带着问题阅读: 三次握手中服务端做了什么? 为什么要将accept()单独一个线程而不是和读写的io线程共用一个线程池?netty分为boss和worker 当调用send()返回后数据就一定到对方或者在网线中传输了呢? 我们先来回顾一下,我们编写一个 阅读全文
摘要:
微信公众号: "内核小王子" 关注可了解更多关于数据库,JVM内核相关的知识; "如果你有任何疑问也可以加我pigpdong" [^1] 微服务 好处:实现跨团队的解藕,实现更高的并发(目前单机只能实现c10k)不用在拷贝代码,基础服务可以公用,更好的支持服务治理,能够更好的兼容云计算平台。 RPC 阅读全文
摘要:
微信公众号: "内核小王子" "觉得可以的话欢迎关注" 场景:公司对外网关对很多外部商户开放,运行多年一直正常,昨天某一个客户调用我们接口的时候频繁报connectiontimeout,异常如下: 该异常来自于httpclient,原因是创建连接超时,也就是tcp进行三次握手的时候失败,或者握手报文 阅读全文