Tech 导读 Redis是一个开源的内存中的数据结构存储系统,在实际的开发过程中,Redis已经成为不可或缺的组件之一,基于内存实现、合理的数据结构、合理的数据编码、合理的线程模型等特征不仅仅让Redis变得如此之快,同时也造就了Redis对更多或者复杂的场景的支持。 01 Redis的发家史 在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单 […]
Tech 导读 Redis是一个开源的内存中的数据结构存储系统,在实际的开发过程中,Redis已经成为不可或缺的组件之一,基于内存实现、合理的数据结构、合理的数据编码、合理的线程模型等特征不仅仅让Redis变得如此之快,同时也造就了Redis对更多或者复杂的场景的支持。 01 Redis的发家史 在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单 […]
出品 | OSC开源社区(ID:oschina2013) IntelliJ IDEA 2022.2 为远程开发功能带来了多项质量改进,使其更美观、更稳定。从 v2022.2 开始,IntelliJ IDEA 使用 JetBrains Runtime 17,后者可以从多方面增强 IDE 体验和性能。IntelliJ IDEA Ultimate 添加了对 Spring 6 和 […]
在字节码增强解密(上)的章节中,给大家介绍了字节码的基本结构、主流的字节码增强构架、以及各个架构的优缺点和应用建议。在本章节中,将从字节码的重载、JavaAgent、Dynamic Attach、以及对在线Debug的高级应用展开分析,给大家详细分解下字节码增强的实际应用。让你真正体会下字节码增强技术带来的丝般顺滑体验。 一、字节码的重载 在上一章节中,我们介绍了使用ASM […]
前言 字节码增强:指的是在Java字节码生成之后,对其进行修改,增强其功能,这种方式相当于对应用程序的二进制文件进行修改。 为什么要进行字节码增强呢?字节码增强可以用在什么地方呢?如何对字节码进行增强?增强的手段都有哪些?一起来看看吧 做为JAVA开发,你应该无数次的听过一句话:一次编译,到处运行。没错,这是JAVA的优势,但你有没有想过这究竟是为什么呢?Why??? 是因 […]
一、文章摘要 应用安全一直是一个非常重要的课题,2021年12月7日Log4j2爆出核弹级漏洞,Log4j2作为一款优秀的日志框架,其高使用率加上此漏洞利用难度低,导致企业安全风险剧增。那么猪八戒网是如何应对此类漏洞的呢? 此文主要讲述猪八戒在Java组件安全方面实施的防护措施,如何阻断存在安全漏洞的Java应用上线,在出现类似Log4j2这样的漏洞后如何及时发现哪些应用存 […]
背景 监控是服务端应用需要具备的一个非常重要的能力,通过监控可以直观的看到核心业务指标、服务运行质量等,而要做到可监控就需要进行相应的监控埋点。大家在埋点过程中经常会编写大量重复代码,虽能实现基本功能,但耗时耗力,不够优雅。根据“DRY(Don't Repeat Yourself)"原则,这是代码中的“坏味道”,对有代码洁癖的人来讲,这种重复是不可接受的。 那有什么方法解决 […]
01 背景 购物车面临的挑战: 1)新业务:随着业务形态的丰富,购物车在不断支持各种新业务,依赖的外部接口也随之增加; 2)下沉:一些前端调用的接口下沉到购物车中台; 3)前置:结算流程很多业务前置到购物车中,如优惠券、京豆; 4)扩容:为改善用户体验购物车可容纳的商品数量在不断增长; 这些导致购物车依赖的RPC接口数量及分页调用次数都在不断增加。购物车作为交易流程开端,本 […]
Netty是JVM中最著名、使用最广泛的异步网络应用程序框架之一。这个视频将向你展示Netty本身是如何工作的,并解释为什么会做出一些设计选择。除此之外,它还将包括关于Netty社区在开发过程中所面临的许多jvm相关的挑战,并解释采取了什么行动来解决这些问题等等。 《Netty - One Framework to rule them […]
B站视频地址:https://www.bilibili.com/video/BV1ia411X7SW (点击‘阅读原文’直达) 垃圾收集在很大程度上消除了在编写Java代码时考虑内存管理的需要,但是理解和最小化应用程序的内存使用仍然有好处,特别是随着在嵌入式设备上部署Java的数量不断增加 […]
一 相关概念 影子,我们都知道是什么意思,百度百科:物体挡住光线后,映在地面或其他物体上的形象。如果用在我们技术领域,比如数据方面,可以理解成是数据的一份拷贝,也就是“原封不动”的进行复制。那么把“影子”用在全链路压测是怎样的呢? 影子库:实际中使用的数据库的完整数据库数据拷贝,比如进行压测数据隔离的影子数据库,与生产数据库应当使用相同的配置。 影子表:是实际 […]
腾讯面试官:说说Redis的哈希表是如何扩容的? 面试者:what?额......,(我懵了!)这个我还没了解过,尬...。但我了解java里面的HashMap的扩容,我觉得应该有相通的一些原理在里面吧,然后我就把HashMap的扩容机制balabla的说了一遍...... Redis中使用哈希表作为底层实现的是叫做字典的数据结构,字典又称为符号表、关联数组或映射(map) […]
I/O多路复用(multiplexing)的本质是通过一种机制(系统内核缓冲I/O数据),让单个进程可以监视多个文件描述符,一旦某个描述符就绪(一般是读就绪或写就绪),能够通知程序进行相应的读写操作。 01 select int select (int n, fd_set *readfds, fd_set  […]
点击上方蓝色字关注我们~ 01 阻塞I/O blocking i/o ①等待数据:需要等待数据拷贝进内核 ②需要等内核将数据复制到用户空间。 ◇优点:①能够及时返回数据,无延迟。②内核开发者省事。 ◇缺点:对用户来说处于等待就要付出性能的代价了 02 非阻塞I/O nonblocking i/o 用户进程需要不断的主动询问kernel数据好了没有。 用户进程发出read操作 […]
超实用的30多款idea插件,有百万级下载量的优秀插件,你值得拥有! 好的工具助你事半功倍,快速协助敲出更漂亮更有效率的代码。搬运工这里收集了很不错的IDEA插件,相信你一定会喜欢的。 〓必备插件列表: Grep Console :自定义控制台输出格式插件,下载量115W+,推荐指数:☆☆☆☆ FindBugs-IDEA :潜在Bug检查,下载量108W+,推荐指数:☆☆☆ […]
点击上方蓝色字关注我们~ 最近在网上看到别人提出了这个问题 : 现在从源码的角度简单剖析其原因。 我们知道,一般在配置注册中心eureka的地址类似这个: eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/ 而访问eureka注册中心控制台页面管理则是:http://localho […]
CRUD (1)Event Sourcing (1)graphql (1)id (1)quarkus (1)rest (1)RocketMQ (1)Spring Boot (1)zk (1)zookeeper (1)事务消息 (1)值对象 (1)原子性 (1)唯一ID (1)子域 (1)幂等 (1)康威定律 (1)微服务架构 (1)总体方案 (1)持续集成 (1)支撑域 (1)故障恢复 (1)数据架构图 (1)方案选型 (1)日记 (1)服务发现 (1)服务治理 (1)服务注册 (2)机房 (1)核心域 (1)泄漏 (1)洋葱架构 (1)消息队列 (2)源码剖析 (1)熔断 (1)生态 (1)画图工具 (1)研发团队 (1)线程 (2)组织架构 (1)编码 (1)视频 (10)读写分离 (1)贵州 (1)软件设计 (1)迁移 (1)通用域 (1)集群化 (1)雪花算法 (1)顺序消息 (1)
COPYRIGHT © 2014-2024 verysu.com . ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang