写点什么

原理

2 人感兴趣 · 33 次引用

  • 最新
  • 推荐
https://static001.geekbang.org/infoq/9d/9dc29a584483ea3ada3c256ab5324d73.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

浅析 JAVA 日志中的几则性能实践与原理解释

用户头像
阿里技术
2023-12-14

程序记录日志的过程,就是将需要记录的内容写入到磁盘文件中的过程。

.NET6 中的 await 原理浅析

用户头像
EquatorCoco
2023-11-15

看过不少关于 await 的原理的文章,也知道背后是编译器给转成了状态机实现的,但是具体是怎么完成的,回调又是如何衔接的,一直都没有搞清楚,这次下定决心把源码自己跑了下,终于豁然开朗了

微信小程序底层框架实现原理|万字长文

用户头像
虎妞先生
2023-02-10

最近在掘金上学习了一本小册——《微信小程序底层框架实现原理》,加上以前做微信小程序的经验,结合自己的工作经历,深有感触,借此机会和大家分享一下学习工作心得。

https://static001.geekbang.org/infoq/50/50a4448c3888ff140947b7b978f35f56.webp?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

众生皆苦,我选 pnpm

用户头像
虎妞先生
2023-02-10

pnpm - 速度快、节省磁盘空间的软件包管理器 perfomance npm ,即 pnpm (高性能npm) 优势 快速 pnpm 是同类工具速度的将近 2 倍

https://static001.geekbang.org/infoq/53/53db25eef61dfc9c60c0d8505065cd47.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【译】日志:每个软件工程师都应该了解实时数据的统一抽象【三】

用户头像
Rae
2022-09-30

这部分内容首先指出这种日志处理的很大意义在于可以协调生产者和消费者不匹配的速度;其次,说明了其可以保持信息的有序,提供缓冲能力(其实就是生产和消费速度的协调),并提供一种状态维护的能力。最后非常简单地介绍了Kafka的日志压缩机制。

https://static001.geekbang.org/infoq/53/53db25eef61dfc9c60c0d8505065cd47.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【译】日志:每个软件工程师都应该了解实时数据的统一抽象【二】

用户头像
Rae
2022-09-30

非常经典的一篇博文,此文是 part two。这一部分通过提出问题,阐述问题的解结思路的方式展开。首先提出了数据集成的难题,包括应用系统中事件信息的大量涌现,难以处理;再加上多个系统之间的生产和消费。于是,Kafka这种消息队列中间件就应运而生。

https://static001.geekbang.org/infoq/53/53db25eef61dfc9c60c0d8505065cd47.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【译】日志:每个软件工程师都应该了解实时数据的统一抽象【一】

用户头像
Rae
2022-09-01

Jay Kreps 非常经典的一篇博文的第一部分。对日志进行了简单的介绍,引出了数据库同步、分布式共识、版本控制等一系列的话题,从本质上都是日志的处理。用文末核心的话加以总结:the log provides: producing a persistent, re-playable record of history.

深入浅出分布式事务的实现原理

用户头像
清风
2022-08-15

随着公司业务的规模和复杂度的提升,系统面临的环境也会更加复杂,很多系统都开始采用分布式架构,虽然解决了单体架构的某些弊端,但是也带来了诸多问题,分布式事务就是其中最难的问题之一。

深入浅出 sychronized 与 Lock 的实现原理

用户头像
清风
2022-08-14

本文从实现原理出发,深入分析了sychronized与Lock的异同,在深入的同时,并不拘泥于实现细节。

深入浅出 Spring 事务的实现原理

用户头像
清风
2022-06-08

事务毫无疑问是开发中非常重要的一环,如果不能透彻理解事务的原理,就会引发各种各样奇怪的问题。本文将系统而全面的分析Spring中事务的实现原理。

Docker 原理——数据包怎么发出去

用户头像
kof11321
2022-03-04

容器网络的数据包,是怎么发出去的

【得物技术】深入理解 synchronzied 底层原理

用户头像
得物技术
2021-09-29

synchronized是Java中的关键字,是一种同步锁。在多线程编程中,有可能会出现多个线程同时争抢同一个共享资源的情况,这个资源一般被称为临界资源。

https://static001.geekbang.org/infoq/d7/d7cbcbfe4b3a721b0c210ef4ef321098.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【redis 前传】自己手写一个 LRU 策略

用户头像
zxhtom
2021-07-13

我们知道redis很高效,那是别人告诉我们的,至于redis为什么那么快,你有没有仔细考虑过。今天我们手写一个LRU,redis里常用的一个策略

https://static001.geekbang.org/infoq/ec/ecc438c207da879511cc750011a7487e.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

☕️【Java 技术之旅】带你一起探究 String 类不可变的特性

用户头像
洛神灬殇
2021-06-09

在Java中String类的使用的频率可谓相当高。它是Java语言中的核心类,在java.lang包下,主要用于字符串的比较、查找、拼接等等操作。如果要深入理解一个类,最好的方法就是看看源码:

https://static001.geekbang.org/infoq/81/8158ecd396f86b86a5afcadeb9efbb5e.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

10 亿数据量只需要 100MB 内存,Redis 的位存储为什么这么牛?

用户头像
Java小咖秀
2021-04-23

本文主要和大家分享一下 redis 的高级特性:bit 位操作。 力求让大家彻底学会使用 redis 的 bit 位操作并掌握其底层实现原理!

NodeJs 中 Buffer 与 Stream 理解

用户头像
小风以北
2021-03-31

Stream流是一种数据传输手段,是端到端信息交换的一种方式,而且是有顺序的,是逐块读取数据、处理内容,用于顺序读取输入或写入输出。

https://static001.geekbang.org/infoq/12/12fbe8d3a797dc12786b7a5852df5823.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

《MySQL》系列 - select 查询语句到底是怎么执行的?

mysql 作为一个关系型数据库,在国内使用应该是最广泛的。也许你司使用 Oracle、Pg 等等,但是大多数互联网公司,比如我司使用得最多的还是 Mysql,重要性不言而喻。

https://static001.geekbang.org/infoq/5f/5f9f6dc9c23e525888ebb6d928f645e2.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Spring-Retry 重试实现原理,有点东西哈

用户头像
Java小咖秀
2021-03-24

Spring 实现了一套重试机制,功能简单实用。Spring Retry 是从 Spring Batch 独立出来的一个功能,已经广泛应用于 Spring Batch,Spring Integration, Spring for Apache Hadoop 等 Spring 项目。 本文将讲述如何使用 Spring Retry 及其实现原理。

https://static001.geekbang.org/infoq/be/be9c28549aa8ce6d640ed27c55e7d83e.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Eureka 部分机制记录

用户头像
常清静
2021-02-21

eureka 相关机制的实现,流程图记录,如自动故障感知&服务实例摘除&网络故障,自我保护机制,批处理机制等

https://static001.geekbang.org/infoq/8d/8d0a045631844105568487536fe1a6aa.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【得物技术】代码覆盖率原理与得物 app 实践

用户头像
得物技术
2021-01-15

随着项目迭代的不断深入,工程逻辑与用户场景日益复杂,传统的白盒测试体系已经无法适应苛刻的工程质量要求,质量评估也不再单纯的依赖bug率和性能指标,而需要精准的数据来量化代码质量,代码覆盖率就是其中的一项重要标准。

JAVA 并发编程原理与实战

用户头像
Geek_53983e
2020-12-29

在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能马上读到这个修改的值。

https://static001.geekbang.org/infoq/5e/5e8f8fa7f6cbe5fd3c615c6d3be3a2ba.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【得物技术】MySQL 多表关联同步到 ES 的实践

用户头像
得物技术
2020-12-11

线上问题:业务系统查询,涉及多表关联查询,条件维度较大且有模糊匹配需求,索引无法覆盖,导致查询性能较低。

https://static001.geekbang.org/infoq/d4/d4127bd3592cd6fdae32558c1eec99b7.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

图解 Node(上)——直击灵魂的十条拷问

用户头像
执鸢者
2020-08-30

近期小林迷恋上了Node这位小美女,倾慕之情溢于言表,为了打动她的芳心,决定接受直击灵魂深处的十大拷问,拷问内容分为两期,这是第一期,下周更新第二期。

https://static001.geekbang.org/infoq/51/515ac64581576caedeefa23e4187b93b.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

图解 JavaScript——代码实现(六种异步方案, 重点是 Promise、Async、发布 / 订阅原理实现,真香)

用户头像
执鸢者
2020-08-12

本节主要阐述六种异步方案:回调函数、事件监听、发布/订阅、Promise、Generator和Async。其中重点是发布/订阅、Promise、Async的原理实现,通过对这几点的了解,希望我们前端切图仔能够在修炼内功的路上更进一步。

https://static001.geekbang.org/infoq/4c/4c14fd00f8665590f051a5dab3784f4f.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Go: Go 调度器的任务窃取(Work-Stealing)

用户头像
陈思敏捷
2020-06-06

在Go中创建goroutine既方便又快捷。但是go在同一时间单核只能运行一个goroutine, 因此需要一种方式来停放其他goroutine来确保处理器负载均衡。

https://static001.geekbang.org/infoq/82/8224e11806a2edd2c7502ff35b35eeae.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

ArrayList 浅析

用户头像
章小传
2020-06-03

ArrayList是Java开发者使用最多的集合容器之一。本片文章通过源码的角度讲解ArrayList的原理。

https://static001.geekbang.org/infoq/17/1746e2a52433053d0334886d8a4bfdbc.png?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

【摘】Git- 从零单排 02 期

用户头像
卡尔
2020-05-30

书接上文,我们对Git有了一个基本的认知,并且基础工作也做好了。接下来,笔者就用一个实例,对照执行命令前后文件的变化,探索以下命令的运行过程。如果,看官对命令底层原理不感兴趣,只是想知道命令怎么用,就直接看翻到文章最后。

https://static001.geekbang.org/infoq/85/850866e49116c4aaafa0885bd45da88e.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Go: 应该使用指针还是结构体副本?

用户头像
陈思敏捷
2020-05-23

对于许多Go开发人员而言,就性能而言,系统地使用指针共享结构体而不是副本本身似乎是最佳选择。

https://static001.geekbang.org/infoq/af/aff2398b31e3c10a3f87f5810ff3e1df.jpeg?x-oss-process=image%2Fresize%2Cw_416%2Ch_234

Go: Trace 包探秘

用户头像
陈思敏捷
2020-05-23

Go为我们提供了一个工具,可在运行时启用跟踪并获得程序执行的详细视图。 借助trace软件包,可以通过测试的标识-trace启用此工具,从pprof进行实时跟踪,或者在我们的代码中的任何地方启用此工具。

原理_原理技术文章_InfoQ写作社区