置顶
发表了博客
09/25 10:05

后端服务之应用预热 | 京东云技术团队

一 背景 C端服务应用升级和重启,导致耗时瞬时抖动,业务超时,应用监控报警,上游感知明显,导致用户体验变差。 二 应用升级重启导致抖动的原因 1 C端服务应用升级和重启的冷启动阶段,它需要重新加载和初始化各种资源,例如数据库连接、缓存数据等,导致耗时瞬时飙升。 2 应用重启后,本地缓存失效,应用需要重新加载数据,导致耗时变长。 3 应用重启后,有大量请求堆积,导致系统负载增加,线程处理不及时,导致系统响应变慢... 展开更多

收藏 2
0
置顶
发表了博客
09/25 10:00

一文浅谈Mockito使用 | 京东云技术团队

一、前期准备~ 1、准备工作 <!--mockito依赖--> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>2.7.19</version> <scope>test</scope> </dependency> <!-- junit依赖 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> 2、入门知识 1)Moc...... 展开更多

收藏 2
0
置顶
发表了博客
09/25 09:37

一个 println 竟然比 volatile 还好使? | 京东云技术团队

前两天一个小伙伴突然找我求助,说准备换个坑,最近在系统复习多线程知识,但遇到了一个刷新认知的问题…… > 小伙伴:Effective JAVA 里的并发章节里,有一段关于可见性的描述。下面这段代码会出现死循环,这个我能理解,JMM 内存模型嘛,JMM 不保证 stopRequested 的修改能被及时的观测到。 ``` static boolean stopRequested = false; public static void main(String[] args) throws InterruptedException { Thread backgr... 展开更多

收藏 2
0
置顶
程序员
发表了博客
09/25 16:09

JDK21新特性Record Patterns记录模式详解

## 1 摘要 通过使用记录模式来增强Java编程语言,以解构记录值。记录模式和类型模式可嵌套使用,从而实现强大、声明式和可组合的数据导航和处理形式。 ## 2 发展史 由 [JEP 405](https://openjdk.org/jeps/405) 提出的预览功能,并在JDK 19发布,然后由 [JEP 432](https://openjdk.org/jeps/432) 再次预览,并在JDK 20发布。该功能与用于switch的模式匹配(JEP 441)共同演进,并且二者有相当大的交互作用。本JEP提议在持续的经... 展开更多

收藏 0
0
置顶
运营/编辑
发表了博客
09/20 20:59

开源框架中的责任链模式实践

作者:vivo 互联网服务器团队-Wang Zhi 责任链模式作为常用的设计模式而被大家熟知和使用。本文介绍责任链的常见实现方式,并结合开源框架如Dubbo、Sentinel等进行延伸探讨。 一、责任链介绍 在GoF 的《设计模式》一书中对责任链模定义的:将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对象串成一条链,并沿着这条链传递这个请求,直到链上的某个接收对象能够处理它为止或者所有接收对象处理一遍。 ... 展开更多

收藏 2
0
置顶
程序员
发表了博客
09/21 09:03

什么是 x10 开发工具?「GitHub 热点速览」

![](https://img2023.cnblogs.com/blog/759200/202309/759200-20230921004642390-1463972183.jpg) 都听过 10x 工程师,一个人顶得过十个人。但是并不是每个人都是 10x 工程师,但是有些效率工具可能让你变成 2x、3x 的工程师。比如,这周火爆的 3D 游戏引擎 FlaxEngine 有着强大的脚本和即开即用的功能特性,极简只有 2.3 kb 的 JS 工具库 nuejs,还有网页版的 whisper-turbo 快速搞定你的语音问题。 最后,答应我试试 ls 替代品... 展开更多

收藏 1
0
置顶
程序员
发表了博客
09/25 08:41

好用!这些工具国庆一定要研究下「GitHub 热点速览」

![](https://img2023.cnblogs.com/blog/759200/202309/759200-20230925005755019-94640837.jpg) 再过 3 天就要开始一年最长的假期——国庆长假了,这次除了宅家、出游之外,多了一个新选项:研究下哪些项目可以安排上,来辅助自己的日常开发。 你觉得一周获得 4k star 的 hyperdx 如何,它能让你快速定位生产环境哪里有问题;不停机也能部署新服务的 kamal 也许可以上你的研究榜单。 还有非常好玩的知识图谱可视化生成工具 inst... 展开更多

收藏 0
0
置顶
发表了问答
09/24 11:52

Java 正则替换为位数相同的字符串

正则给数字脱敏发现一个问题: String number = "88888888"; //长度不确定,但是位数大于4位 phone = phone.replaceAll("(\\d{2})\\d{4}(\\d{2})", "$1****$2"); 如果要根据字符串的长度自动脱敏,并且脱敏后的数字位数和脱敏后的字符串长度一致,不知道该怎么写这个正则匹配?

收藏 0
置顶
发表了博客
09/22 10:07

聊聊wireshark的进阶使用功能 | 京东云技术团队

1. 前言 emmm,说起网络知识学习肯定离不来wireshark工具,这个工具能够帮助我们快速地定位网络问题以及帮助正在学习网络协议这块的知识的同学验证理论与实际的一大利器,平时更多的只是停留在初步的使用阶段。也是利用部门内部的网络兴趣小组的讨论机会,私下对wireshark的一些进阶功能,比如专家模式、图表等功能进行调研,并结合实际场景抓包分析对功能进行对照说明。 2. wireshark中的分析菜单——专家模式 2.1什么是专... 展开更多

收藏 0
0
置顶
发表了博客
09/22 09:47

【效率提升】maven 转 gradle 实战 | 京东云技术团队

一、灵魂三问 1、gradle 是什么? 一个打包工具, 是一个开源构建自动化工具,足够灵活,可以构建几乎任何类型的软件,高性能、可扩展、能洞察等。其中洞察,可以用于分析构建过程中数据,提供分析参考,方便排查问题和不断优化构建性能,以下一次编译分析报告。 2、有什么优势 参考官方文章,针对包含10 子模块的工程,相对 maven 构建速度,大概有 2-3 倍的性能提升,增量编译大概 7 倍的性能提升,参考官方 实测对比: grad... 展开更多

收藏 0
1
置顶
发表了博客
09/22 09:29

深入浅出线程池 | 京东云技术团队

一、线程 1、什么是线程 线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际 运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线 程并行执行不同的任务。 2、如何创建线程 2.1、JAVA中创建线程 /** * 继承Thread类,重写run方法 */ class MyThread extends Thread { @Override public void run() { System.out.println("m...... 展开更多

收藏 19
3
置顶
发表了博客
09/21 09:48

CocoaPods 在iOS开发中养活了这么多项目,它到底是个啥? | 京东云技术团队

对于iOS开发者而言,CocoaPods并不陌生,通过pod相关的命令操作,就可以很方便的将项目中用到的三方依赖库资源集成到项目环境中,大大的提升了开发的效率。CocoaPods作为iOS项目的包管理工具,它在命令行背后做了什么操作?而又是通过什么样的方式将命令指令声明出来供我们使用的?这些实现的背后底层逻辑是什么?都是本文想要探讨挖掘的。 一、Ruby是如何让系统能够识别已经安装的Pods指令的? 我们都知道在使用CocoaPods管理项... 展开更多

收藏 0
0
置顶
发表了博客
09/21 15:54

十行代码让日志存储降低80%

前言 履约管理是一个面向物流商家的OMS工作台,自从初代目把架子搭起来之后,就没有继续投入了,后来一直是合作伙伴同学在负责日常维护和需求支撑。经过几年的野蛮生长,系统已经杂草丛生,乱象百出。再后来,甚至一度成为一块无主之地,走行业共建的方式来支持。对于一个不支持行业隔离的系统,行业共建意味这个系统将快速腐化。两年前我开始接管履约管理,来到这片广阔的蛮荒之地,正如所有那些渴望造物乐趣并且手里刚好有锤子... 展开更多

收藏 9
2
置顶
发表了博客
09/21 12:23

Java 21 新特性:Record Patterns

Record Patterns 第一次发布预览是在JDK 19、随后又在JDK 20中进行了完善。现在,Java 21开始正式推出该特性优化。下面我们通过一个例子来理解这个新特性。 ```java record Point(int x, int y) {} static void printSum(Object obj) { if (obj instanceof Point p) { int x = p.x(); int y = p.y(); System.out.println(x+y); } } ``` 上述代码中定义了一个名为Point的[record类](https://www.didispace.com//java-features/ja... 展开更多

收藏 7
0
置顶
发表了博客
09/21 10:52

一文给你讲清楚BeanFactory 和 FactoryBean 的关联与区别

本文分享自华为云社区 《BeanFactory 和 FactoryBean 的关联与区别》,作者:战斧。 一、概括性的回答 两者其实都是Spring提供的接口,如下 public interface FactoryBean<T> { T getObject() throws Exception; Class<?> getObjectType(); boolean isSingleton(); } public interface BeanFactory { String FACTORY_BEAN_PREFIX = "&"; Object getBean(String name) throws BeansException; <T> T getBean(String...... 展开更多

收藏 0
0
置顶
程序员
发表了问答
09/21 10:42

png图片可以转换成为.drawio的架构图类型吗??有没有什么图形转换工具??

png图片可以转换成为.drawio的架构图类型吗??有没有什么图形转换工具?? 最近需要画架构图??

收藏 0
置顶
发表了博客
09/20 15:05

数据探索神器:火山引擎 DataLeap Notebook 揭秘

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 背景介绍 Notebook 解决的问题 部分任务类型(python、spark等)在创建配置阶段,需要进行分步调试; 由于探索查询能力较弱,部分用户只能通过其他平台 or 其他途径进行开发调试,但部署到 Dorado时,又发现行为不一致等问题(运行环境问题),整体体验较差,需要提升探索查询模块的能力; 目前探索查询仅支持 SQL,可支持更多语言类型,... 展开更多

收藏 0
0
置顶
发表了问答
09/20 15:34

程序员空闲时间应该继续卷技术,还是找其他副业?

最近几年经济下行,企业数量锐减,资本保守的情况下,互联网行业人才饱和,就业难度越来越大。对于普通的程序员来说,应该利用有限时间继续卷技术还是去找其他可能的副业。

收藏 6
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页