码农架构

公众号:码农架构
280 篇文章
23.7K 次阅读
27 人订阅

全部文章

码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

JDK中常用于监控及诊断工具有哪些?

你可能用过ps命令,打印所有正在运行的进程的相关信息。JDK 中的jps命令。沿用了同样的概念:它将打印所有正在运行的 Java 进程的相关信息。

10440
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

Kafka 中所谓的 ‘零拷贝’ 技术到底是什么?

除了消息顺序追加、页缓存等技术,Kafka 还使用零拷贝技术来进一步提升性能。所谓的零拷贝是指将数据直接从磁盘文件复制到网卡设备中,而不需要经由应用程序之手。零...

8740
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

Kafka 是怎么存储的?为什么速度那么快?

Kafka 依赖于文件系统(更底层地来说就是磁盘)来存储和缓存消息。在我们的印象中,对于各个存储介质的速度认知大体同下图所示的相同,层级越高代表速度越快。很显然...

13581
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

深入理解Kafka消费端分区分配策略

Kafka 提供了消费者客户端参数 partition.assignment.strategy 来设置消费者与订阅主题之间的分区分配策略。默认情况下,此参数的值...

9840
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

Redis 是如何实现高可用的?

高可用是通过设计,减少系统不能提供服务的时间,是分布式系统的基础也是保障系统可靠性的重要手段。而 Redis 作为一款普及率最高的内存型中间件,它的高可用技术也...

7140
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

Redis 中如何实现的消息队列?实现的方式有几种?

细心的你可能发现了,本系列课程中竟然出现了三个课时都是在说消息队列,第 10 课时讲了程序级别的消息队列以及延迟消息队列的实现,而第 15 课时讲了常见的消息队...

8440
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

Redis 怎样实现的分布式锁?

“锁”是我们实际工作和面试中无法避开的话题之一,正确使用锁可以保证高并发环境下程序的正确执行,也就是说只有使用锁才能保证多人同时访问时程序不会出现问题。

5440
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

Redis 的过期策略和内存淘汰机制有什么区别?

Redis 和 MySQL 是面试绕不过的两座大山,他们一个是关系型数据库的代表(MySQL),一个是键值数据库以及缓存中间件的一哥。尤其 Redis 几乎是所...

8770
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

关系型数据和文档型数据库有什么区别?

关系数据库(Relational Database)是建立在关系模型基础上的数据库,借助于几何代数等数学概念和方法来处理数据库中的数据。所谓关系模型是一对一、一...

10740
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

MySQL 的优化方案有哪些?

性能优化(Optimize)指的是在保证系统正确性的前提下,能够更快速响应请求的一种手段。而且有些性能问题,比如慢查询等,如果积累到一定的程度或者是遇到急速上升...

6340
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

MySQL 的运行机制是什么?它有哪些引擎?

数据库是 Java 程序员面试必问的知识点之一,它和 Java 的核心面试点共同组成了一个完整的技术面试。而数据库一般泛指的就是 MySQL,因为 MySQL ...

6940
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

Java 虚拟机:深入理解Java虚拟机是怎么实现synchronized的?

在 Java 程序中,我们可以利用 synchronized 关键字来对程序进行加锁。它既可以用来声明一个 synchronized 代码块,也可以直接标记静态...

10660
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

Java 虚拟机 :Java内存模型

这里我定义了两个共享变量 a 和 b,以及两个方法。第一个方法将局部变量 r2 赋值为 a,然后将共享变量 b 赋值为 1。第二个方法将局部变量 r1 赋值为 ...

10130
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

Java 虚拟机:垃圾回收(下)

在读博士的时候,我曾经写过一个统计 Java 对象生命周期的动态分析,并且用它来跑了一些基准测试。

8030
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

Java 虚拟机:垃圾回收(上)

Java 虚拟机的自动内存管理,将原本需要由开发人员手动回收的内存,交给垃圾回收器来自动回收。不过既然是自动机制,肯定没法做到像手动回收那般精准高效 [1] ,...

5360
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

Java 虚拟机:Java对象的内存布局

在 Java 程序中,我们拥有多种新建对象的方式。除了最为常见的 new 语句之外,我们还可以通过反射机制、Object.clone 方法、反序列化以及 Uns...

11960
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

Java 虚拟机:JVM是怎么实现invokedynamic的?(下)

上回讲到,为了让所有的动物都能参加赛马,Java 7 引入了 invokedynamic 机制,允许调用任意类的“赛跑”方法。不过,我们并没有讲解 invoke...

1930
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

Java 虚拟机:JVM是怎么实现invokedynamic的?(上)

这一天,先进分子牵着一头鹿进来,说要参加赛马。咱部里的老学究 Java 就不同意了呀,鹿又不是马,哪能参加赛马。

5330
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

你的架构图和流程图用什么工具画的呢?

我这里目前个人比较常用两种,先前用Window系统的时候工具还比较多,换成Mac后现在主要使下面两款!

5740
码农架构

蚂蚁科技集团股份有限公司 · 高级软件架构师 (已认证)

Kafka 中的消息存储在磁盘上的目录布局是怎样的?

Kafka 中的消息是以主题为基本单位进行归类的,各个主题在逻辑上相互独立。每个主题又可以分为一个或多个分区,分区的数量可以在主题创建的时候指定,也可以在之后修...

5850

扫码关注云+社区

领取腾讯云代金券